1

私はMicrosoftのD3をWPF(Silverlightではない)で使用しています。私は、伝説を隠すことができるバージョンのD3を必死に探しています。古いバージョンのD3を使用して、オンラインでいくつかの例を見つけました。このバージョンのソースをソリューションに追加すると、使用していた他の機能(対数目盛でグラフをプロットする)が失われました。対数目盛の例で使用されたD3の別のバージョンには、「凡例の非表示」がまだ実装されていませんでした。どうやら、私が見た例では、相互に排他的な異なるバージョンを使用していました。さらに、私は1つのバージョンを取得して別のバージョンに変換するのに十分なc#の知識がありません。

対数目盛でChartPlotterを作成し、凡例を非表示にできる、WPF用のD3の(できれば最新の)バージョンを使用するソリューションを提供してください。

ありがとう

4

1 に答える 1

1

これの鍵は LogarithmNumericTicksProvider クラスにあるようです。このクラスだけでも、必要な機能が提供されるようです。したがって、そのクラスを取得して、隠し凡例が機能しているバージョンの D3 にインポートできます。

あなたの他のオプションは、D3 の最新の安定バージョンを取得し、それに隠れている凡例を修正することです。凡例を非表示にするために見つけた解決策は、安定版にはまだ実装されていないようですが、非常に簡単に見えます。

プロパティを設定するときに凡例を表示または非表示にする必要がある凡例の表示用に、ChartPlotter クラスに新しいプロパティを追加できます。次のようになります。

class ChartPlotter {
...
public bool LegendVisible {
  get { return legend.Visibility == Visibility.Visible; }

  set { legend.Visibility = value ? Visibility.Visible : Visibility.Hidden; }

}
}

これにより、コード内の必要な場所で LegendVisible プロパティを true または false に設定でき、コマンドで表示または非表示にする必要があります。私はこの解決策を見つけまし

D3 の最も安定したバージョンは、ここにあります。このバージョンは、LogarithmNumericTicksProvider を実装しています。このバージョンは使用に最も適しており、新しいプロパティを簡単に実装できるはずです。

于 2012-11-12T14:50:34.393 に答える