我正在使用LiveChart并加载一些数据。

<wpf:CartesianChart Name="LineChart" LegendLocation="top" >
<wpf:CartesianChart.AxisY>
    <wpf:Axis Title="Sales" ></wpf:Axis>
</wpf:CartesianChart.AxisY>
<wpf:CartesianChart.AxisX>
    <wpf:AxesCollection>
        <wpf:Axis Labels="{Binding Labels}">
            <wpf:Axis.Separator>
                <wpf:Separator Step="1" />
            </wpf:Axis.Separator>
        </wpf:Axis>
    </wpf:AxesCollection>
</wpf:CartesianChart.AxisX>



在后端时,我已经定义了标签。

public DailySalesProgressLineChart()
{
    InitializeComponent();
    Labels = new[]
                 {
                     1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
                     26, 27, 28, 29, 30
                 };
    DataContext = this;
    LoadLineChart();
}
SeriesCollection seriesCollection = new SeriesCollection();
public int[] Labels { get; set; }


但我没有在Labels上看到全部30个x-axis。我已经提到了这些解决方案,但仍然存在相同的问题。
Livecharts not displaying Label on x axis in WPF
https://github.com/Live-Charts/Live-Charts/issues/481

c# - LiveChart不会在X轴WPF上显示所有标签-LMLPHP

最佳答案

我认为SeriesCollection不绑定到您的图表。我希望您将其绑定到LoadLineChart()方法内部的代码中。

由于没有为LoadLineChart()方法提供代码,因此我只是尝试如下将一些值随机分配给seriesCollection对象,

          private void LoadLineChart()
          {
              seriesCollection = new SeriesCollection
              {
                  new ColumnSeries
                  {
                      Title = "1988",
                      Values = new ChartValues<double> { 10, 50, 39, 50, 5, 10, 15, 20, 25, 30, 35, 40, 9, 18, 27, 36, 2, 4, 6, 8, 10, 12, 14,
  16, 3, 6, 9, 12, 14, 17, 21 }
                  }
              };

              //adding series will update and animate the chart automatically
              seriesCollection.Add(new ColumnSeries
              {
                  Title = "1989",
                  Values = new ChartValues<double> { 12, 71, 41, 21, 9, 6, 3, 61, 41, 21, 01, 8, 6, 4, 2, 63, 72, 81, 9, 04, 53, 03, 52, 02,
  51, 01, 5, 05, 93, 05, 01 }
              });

              **LineChart.Series = seriesCollection;**
          }


我猜您可能缺少将seriesCollection绑定到LineChart的想法。但是,如果这样做仍然有其他问题,请更新您的评论。

注意:-我尝试使用一些条形图,您可以尝试使用图表代码。

希望这对您有所帮助:)

关于c# - LiveChart不会在X轴WPF上显示所有标签,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52909476/

10-11 04:04