有关信息,我正在使用实时图表库。
我要制作的是带有参考信息的图表柱形图。 结果将如下所示。
我计划要做的是使用柱形图和折线图。 当我运行时,结果仅显示柱形图。 甚至步进线系列数据也显示为列。
如何在一张图表中显示不同的样式?
这是我的Xaml代码。
<ScrollViewer HorizontalScrollBarVisibility="Visible" Width="1200" >
<lvc:CartesianChart Name="MainChart" Series="{Binding Path=MainData}" Width="{Binding Path=MainChartWidth}">
<lvc:CartesianChart.DataTooltip>
<lvc:DefaultTooltip SelectionMode="OnlySender"/>
</lvc:CartesianChart.DataTooltip>
<lvc:CartesianChart.AxisX>
<lvc:Axis Name="XAxis" Labels="{Binding Path=MainDataLabel}" ></lvc:Axis>
</lvc:CartesianChart.AxisX>
</lvc:CartesianChart>
</ScrollViewer>
这是与问题相关的代码。
for (int idx = 0; idx < MainDataTable.Columns.Count; idx++)
{
List<string[]> tmpList = new List<string[]>();
else if (idx == 1)
{
string[] tmpArray = new string[3];
StepLineSeries tmpLineSeries = new StepLineSeries();
List<int> tmpDataList = new List<int>();
tmpLineSeries.Title = MainDataTable.Columns[idx].ColumnName;
tmpLineSeries.Fill = Brushes.Transparent;
tmpLineSeries.PointGeometry = null;
tmpLineSeries.Width = 10;
tmpLineSeries.StrokeThickness = 10;
for (int rowCnt = 0; rowCnt < MainDataTable.Rows.Count; rowCnt++)
{
tmpDataList.Add(Int32.Parse(MainDataTable.Rows[rowCnt][idx].ToString()));
}
tmpLineSeries.Values = new ChartValues<int>(tmpDataList);
MainData.Add(tmpLineSeries);
}
else if (idx > 1) // (idx > 0)
{
string[] tmpArray = new string[3];
ColumnSeries tmpLineSeries = new ColumnSeries();
List<int> tmpDataList = new List<int>();
tmpLineSeries.Title = MainDataTable.Columns[idx].ColumnName;
tmpLineSeries.Stroke = new SolidColorBrush(searchCondition.getConditionColor(MainDataTable.Columns[idx].ColumnName));
tmpLineSeries.Width = 15;
for (int rowCnt = 0; rowCnt < MainDataTable.Rows.Count; rowCnt++)
{
tmpDataList.Add(Int32.Parse(MainDataTable.Rows[rowCnt][idx].ToString()));
}
tmpLineSeries.Values = new ChartValues<int>(tmpDataList);
MainData.Add(tmpLineSeries);
}
}
谢谢。