C# WPF DVC:使用c的线系列样式和轴设置#
我正在尝试绘制一些简单的折线图。。。我想。到目前为止,我已经做到了: XAMLC# WPF DVC:使用c的线系列样式和轴设置#,c#,wpf,xaml,data-visualization,wpftoolkit,C#,Wpf,Xaml,Data Visualization,Wpftoolkit,我正在尝试绘制一些简单的折线图。。。我想。到目前为止,我已经做到了: XAML 这将生成一个图表,其中x轴标记为“Zeit”,左y轴标记为“Volumenstrom Q”,右y轴标记为“Druck p”。好的 现在,我添加了两个系列: C# KeyValuePair[]单_压力_KeyValuePair=新的KeyValuePair[2]; KeyValuePair[]单个\u流量\u速率\u KeyValuePair=新的KeyValuePair[2]; 对于(int i=0;i
这将生成一个图表,其中x轴标记为“Zeit”,左y轴标记为“Volumenstrom Q”,右y轴标记为“Druck p”。好的
现在,我添加了两个系列:
C#
KeyValuePair[]单_压力_KeyValuePair=新的KeyValuePair[2];
KeyValuePair[]单个\u流量\u速率\u KeyValuePair=新的KeyValuePair[2];
对于(int i=0;i<2;i++)
{
单_压力_键值对[i]=新键值对(i,3);
单个\u流量\u速率\u键值对[i]=新的键值对(i,4);
}
LineSeries single_pressure_LS=新的LineSeries();
单个压力标题=“压力”;
单压力独立值绑定=新绑定(“键”);
单个压力依赖值绑定=新绑定(“值”);
单个压力项源=单个压力项键值对;
DVA\U循环图。系列。添加(单压力);
LineSeries单次流量=新的LineSeries();
单个流量\u LS.Title=“流量”;
单一流量率独立值绑定=新绑定(“键”);
单一流量率依赖值绑定=新绑定(“值”);
单次流量率项目来源=单次流量率键值对;
DVA\U循环图。系列。添加(单流量率);
这将导致两条简单的水平线!好的不幸的是,这两条线都与左Y轴相关,但我想将第一个系列重新放在左Y轴上,将第二个系列重新放在右Y轴上。我在哪里可以设置这个。我更喜欢用C#而不是XAML来做这件事。
额外的小问题:如何设置轴的范围?假设我想绘制x=0.5和x=33.1之间的x值
谷歌给我看了很多相关的帖子,但没有回答这个问题。有人知道在哪里可以从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 };
非常感谢这很好用!也许你甚至知道如何设置数据点的颜色和背景颜色?再一次,我只在XAML中找到了一些例子……好吧,我想用StyleDataPointStyle_Red=new Style(typeof(DataPoint)),来影响行的颜色;使用Setter DataPointStyle_Red.Setters.Add(new Setter(DataPoint.BackgroundProperty,new SolidColorBrush(Colors.Red));最后是单点压力。数据点样式=数据点样式红色;
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);
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 };