LiveCharts ColumnSeries 填充颜色
LiveCharts ColumnSeries fill color
我正在关注 LiveChart 文档中的 this 示例。代码如下所示:
<lvc:CartesianChart Margin="20" Series="{Binding SeriesCollection}" LegendLocation="Left">
<lvc:CartesianChart.AxisX>
<lvc:Axis Title="Salesman" Labels="{Binding Labels}"></lvc:Axis>
</lvc:CartesianChart.AxisX>
<lvc:CartesianChart.AxisY>
<lvc:Axis Title="Sold Apps" LabelFormatter="{Binding Formatter}"></lvc:Axis>
</lvc:CartesianChart.AxisY>
</lvc:CartesianChart>
它看起来很完美,对我来说也很适合,但有一个问题。在此示例中如何更改 ColumnSeries
的 fill
颜色?正如我之前所说,我宁愿不实现另一个图表,因为它非常适合我,但我不知道如何更改 Fill
颜色。
我在SO中没有找到类似的问题。
编辑
工作解决方案:
<lvc:CartesianChart Margin="20" Series="{Binding SeriesCollection}" LegendLocation="Left">
<lvc:CartesianChart.SeriesColors>
<lvc:ColorsCollection>
<Color>Green</Color>
</lvc:ColorsCollection>
</lvc:CartesianChart.SeriesColors>
<lvc:CartesianChart.AxisX>
<lvc:Axis Title="Salesman" Labels="{Binding Labels}"></lvc:Axis>
</lvc:CartesianChart.AxisX>
<lvc:CartesianChart.AxisY>
<lvc:Axis Title="Sold Apps" LabelFormatter="{Binding Formatter}"></lvc:Axis>
</lvc:CartesianChart.AxisY>
</lvc:CartesianChart>
您可以在 XAML 中定义一组 Color
个对象,它们将按声明顺序隐式映射到 ColumnSeries
个对象:
<lvc:CartesianChart x:Name="CartesianChart"
Series="{Binding SeriesCollection}">
<lvc:CartesianChart.SeriesColors>
<lvc:ColorsCollection>
<Color>Red</Color>
<Color>Orange</Color>
<Color>LightSlateGray</Color>
</lvc:ColorsCollection>
</lvc:CartesianChart.SeriesColors>
</lvc:CartesianChart>
或在 XAML 或 C# 中显式定义 ColumnSeries
的 Fill
:
public SeriesCollection SeriesCollection { get; set; } = new SeriesCollection
{
new ColumnSeries
{
Title = "Series A",
Values = new ChartValues<double> { 10, 20, 30, 20, 10},
Fill = Brushes.CornflowerBlue
},
new ColumnSeries
{
Title = "Series B",
Values = new ChartValues<double> { 100, 200, 300, 200, 100 },
Fill = Brushes.DarkOrange
}
};
我正在关注 LiveChart 文档中的 this 示例。代码如下所示:
<lvc:CartesianChart Margin="20" Series="{Binding SeriesCollection}" LegendLocation="Left">
<lvc:CartesianChart.AxisX>
<lvc:Axis Title="Salesman" Labels="{Binding Labels}"></lvc:Axis>
</lvc:CartesianChart.AxisX>
<lvc:CartesianChart.AxisY>
<lvc:Axis Title="Sold Apps" LabelFormatter="{Binding Formatter}"></lvc:Axis>
</lvc:CartesianChart.AxisY>
</lvc:CartesianChart>
它看起来很完美,对我来说也很适合,但有一个问题。在此示例中如何更改 ColumnSeries
的 fill
颜色?正如我之前所说,我宁愿不实现另一个图表,因为它非常适合我,但我不知道如何更改 Fill
颜色。
我在SO中没有找到类似的问题。
编辑
工作解决方案:
<lvc:CartesianChart Margin="20" Series="{Binding SeriesCollection}" LegendLocation="Left">
<lvc:CartesianChart.SeriesColors>
<lvc:ColorsCollection>
<Color>Green</Color>
</lvc:ColorsCollection>
</lvc:CartesianChart.SeriesColors>
<lvc:CartesianChart.AxisX>
<lvc:Axis Title="Salesman" Labels="{Binding Labels}"></lvc:Axis>
</lvc:CartesianChart.AxisX>
<lvc:CartesianChart.AxisY>
<lvc:Axis Title="Sold Apps" LabelFormatter="{Binding Formatter}"></lvc:Axis>
</lvc:CartesianChart.AxisY>
</lvc:CartesianChart>
您可以在 XAML 中定义一组 Color
个对象,它们将按声明顺序隐式映射到 ColumnSeries
个对象:
<lvc:CartesianChart x:Name="CartesianChart"
Series="{Binding SeriesCollection}">
<lvc:CartesianChart.SeriesColors>
<lvc:ColorsCollection>
<Color>Red</Color>
<Color>Orange</Color>
<Color>LightSlateGray</Color>
</lvc:ColorsCollection>
</lvc:CartesianChart.SeriesColors>
</lvc:CartesianChart>
或在 XAML 或 C# 中显式定义 ColumnSeries
的 Fill
:
public SeriesCollection SeriesCollection { get; set; } = new SeriesCollection
{
new ColumnSeries
{
Title = "Series A",
Values = new ChartValues<double> { 10, 20, 30, 20, 10},
Fill = Brushes.CornflowerBlue
},
new ColumnSeries
{
Title = "Series B",
Values = new ChartValues<double> { 100, 200, 300, 200, 100 },
Fill = Brushes.DarkOrange
}
};