我正在使用微软的D3和WPF(不是silverlight)。我正在拼命寻找一个允许我隐藏传奇的D3版本。我在网上找到了几个使用旧版D3的例子。将此版本的源添加到我的解决方案时,我丢失了我正在使用的其他功能 - 绘制具有对数刻度的图形。在对数标度的示例中使用的另一版本的D3没有实现“隐藏图例”。显然,我见过的例子使用了互斥的不同版本。此外,我不太满意c#采用一个版本并将其转换为另一个版本。
请问请帮助我并提供一个解决方案,使用任何(最好是最新版本的)D3 for WPF,使ChartPlotter具有对数刻度并能够隐藏图例?
由于
答案 0 :(得分: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,它应该在命令中显示或隐藏。我找到了这个解决方案Here
可以找到最稳定版本的D3 Here。此版本实现LogarithmNumericTicksProvider。这个版本最适合使用,应该很容易实现新属性。