4

別の小さな積み上げ棒の問題に出くわしました: プロットを埋めるとき、flot は凡例エントリを上から下に追加し、棒を下から上に積み上げます。このようにして、凡例はバーとはまったく逆に並べられます。

flot API を使用すると、追加された順序、アルファベット順、またはカスタムの並べ替え関数を提供することで、ラベルを並べ替えることができます。元の並べ替えが逆になるように、常に-1を返す並べ替え関数を提供しようとしましたが、sorted積み上げ棒グラフを使用すると、何らかの理由でオプションがまったく評価されないようです。少なくとも私がそこで試したもの ( ascendingdescendingfalse、私自身の関数) は、実際の凡例に影響を与えませんでした。

問題を説明するテストケースをhttp://jsfiddle.net/YvGZu/1/にまとめました。

編集:さらにテストした後...凡例の並べ替えがすべて壊れている可能性がありますか?

4

1 に答える 1

5

偶然にも、数日以内にあなたと同じ問題に遭遇しました。少し調べてみたところ、凡例の並べ替えを処理するコミットはごく最近 (2012 年 7 月) のものであり、使用していた jquery.flot.js のバージョンには含まれていないことに気付きました。

Fiddle で flot リソースを調べると、同じように見えます。flot js ファイルをソート アルゴリズムを含むものに更新すると、私の場合と同様に、問題が解決される可能性があります。(他の実験的な変更があったので、手動でパッチを適用しました。)

次に、私と同じ障害に遭遇することになると思います。それは、存在する並べ替えコードがアルファベット順にしか並べ替えられないか、ラベルのテキストと色コードのみを検査できるコンパレーターを使用することです。それは私にとって十分ではありませんでした - サーバー側で任意のソート順を割り当てたかったのです。これを実現するために、非表示の並べ替え順序文字列をシリーズ ラベルに追加しました。

label: '<a class="hiddenOrder">2</a>foo'

次にa、Flot プレースホルダー内のこれらのブロックを非表示にスタイル設定します (編集: Flot プレースホルダー内に含まれていないツールチップにスタイルを適用する必要もあります)。

#flotPlaceholder a.hiddenOrder, 
#flotTooltip a.hiddenOrder
{display:none;}

私はあなたのフィドルをフォークし、私の順序付けテクニックを含めて試してみましたが、残念ながら私の GitHub へのリソース リンクがフィドル内で機能していないようです。ただし、ローカルで展開できるはずです。

幸運を!

于 2012-10-02T06:26:18.147 に答える