Javascript 海图-导出模块
我使用highcharts生成从数据库中提取的图形数据 我在使用导出模块时遇到问题。我已将导出属性包括在内:Javascript 海图-导出模块,javascript,jquery,animation,export,highcharts,Javascript,Jquery,Animation,Export,Highcharts,我使用highcharts生成从数据库中提取的图形数据 我在使用导出模块时遇到问题。我已将导出属性包括在内: exporting{ enabled:true } 但是按钮没有出现 我还将exporting.js链接到该文件…没有按钮出现 还有其他人有这个问题吗 编辑: 代码如下: $.ajax({ type:"POST", url: "retrievechartdata.php", data: {questi
exporting{
enabled:true
}
但是按钮没有出现
我还将exporting.js链接到该文件…没有按钮出现
还有其他人有这个问题吗
编辑:
代码如下:
$.ajax({
type:"POST",
url: "retrievechartdata.php",
data: {questionId:qId, questionIdTwo:qIdTwo, title:title, titleTwo:titleTwo, from:from, to:to},
dataType: "json",
success: function(data) {
//$("#response").html("<div class='successMessage'>"+ data.valuesTwo +"</div>");
var maxY = parseInt(data.max) + 1;
var minY = parseInt(data.min);
if(minY > 0){
minY = 0;
}else{
minY -= 1;
}
var cdata = new Array();
cdata= data.values.split(',');
for(var i=0;i<cdata.length;i++)
{
cdata[i]= parseInt(cdata[i]);
}
var leg = false;
var title = data.questionTitle;
if(data.valuesTwo != "FALSE"){
leg = true;
title += " & "+data.questionTitleTwo;
var cdataTwo = new Array();
cdataTwo = data.valuesTwo.split(',');
for(var i=0;i<cdataTwo.length;i++)
{
cdataTwo[i]= parseInt(cdataTwo[i]);
}
}
chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
zoomType: 'x',
spacingRight: 20
},
credits: {
enabled: false
},
title: {
text: title
},
subtitle: {
text: document.ontouchstart === undefined ?
'Click and drag in the plot area to zoom in' :
'Drag your finger over the plot to zoom in'
},
xAxis: {
type: 'datetime',
maxZoom: 14 * 24 * 3600000, // fourteen days
lineWidth: 1,
lineColor: '#999999',
title: {
text: 'Date'
}
},
yAxis: {
title: {
text: data.questionTitle
},
labels: {
y: 2
},
lineWidth: 1,
lineColor: '#999999',
gridLineWidth: 1,
gridLineColor: '#eaeaea',
min: minY,
max: maxY,
startOnTick: false,
showFirstLabel: false
},
tooltip: {
shared: true
},
legend: {
enabled: leg
},
plotOptions: {
area: {
Color: {
linearGradient: [0, 0, 0, 600],
stops: [
[0, 'rgb(69, 114, 167)'],
[1, 'rgba(2,0,0,0)']
]
},
lineWidth: 1,
marker: {
enabled: false,
states: {
hover: {
enabled: true,
radius: 5
}
}
},
shadow: false,
states: {
hover: {
lineWidth: 1
}
}
}
},
series: [{
type: 'spline',
name: data.questionTitle,
pointInterval: 24 * 3600 * 1000,
pointStart: Date.UTC(data.year, data.month, data.day),
data: cdata,
lineColor: '#f6a828',
color: '#418ed6'
},
{
type: 'spline',
name: data.questionTitleTwo,
pointInterval: 24 * 3600 * 1000,
pointStart: Date.UTC(data.year, data.month, data.day),
data: cdataTwo,
lineColor: '#808080',
color: '#ff0000'
}],
exporting: {
enabled: true
}
})
$.ajax({
类型:“POST”,
url:“retrievechartdata.php”,
数据:{questionId:qId,questionIdTwo:qIdTwo,title:title,titleTwo:titleTwo,from:from,to:to},
数据类型:“json”,
成功:功能(数据){
//$(“#响应”).html(“+data.valuesTwo+”);
var maxY=parseInt(data.max)+1;
var minY=parseInt(data.min);
如果(最小值>0){
minY=0;
}否则{
minY-=1;
}
var cdata=新数组();
cdata=data.values.split(',');
对于(var i=0;i您正在使用哪个版本的Highcharts?哪个版本的jQuery
目前是v2.1.6,我建议您使用最新版本,因为他们正在不断修复bug,添加新功能,等等
在v2.0之前,不支持导出功能
要使导出模块正常工作,您只需执行以下操作:
1-首先:在highcharts脚本之后添加js脚本,如下所示:
...
<script type="text/javascript" src="../js/highcharts.js"></script>
<!-- 1b) Optional: the exporting module -->
<script type="text/javascript" src="../js/modules/exporting.js"></script>
...
2-第二步:确保正确发布导出服务器/index.php的文件
下面是有关导出模块安装的官方文档:
导出模块
从2.0版开始,Highcharts提供了一个导出模块,允许用户下载图表的图像或PDF。该模块由一个额外的JavaScript文件export.js和一个用PHP编写的web服务或服务器模块组成。Highslide软件免费提供导出web服务。如果包括导出模块e在图表中,两个按钮将出现在右上角。一个按钮打印图表,这仅在客户端完成。另一个按钮处理导出。默认情况下,图表的SVG表示形式通过POST发送到,并使用Apache的Batik converter将其转换为PDF、PNG或JPEG
有关可用选项的完整文档,请参见导航和导出参考项。另请参见关联到导出的成员参考中的“方法和属性”下
在这里,您可以看到有关导出模块的配置选项:
希望它对您有所帮助。确保脚本标记
type=“text/javascript”我正在运行jQuery的v1.6.2和highcharts的v2.1.6…我的导出模块没有出现…@user906568:我更改了上一个版本号,似乎是输入错误;)。目前我使用的库版本与您相同,我没有这个问题。您可以发布Highcharts初始化代码以查看是否有问题吗?@user906568:您可以发布AJAX返回数据的示例吗?
exporting{
enabled:true
}