我将生成Stacked柱形图,它将显示在x轴城市和y轴上,是列中性别的计数。如何绑定图表和这些数据:
List<Cities> Cities = new List<Cities>()
{
new Cities
{
Name = "Paris",
Genders = new Genders()
{
Man = 350000,
Woman = 436000
}
},
new Cities()
{
Name = "London",
Genders = new Genders()
{
Man = 698056,
Woman = 736982
}
}
};
我正在尝试生成系列:
int i = 0;
foreach (var city in Cities)
{
Series s1 = new ColumnSeries();
s1.Title = city.Name;
s1.Name = "S"+i;
StackedColumnChart.Series.Add(s1);
i++;
}
我不知道如何绑定数据。感谢
答案 0 :(得分:1)
您可以尝试下载LightningChart的试用版,其中包含针对Winfroms的演示示例,带有不可绑定,可半绑定和完全可绑定示例的Wpf。
您可以轻松查看源代码示例,例如ExampleStackedBars。
在后面的代码中,您可以创建一个字段,该字段将绑定到图表BarSeriesCollection属性:
public static readonly DependencyProperty BarSeriesProperty =
DependencyProperty.Register(
"BarSeries",
typeof(BarSeriesCollection),
typeof(ExampleStackedBars)
);
public BarSeriesCollection BarSeries
{
get { return GetValue(BarSeriesProperty) as BarSeriesCollection; }
set { SetValue(BarSeriesProperty, value); }
}
创建新实例并将数据添加到集合后:
BarSeries = new BarSeriesCollection();
GenerateData();
在XAML中,您可以使用以下行轻松绑定它:
<lcusb:LightningChartUltimate.ViewXY>
**<lcusb:ViewXY BarSeries="{Binding BarSeries}">**
<lcusb:ViewXY.BarViewOptions>
<lcusb:BarViewOptions BarSpacing="30" Grouping="ByIndexFitWidth" Stacking="Stack" IndexGroupingFitGroupDistance="20"/>
</lcusb:ViewXY.BarViewOptions>
</lcusb:ViewXY>
</lcusb:LightningChartUltimate.ViewXY>
</lcusb:LightningChartUltimate>
或在属性树中设置绑定路径
答案 1 :(得分:0)
Sparrow toolkit中的示例适用于其他图表类型。我需要堆积条形图。我的图表必须在x轴城市中,并且每个城市必须是列中的多个值。这是我的图表:
<charting:Chart
Grid.Column="0"
Grid.Row="0"
x:Name="StackedColumnChart"
Title="Stacked Column"
Margin="5">
<charting:StackedColumnSeries>
</charting:StackedColumnSeries>
</charting:Chart>
我不知道什么是系列。系列是列?如何将多个值(在我的示例性别中)分配给一列?