web-dev-qa-db-ja.com

ハイチャート-エクスポートモジュール

ハイチャートを使用して、データベースから取得したグラフィカルデータを生成しています。

エクスポートモジュールの使用に問題があります。エクスポートプロパティを含めました:

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
      }
   })
12
user906568

使用している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ファイルを正しく公開してください。

ここに、エクスポートモジュールのインストールに関する公式ドキュメントの内容があります。

  1. モジュールのエクスポート

バージョン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

それがあなたを助けることを願っています。

15
diosney

スクリプトタグに

type = "text/javascript"

0
user1385616