1

我正在使用 Microsoft 的 D3 和 WPF(不是 silverlight)。我正在拼命寻找可以让我隐藏传说的 D3 版本。我在网上找到了几个例子,使用的是旧版本的 D3。将此版本的源添加到我的解决方案时,我失去了我正在使用的其他功能 - 用对数刻度绘制图形。在对数刻度示例中使用的另一个版本的 D3 尚未实现“隐藏图例”。显然,我看到的示例使用了互斥的不同版本。此外,我没有足够的 c# savvi 来获取一个版本并将其转换为另一个版本。

请你们帮助我并提供一个解决方案,该解决方案使用任何(最好是最新)版本的 D3 for WPF 制作具有对数刻度的 ChartPlotter 并能够隐藏图例?

谢谢

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 回答