WPF DVC:Lineseries 使用 c# 设置样式和坐标轴

WPF DVC:Lineseries Style and axes settings using c#

我正在尝试绘制一些简单的折线图...我想。到目前为止我已经这样做了:

XAML

<DVC:Chart x:Name="DVA_Cycle_Chart" BorderThickness="0" BorderBrush="{x:Null}" >
<DVC:Chart.Axes>
   <DVC:LinearAxis Orientation="X" Title="Zeit"/>
      <DVC:LinearAxis Orientation="Y" Location="Left" Title="Volumenstrom Q "/>
      <DVC:LinearAxis Orientation="Y" Location="Right" Title="Druck p"/>
   </DVC:Chart.Axes>
</DVC:Chart>

这会生成一个图表,其中 x 轴标记为 "Zeit",左侧 y 轴标记为 "Volumenstrom Q ",右侧 y 轴标记为 "Druck p"。美好的。 现在我添加了两个 Lineseries:

C#

KeyValuePair<double, double>[] single_pressure_KeyValuePair = new KeyValuePair<double, double>[2];
KeyValuePair<double, double>[] single_flow_rate_KeyValuePair = new KeyValuePair<double, double>[2];
   for (int i = 0; i < 2; i++)
      {
       single_pressure_KeyValuePair[i] = new KeyValuePair<double, double>(i, 3);
       single_flow_rate_KeyValuePair[i] = new KeyValuePair<double, double>(i, 4);
      }

     LineSeries single_pressure_LS = new LineSeries();
     single_pressure_LS.Title = "Pressure";
     single_pressure_LS.IndependentValueBinding = new Binding("Key");
     single_pressure_LS.DependentValueBinding = new Binding("Value");
     single_pressure_LS.ItemsSource = single_pressure_KeyValuePair;
     DVA_Cycle_Chart.Series.Add(single_pressure_LS);

     LineSeries single_flow_rate_LS = new LineSeries();
     single_flow_rate_LS.Title = "Flow Rate";
     single_flow_rate_LS.IndependentValueBinding = new Binding("Key");
     single_flow_rate_LS.DependentValueBinding = new Binding("Value");
     single_flow_rate_LS.ItemsSource = single_flow_rate_KeyValuePair;
     DVA_Cycle_Chart.Series.Add(single_flow_rate_LS);

这导致两条简单的水平线!美好的。不幸的是,两条线都与左侧 Y 轴相关,但我想将第一个系列重新定位到左侧,将第二个系列重新定位到右侧 y 轴。我在哪里可以设置这个。我更喜欢在 C# 中而不是 XAML 中执行此操作。 额外的小问题:如何设置轴的范围?假设我想绘制 x=0.5 和 x=33.1 之间的 x 值。

Google 给我看了很多相关的帖子,但没有回答这个问题。有谁知道在哪里可以找到 WPF 工具箱 DVC:Chart 的完整文档?

您可以从 XAML 中删除相应的 LinearAxis 代码,并在代码隐藏中像这样定义它:

    single_pressure_LS.DependentRangeAxis = new LinearAxis {
        Orientation = AxisOrientation.Y,
        Location = AxisLocation.Left,
        Title = "Volumenstrom Q",
        Minimum = 1,
        Maximum = 4 };
    single_flow_rate_LS.DependentRangeAxis = new LinearAxis {
        Orientation = AxisOrientation.Y,
        Location = AxisLocation.Right,
        Title = "Druck p",
        Minimum = 3,
        Maximum = 5 };