如何解决使用LiveCharts和WPF Core在折线图中显示所有标签
我检查了Livecharts not displaying Label on x axis in WPF
但这对我解决问题没有帮助。
XAML部分:
<wpf:CartesianChart Series="{Binding LineItems}" LegendLocation="None" DataClick="Series_DataClick" ToolTip="{x:Null}" DataTooltip="{x:Null}" Visibility="{Binding IsChartVisible,Converter={StaticResource BooleanToVisibilityConverter}}">
<wpf:CartesianChart.AxisX>
<wpf:Axis Title="Years" Labels="{Binding LineLabels}">
<wpf:Axis.Separator>
<wpf:Separator Step="1"/>
</wpf:Axis.Separator>
</wpf:Axis>
</wpf:CartesianChart.AxisX>
<wpf:CartesianChart.AxisY>
<wpf:Axis Title="Number of movies" LabelFormatter="{Binding Formatter}"/>
</wpf:CartesianChart.AxisY>
</wpf:CartesianChart>
和后面的代码(data
是Dictionary<string,List<string>>
)
ContentRendered += (s,ev) =>
{
foreach (var item in data)
{
ISeriesView lineseries = new ColumnSeries
{
Title = item.Key,Values = new ChartValues<double>(new[] { (double)item.Value.Count }),DataLabels = true,Tag = item.Value,ToolTip = null
};
LineItems.Add(lineseries);
}
LineLabels = data.Select(s => s.Key).ToArray(); // here is 45 items in array,but on UI is set only first element
};
public SeriesCollection LineItems { get; }
public string[] LineLabels { get; private set; }
public Func<double,string> Formatter { get; set; }
它看起来像:
如您所见,似乎只获得数组的第一个元素。
不知道为什么。如何解决?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。