2012-04-27 14 views
1

私のjqPlotグラフには200本の縦線が含まれています。短絡したバーは緑色に、長いものは赤色に、他は黄色に着色します。jqPlot - 特定の棒グラフだけにラベルを付ける方法はありますか?

私は

pointLabels: { 
    show: true 
} 

を行う場合、私はすべて一緒にしていない読める押しつぶされ200ポイントラベルを取得。

最短バーと最長バーのみにラベルを付けることはできますか?私はこのページを読んではなく解決策を見つけることができませんしてきた

:渡すと、空の文字列""にいくつかのティックを設定し、グラフに「チックとき

http://www.jqplot.com/docs/files/plugins/jqplot-pointLabels-js.html#$.jqplot.PointLabels.seriesLabelIndex

答えて

2

なぜあなたはしないでください。 はまた、私はあなたが目盛りのラベルを回転させるために、この設定を使用することをお勧めします:

var shortest = 5; // find shortest somehow 
var longest = 10; // find longest somehow 

var myLabels = []; 
for (var i = 0; i < histogramData.length; i++) { 
    myLabels[i] = ""; 
} 

myLabels[shortest] = shortest; 
myLabels[longest] = longest;  

をし、次のjqPlotオプションを設定します。

誰かが興味を持っている場合は
tickRenderer: $.jqplot.CanvasAxisTickRenderer, 
tickOptions: { 
    angle: -45 
} 
+0

おかげで再び:)私はあなたがここで意味する「ラベル」が「ダニ」ではないと信じています。しかし、あなたの提案は、私が望んだものを達成するのに非常に役立ちました。 – jpen

+0

そうです、あなたは正しいです。空の文字列をポイントラベルに適用することもできます。それが回転に向かうと思ったので、私はバーの下のダニのためにこのレンダラーを使っていました。 – Boro

1

、これは私がやったことです:

pointLabels: { 
    show: true, 
    labels: myLabels, 
    hideZeros: true 
} 

唯一の欠点は、これはあなたが多くのx軸を持っている場合少し遅くなり、ズームということです私の場合のようなエントリ。

+0

あなたの解決策を利用できるようにするため+1。 – Boro

0

jqplotはスマート軸レンダリングをサポートしていないと言われています。これは、隣接するラベルが一緒に衝突しないようにラベルを切り捨てることを意味します。しかし、ラベルが衝突しないように角度オプションを使うことができます。しかし、大量のデータの場合、どちらも機能しません。 jqplotは、チャートがプロットされるコンテナのサイズに関係なく、必要な軸ティックを計算します。

If you have worked with Google chart or like thing you can see they are not prioritizing axis ticks or something, they calculate the axis according to data and the plot area both. So the answer is even if you angle the tick labels you will come up with a limit. I'm not saying cheers! for this 

申し訳ありません!...

関連する問題