37

不規則なデータがあります。ハイチャートを使用すると、チャートがうまく描画されます。

$(function() {
  var chart = new Highcharts.Chart({
    chart: {
      renderTo: 'chart'
  },
  xAxis: {
    type: 'datetime'
  },
  series: [{
    name: 'Volume',
    data: chart_arr,
  }]
});
});

http://jsfiddle.net/KnTaw/9/

しかし、私はたくさんのデータを持っているので、日付を拡大して高在庫を選択する必要があります。次に、奇妙なことが起こります。x軸が非線形になります。

$(function() {
  var chart2 = new Highcharts.StockChart({
    chart: {
      renderTo: 'chart2'
    },
    rangeSelector: {
      selected: 0
    },
    xAxis: {
      type: 'datetime'
    },
    series: [{
      name: 'val',
      data: chart_arr,
      type : 'area',
    }]
  });
});

http://jsfiddle.net/Mc3mW/1/

1月6日20:00〜20:30の30分範囲のデータでは、1月11〜13日の2日よりも多くのスペースが割り当てられることに注意してください。(もちろんデータは同じです。)

ハイストックのx軸を強制的に線形にするにはどうすればよいですか?または、ハイチャートの下部ズームツールを有効にするにはどうすればよいですか?ありがとうございました。

4

2 に答える 2

59

xAxis.ordinalプロパティをに設定する必要があります。falseこれはtrueデフォルトです。True値は、ポイントがスペース(ピクセル)に対して一定の間隔で配置される必要があることを示し、時間Falseに対して一定の間隔で配置されるポイントを変更します

xAxis: {       
    ordinal: false
}

線形x軸| Highstock @ jsFiddle

于 2012-11-18T10:23:57.593 に答える
0

HighChartsJavaScriptライブラリを使用してチャートをズームすることができます。設定する必要のあるプロパティはzoomTypeです

ユーザーがマウスをドラッグしてズームできる寸法を決定します。x、y、またはxyのいずれかになります。デフォルトは「」です。

ここで例を見ることができます。特定の場所をズームするには、マウスの左ボタンを押したまま、ズームする領域を選択します。

HTMLコード:

<div id="container" style="height: 400px"></div>​

JavaScriptコード:

$(function () {
    var chart = new Highcharts.Chart({
        chart: {
            renderTo: 'container',
            type: 'line',
            zoomType: 'x'
        },
        
        xAxis: {
            categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
        },
        
        series: [{
            data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]        
        }]
    });
});​

また、ズームイベント時に「ズームのリセット」ボタンが自動的に表示され、押すとチャートのどの部分が表示されるかを簡単に操作できます。

とにかく、ズーム設定、イベント、ボタンの詳細と例については、こちらの「Highchartsオプションリファレンス」を参照してください。検索に「ズーム」と入力するだけです。

他の質問については、HighStock APIによる「StockChartを線形にする方法」は、チャートのデフォルトのタイプが線形です。ここで起こっていることは、seriesプロパティで設定したareaオプションが原因です。このように削除するだけで、折れ線グラフが得られます。

$(function() {
  var chart2 = new Highcharts.StockChart({
    chart: {
      renderTo: 'chart2'
    },
    rangeSelector: {
      selected: 0
    },
    xAxis: {
      type: 'datetime'
    },
    series: [{
      name: 'val',
      data: chart_arr
    }]
  });
});
于 2012-11-18T09:54:06.353 に答える