Пример LiveCharts для линейчатой ​​диаграммы, отображаемой в виде линейной диаграммы - PullRequest
0 голосов
/ 04 марта 2020

Я просматривал LiveCharts пример для базового c столбчатого графика (гистограмма) и по какой-то причине точный код, который генерирует Гистограмма в примере, генерирует линейный график для мне.

Мне нужна гистограмма для моего проекта, может кто-нибудь помочь мне решить эту проблему или предложить какую-нибудь альтернативную библиотеку, пожалуйста?

Вот мой XAML:

    <Window x:Class="BarChartTest.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:BarChartTest"

        xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        <lvc:CartesianChart 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>
    </Grid>
</Window>

Код сзади:

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();

        SeriesCollection = new SeriesCollection
        {
            new ColumnSeries
            {
                Title = "2015",
                Values = new ChartValues<double> { 10, 50, 39, 50 }
            }
        };

        //adding series will update and animate the chart automatically
        SeriesCollection.Add(new ColumnSeries
        {
            Title = "2016",
            Values = new ChartValues<double> { 11, 56, 42 }
        });

        //also adding values updates and animates the chart automatically
        SeriesCollection[1].Values.Add(48d);

        Labels = new[] { "Maria", "Susan", "Charles", "Frida" };
        Formatter = value => value.ToString("N");

        DataContext = this;

    }

    public SeriesCollection SeriesCollection { get; set; }
    public string[] Labels { get; set; }
    public Func<double, string> Formatter { get; set; }
}

Изображение ошибки

...