1

今日、jqPlot の最新バージョンをダウンロードして Plot にデータを入力したところ、DateAxisRenderer の「ハングアップ」問題が発生しました。少なくとも、これが問題かもしれないと思います。

この修正プログラム (http://www.cefolger.net/2012/02/jqplot-crashhanginfinite-loop-in.html) を挿入しようとしましたが、まだ機能していません。

私のセットアップは次のとおりです。

<div id="history_chart" stlye="height: 300px; width: 500px;">

</div>

<script type="text/javascript">
    $(function(){
        var history_data = <?php echo json_encode($history_data); ?>;
        var historyDataRenderer = function(){
            console.log(history_data);
            return history_data;
        }
        var history_plit = $.jqplot('history_chart',[], {
            title: "Tarifhistorie",
            dataRenderer: historyDataRenderer,
            axes: {
                xaxis:{
                    renderer: $.jqplot.DateAxisRenderer,
                    tickOptions: '%e.%#m.%Y (%#H:%#M:%#S)'
                },
                yaxis:{}
            }
        });
    });
</script>

私が通過するデータ:

[["29.02.2012 16:11", "1"], ["26.03.2012 15:56", "2"], ["26.03.2012 15:57", "6"], ["26.03.2012 15:57", "1"], ["27.03.2012 11:33", "3"], ["27.03.2012 11:36", "1"], ["27.03.2012 11:36", "3"], ["27.03.2012 11:36", "2"], ["27.03.2012 11:36", "1"], ["28.03.2012 11:35", "1"], ["28.03.2012 11:38", "1"], ["28.03.2012 11:59", "1"], ["28.03.2012 12:03", "1"]]

リスト形式:

  • 29.02.2012 16:11,1
  • 26.03.2012 15:56,2
  • 26.03.2012 15:57,6
  • 26.03.2012 15:57,1
  • 27.03.2012 11:33,3
  • 27.03.2012 11:36,1
  • 27.03.2012 11:36,3
  • 27.03.2012 11:36,2
  • 27.03.2012 11:36,1
  • 28.03.2012 11:35,1
  • 28.03.2012 11:38,1
  • 28.03.2012 11:59,1
  • 28.03.2012 12:03,1

tickOptions を削除して history_data を直接追加 + history_data の周りに括弧を追加すると機能しますが、日付のティックが 4 日間であり、より正確なティックが必要なため、あまり満足できません。

<script type="text/javascript">
    $(function(){
        $.jqplot.config.enablePlugins = true;
        var history_data = <?php echo json_encode($history_data); ?>;

        var historyDataRenderer = function(){
            //console.log(history_data);
            for(var i=0;i<history_data.length;i++){
                var randString = (""+Math.random(1568));
                history_data[i][0] = history_data[i][0] + ":"+randString.substring(2, 4);
            }
            console.log(history_data);
            return history_data;
        }
        historyDataRenderer();
        var history_plot = $.jqplot('history_chart', [history_data], {
            title: "Tarifhistorie",
            /*dataRenderer: historyDataRenderer,*/
            axes: {
                xaxis:{
                    renderer: $.jqplot.DateAxisRenderer
                },
                yaxis:{
                    min: 0,
                    max: 10
                }
            },
            highlighter: {
                show: true,
                sizeAdjust: 7.5
            },
            cursor: {
                show: false
            }
        });
    });
</script>
4

0 に答える 0