我正在使用highcharts生成从数据库中提取的图形数据。
我在使用导出模块时遇到问题。我已经包含了导出属性:
exporting{
enabled:true
}
但按钮没有出现......
我也将exports.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
}
})
答案 0 :(得分:15)
您使用的是哪个版本的Highcharts?哪个版本的jQuery?
目前是v2.1.6,我建议您使用最新版本,因为它们不断修复错误,添加新功能等。
在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>
...
默认情况下启用导出模块,因此无需拥有您发布的代码,因此您可以将其删除:
exporting{
enabled:true
}
2- 第二:请务必正确发布exporting-server/index.php
文件。
在这里,您可以获得有关导出模块安装的官方文档:
- 导出模块
醇>从版本2.0开始,导出模块可用于Highcharts,允许用户下载图表的图像或PDF。该模块包含一个额外的JavaScript文件exports.js,以及用PHP编写的Web服务或服务器模块。 Highslide Software免费提供出口Web服务。如果在图表中包含导出模块,则右上角会出现两个按钮。一个按钮打印图表,仅在客户端完成。另一个按钮处理导出。默认情况下,图表的SVG表示由POST发送到http://export.highcharts.com,在那里使用Apache的Batik转换器转换为PDF,PNG或JPEG。
有关可用选项的完整文档,请参阅导航和导出参考项。另请参阅相关出口的成员参考中的“方法和属性”。
您可以在此处查看有关导出模块的配置选项:http://www.highcharts.com/ref/#exporting
希望它对你有所帮助。
答案 1 :(得分:0)
确保脚本标记
型=&#34;文本/ JavaScript的&#34;