WPF DynamicDataDisplay版本存在隐藏图例和使用对数刻度的问题

WPF DynamicDataDisplay版本存在隐藏图例和使用对数刻度的问题,wpf,legend,dynamic-data-display,Wpf,Legend,Dynamic Data Display,我使用微软的D3和WPF(不是silverlight)。我拼命寻找一个版本的D3,可以让我隐藏的传说。我在网上找到了几个例子,使用的是D3的旧版本。在将这个版本的源代码添加到我的解决方案中时,我丢失了我正在使用的其他功能—用对数比例绘制图形。在对数刻度示例中使用的另一版本D3尚未实现“隐藏图例”。显然,我看到的例子使用了相互排斥的不同版本。此外,我对c#的理解还不够,无法将一个版本转换为另一个版本 你们能帮我提供一个解决方案,使用任何(最好是最新)版本的D3 for WPF制作对数比例的图表绘图

我使用微软的D3和WPF(不是silverlight)。我拼命寻找一个版本的D3,可以让我隐藏的传说。我在网上找到了几个例子,使用的是D3的旧版本。在将这个版本的源代码添加到我的解决方案中时,我丢失了我正在使用的其他功能—用对数比例绘制图形。在对数刻度示例中使用的另一版本D3尚未实现“隐藏图例”。显然,我看到的例子使用了相互排斥的不同版本。此外,我对c#的理解还不够,无法将一个版本转换为另一个版本

你们能帮我提供一个解决方案,使用任何(最好是最新)版本的D3 for WPF制作对数比例的图表绘图仪,并且能够隐藏图例吗


谢谢

解决这个问题的关键似乎是对数NumericTcksProvider类。仅此类就可以提供所需的功能。因此,您可以获取该类并将其导入到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版本。此版本实现对数NumericTcksProvider。此版本最适合使用,并且应易于实现新属性

解决这个问题的关键似乎是对数NumericTcksProvider类。仅此类就可以提供所需的功能。因此,您可以获取该类并将其导入到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版本。此版本实现对数NumericTcksProvider。此版本最适合使用,并且应易于实现新属性

您目前使用的是哪个版本的D3来使用对数刻度?如果您能提供您正在使用的版本,我可能会告诉您如何实现和/或使用图例隐藏。最推荐使用的D3版本是Jason Higgins的稳定版本-首先也是最重要的,谢谢。我在这里使用这个例子-。至于最新的版本,我不同意-。谢谢,我在D3上的所有信息和示例都在工作中,所以我会在周一给你回复希望你能坚持到那时!Jason Higgins-目前正在使用丑陋而混乱的解决方案-允许对数比例和设置plotter.legend.Content=Null的版本。那可不是个好主意。此外,由于它是一个旧版本,它的速度较慢。。。我会等到星期一。再次感谢。您目前使用的D3版本是什么?如果您能提供您正在使用的版本,我可能会告诉您如何实现和/或使用图例隐藏。最推荐使用的D3版本是Jason Higgins的稳定版本-首先也是最重要的,谢谢。我在这里使用这个例子-。至于最新的版本,我不同意-。谢谢,我在D3上的所有信息和示例都在工作中,所以我会在周一给你回复希望你能坚持到那时!Jason Higgins-目前正在使用丑陋而混乱的解决方案-允许对数比例和设置plotter.legend.Content=Null的版本。那可不是个好主意。此外,由于它是一个旧版本,它的速度较慢。。。我会等到星期一。再次感谢,没问题!祝你在剩下的项目中好运:)杰森,如果我今天有多余的时间的话,我可以试一试用对数标度的D3解决方案!我会通知你的!这是我为您创建的项目:我认为您需要使用您的microsoft帐户(Outlook)登录才能访问它。我使用了源代码中最新的构建,并在您用作测试的示例中添加了它。乍一看,有两个传说,但我能把它们都隐藏起来。图例A是使用我在上面描述的具有新属性的解决方案隐藏的,图例B是使用plotter隐藏的。NewLegendVisible=false;您可以在示例中的Window1_Loaded方法中看到这两个集合。希望这有帮助!谢谢我知道这花了你宝贵的时间。谢谢,没问题!祝你在剩下的项目中好运:)杰森,如果我今天有多余的时间的话,我可以试一试用对数标度的D3解决方案!我会通知你的!这是我为您创建的项目:我认为您需要使用您的microsoft帐户(Outlook)登录才能访问它。我使用了源代码中最新的构建,并在您用作测试的示例中添加了它。乍一看,这里有两个乐团