Для информации я использую библиотеку Live charts.
То, что я хочу сделать, это диаграмма столбца диаграммы со справочной информацией.
Результат будет как ниже.
Я планировал использовать столбчатую диаграмму и диаграмму шага.
И когда я бегу, результат показывает только столбчатые диаграммы.
Четные данные ряда шагов также отображаются в виде столбца.
Как мне показать разные стили на одном графике?
Это мой код 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);
}
}
Спасибо.