【发布时间】:2017-01-29 22:30:29
【问题描述】:
我正在使用 WinRTXamlToolkit.Controls.DataVisualization.Charting.Chart 对象,其依赖轴整数为 0/1,时间轴独立。 我想抑制或旋转图表顶部的标签。 样式是在 Axis (chart.Axes) 还是系列 (LineSeries) 上找到的? 我的图表完全是通过代码配置的,sn-ps如下:
编辑 1/30/2017-3:添加托管 XAML 页面。
<Page
x:Class="HomeControl.Views.Historical"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:Charting="using:WinRTXamlToolkit.Controls.DataVisualization.Charting"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:HomeControl.Views"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Charting:Chart x:Name="LineChart" HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" VerticalAlignment="Top" Height="500">
</Charting:Chart>
</Grid>
</Page>
编辑 1/30/2017-2:添加剩余代码...
var lowDate = records.First().taken.DateTime;
var highDate = records.Last().taken.DateTime;
var allDeviceTelemetry = records.GroupBy(t => t.sensorid).OrderBy(g => g.Key);
var axisTaken = new DateTimeAxis()
{
Title = "Taken",
Orientation = AxisOrientation.X,
IntervalType = DateTimeIntervalType.Minutes,
Interval = 5,
Minimum = lowDate,
Maximum = highDate,
};
LineChart.Axes.Add(axisTaken);
LineChart.Axes.Add(new LinearAxis()
{
Title = "State",
Orientation = AxisOrientation.Y
});
foreach (var deviceTelemetry in allDeviceTelemetry)
{
var series = new LineSeries()
{
Title = deviceTelemetry.Key, // sensorid
IndependentValuePath = "taken",
DependentValuePath = "sensorvalueint",
ItemsSource = deviceTelemetry
};
LineChart.Series.Add(series);
}
我玩过其他一些样式,例如区间和轴标题,我就是不知道数据点标签样式在哪里?
编辑 2017 年 1 月 30 日: 这是树,突出显示的对象(底部的 TextBlock)。我需要弄清楚如何通过代码来设置这个“AxisLabel”、“Panel”、“AxisGrid”或“CategoryAxis”的样式。
任何提示将不胜感激!
-约翰
【问题讨论】:
-
您必须设置
DateTimeAxis的AxisLabelStyle属性。但请记住:这是 XAML 工具包,您应该在...好吧,XAML... -
感谢 jstreet,但不幸的是,这是我尝试的第一种样式(AxisLabelStyle),并且只影响了 BOTTOM(轴、8:15、8:20 等)标签,而不是顶部。
-
您是否将样式分配给顶轴?
-
嗨 jstreet。我编辑了我的帖子,添加了一个可视化树。我认为设置顶轴样式是我的问题的精神,你对如何以编程方式做到这一点有任何指导吗?
-
鉴于您提到顶轴对您来说是意外,我想您可能想找到一种方法来删除它,而不是设置它的样式。但无论如何,您都应该发布生成该图表的完整代码。人们可以自己获取可视化树的图片,但无法获取您的代码。最后,如果您还没有这样做,请阅读MCVE。
标签: xaml charts uwp uwp-xaml winrt-xaml-toolkit