如何在 UWP 图表上设置二值列
How to set two-valued columns on UWP chart
我正在使用 winrt xaml 工具包柱形图,我想创建一个度数图表,所以我需要为列表中的每个名称设置最小值和最大值,但我找不到方法为了那个原因。这是我的代码:
Xaml:
<charting:Chart x:Name="chart" FlowDirection="RightToLeft" HorizontalAlignment="Center" Width="800" VerticalAlignment="Top" Height="500" >
<charting:ColumnSeries Title="month" IndependentValuePath="Name" DependentValuePath="Amount" IsSelectionEnabled="True"/>
</charting:Chart>
C#
private void LoadChart()
{
List<weather> list = new List<weather>();
list.Add(new weather() { Name = "s1", Amount = 5.5 });
(chart.Series[0] as ColumnSeries).ItemsSource = list;
}
我希望它像这张照片中的这样:
在这里,试试这个 XAML-仅示例:
XAML:
<Page x:Class="App8.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:chart="using:WinRTXamlToolkit.Controls.DataVisualization.Charting"
xmlns:local="using:App8"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" Loaded="Page_Loaded">
<Page.Resources>
<local:WeatherCollection x:Key="data1">
<local:Weather Month="Jan" MinAmount="1" MaxAmount="8"/>
<local:Weather Month="Feb" MinAmount="3" MaxAmount="9"/>
<local:Weather Month="Mar" MinAmount="7" MaxAmount="10"/>
<local:Weather Month="Apr" MinAmount="8" MaxAmount="11"/>
<local:Weather Month="May" MinAmount="10" MaxAmount="12"/>
<local:Weather Month="Jun" MinAmount="13" MaxAmount="12"/>
<local:Weather Month="Jul" MinAmount="15" MaxAmount="11"/>
<local:Weather Month="Aug" MinAmount="12" MaxAmount="10"/>
<local:Weather Month="Sep" MinAmount="10" MaxAmount="9"/>
<local:Weather Month="Oct" MinAmount="9" MaxAmount="8"/>
<local:Weather Month="Nov" MinAmount="7" MaxAmount="7"/>
<local:Weather Month="Dec" MinAmount="3" MaxAmount="6"/>
</local:WeatherCollection>
<Style x:Key="Style1" TargetType="chart:ColumnDataPoint">
<Setter Property="Background" Value="Transparent"/>
</Style>
</Page.Resources>
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<chart:Chart Title="Sample Chart">
<chart:StackedColumnSeries>
<chart:SeriesDefinition ItemsSource="{StaticResource data1}"
DependentValuePath="MinAmount"
DataPointStyle="{StaticResource Style1}"
IndependentValuePath="Month"/>
<chart:SeriesDefinition ItemsSource="{StaticResource data1}"
DependentValuePath="MaxAmount"
IndependentValuePath="Month"
Title="Temp(C)"/>
</chart:StackedColumnSeries>
</chart:Chart>
</Grid>
</Page>
模型/视图模型:
public class WeatherCollection : ObservableCollection<Weather>
{
}
public class Weather
{
public string Month { get; set; }
public double MaxAmount { get; set; }
public double MinAmount { get; set; }
}
我正在使用 winrt xaml 工具包柱形图,我想创建一个度数图表,所以我需要为列表中的每个名称设置最小值和最大值,但我找不到方法为了那个原因。这是我的代码:
Xaml:
<charting:Chart x:Name="chart" FlowDirection="RightToLeft" HorizontalAlignment="Center" Width="800" VerticalAlignment="Top" Height="500" >
<charting:ColumnSeries Title="month" IndependentValuePath="Name" DependentValuePath="Amount" IsSelectionEnabled="True"/>
</charting:Chart>
C#
private void LoadChart()
{
List<weather> list = new List<weather>();
list.Add(new weather() { Name = "s1", Amount = 5.5 });
(chart.Series[0] as ColumnSeries).ItemsSource = list;
}
我希望它像这张照片中的这样:
在这里,试试这个 XAML-仅示例:
XAML:
<Page x:Class="App8.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:chart="using:WinRTXamlToolkit.Controls.DataVisualization.Charting"
xmlns:local="using:App8"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" Loaded="Page_Loaded">
<Page.Resources>
<local:WeatherCollection x:Key="data1">
<local:Weather Month="Jan" MinAmount="1" MaxAmount="8"/>
<local:Weather Month="Feb" MinAmount="3" MaxAmount="9"/>
<local:Weather Month="Mar" MinAmount="7" MaxAmount="10"/>
<local:Weather Month="Apr" MinAmount="8" MaxAmount="11"/>
<local:Weather Month="May" MinAmount="10" MaxAmount="12"/>
<local:Weather Month="Jun" MinAmount="13" MaxAmount="12"/>
<local:Weather Month="Jul" MinAmount="15" MaxAmount="11"/>
<local:Weather Month="Aug" MinAmount="12" MaxAmount="10"/>
<local:Weather Month="Sep" MinAmount="10" MaxAmount="9"/>
<local:Weather Month="Oct" MinAmount="9" MaxAmount="8"/>
<local:Weather Month="Nov" MinAmount="7" MaxAmount="7"/>
<local:Weather Month="Dec" MinAmount="3" MaxAmount="6"/>
</local:WeatherCollection>
<Style x:Key="Style1" TargetType="chart:ColumnDataPoint">
<Setter Property="Background" Value="Transparent"/>
</Style>
</Page.Resources>
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<chart:Chart Title="Sample Chart">
<chart:StackedColumnSeries>
<chart:SeriesDefinition ItemsSource="{StaticResource data1}"
DependentValuePath="MinAmount"
DataPointStyle="{StaticResource Style1}"
IndependentValuePath="Month"/>
<chart:SeriesDefinition ItemsSource="{StaticResource data1}"
DependentValuePath="MaxAmount"
IndependentValuePath="Month"
Title="Temp(C)"/>
</chart:StackedColumnSeries>
</chart:Chart>
</Grid>
</Page>
模型/视图模型:
public class WeatherCollection : ObservableCollection<Weather>
{
}
public class Weather
{
public string Month { get; set; }
public double MaxAmount { get; set; }
public double MinAmount { get; set; }
}