ハイチャートを使用して、データベースから取得したグラフィカルデータを生成しています。
エクスポートモジュールの使用に問題があります。エクスポートプロパティを含めました:
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
}
})
使用しているHighchartsのバージョンはどれですか? jQueryのどのバージョンですか?
現在はv2.1.6ですが、バグの修正や新機能の追加などを継続的に行っているため、最新リリースを使用することをお勧めします。
V2.0より前では、エクスポート機能はサポートされていません。
エクスポートモジュールを機能させるために必要なことは次のとおりです。
1-First:次のように、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-Second:exporting-server/index.php
ファイルを正しく公開してください。
ここに、エクスポートモジュールのインストールに関する公式ドキュメントの内容があります。
- モジュールのエクスポート
バージョン2.0から、Highchartsでエクスポートモジュールを使用できるようになりました。これにより、ユーザーはチャートの画像またはPDFをダウンロードできます。このモジュールは、追加のJavaScriptファイルexporting.jsと、PHPで記述されたWebサービスまたはサーバーモジュールで構成されています。 Highslide Softwareは、エクスポートWebサービスを無料で提供しています。チャートにエクスポートモジュールを含めると、右上に2つのボタンが表示されます。 1つのボタンでチャートを印刷します。これはクライアント側でのみ実行されます。もう1つのボタンはエクスポートを処理します。デフォルトでは、チャートのSVG表現はPOST to http://export.highcharts.com に送信され、ApacheのBatikコンバーターを使用してPDFに変換されます。 、PNGまたはJPEG。
使用可能なオプションの完全なドキュメントについては、ナビゲーションとエクスポートの参照項目を参照してください。エクスポートに関連するメンバーについては、リファレンスの「メソッドとプロパティ」も参照してください。
ここで、エクスポートモジュールに関する構成オプションを確認できます。 http://www.highcharts.com/ref/#exporting
それがあなたを助けることを願っています。
スクリプトタグに
type = "text/javascript"