Цвет заливки колонок LiveCharts - PullRequest
0 голосов
/ 26 сентября 2019

Я следую этому примеру из документации LiveChart.Код выглядит следующим образом:

<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>

И он выглядит идеально и будет работать идеально для меня, но есть одна проблема.Как изменить fill цвет ColumnSeries в этом примере?Как я уже говорил ранее, я бы предпочел не реализовывать другую диаграмму, потому что она отлично работает для меня, но я не знаю, как изменить этот 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>

1 Ответ

1 голос
/ 26 сентября 2019

Вы можете определить набор Color объектов в XAML, которые будут неявно отображаться на 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>

Или явно определить Fill из ColumnSeries либов XAML или C #:

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
  }
};
...