基本上我有一个包含多个条形图的图表。所有系列的独立值都相同。因此,图表的xaxs使用相同的独立值进行渲染。
如果我想让所有系列(第一个除外)xaxes'标签不可见,我怎么能在xaml声明中做到这一点?
有谁可以请我帮忙吗?
更新
我遇到了以下代码的示例:
<toolkit:Chart x:Name="myChart" Width="600" Height="400">
<toolkit:LineSeries
Title="Tasks"
ItemsSource="{Binding}"
IndependentValueBinding="{Binding Month}"
DependentValueBinding="{Binding Task}">
</toolkit:LineSeries>
<toolkit:LineSeries
Title="Benefits"
ItemsSource="{Binding}"
IndependentValueBinding="{Binding Month}"
DependentValueBinding="{Binding Benefits}">
</toolkit:LineSeries>
<toolkit:Chart.Axes>
<toolkit:LinearAxis Orientation="Y" Location="Left" Title="First" />
<toolkit:LinearAxis Orientation="Y" Location="Right" Title="Second" />
</toolkit:Chart.Axes>
</toolkit:Chart>
如果您绘制上面的代码,您将看到两个系列都将基于左侧的Y值。我们如何改变它,以便在左边和第二个系列上绘制第一个系列,并在右边的Y值上绘制。
可能吗?
感谢。
答案 0 :(得分:2)
我认为您可以使用DependentRangeAxis
对象的LineSeries
属性来实现您想要的效果。
首先,为每个Y轴指定x:Name
,例如TaskAxis
和BenefitsAxis
。
然后,您可以通过向其添加属性
来告诉LineSeries使用轴DependentRangeAxis="{Binding ElementName=TaskAxis}"
或
DependentRangeAxis="{Binding ElementName=BenefitsAxis}"
酌情。
然后图表的完整XAML变为
<toolkit:Chart x:Name="myChart" Width="600" Height="400">
<toolkit:LineSeries
Title="Tasks"
ItemsSource="{Binding Path=Data1}"
IndependentValueBinding="{Binding Month}"
DependentValueBinding="{Binding Task}"
DependentRangeAxis="{Binding ElementName=TaskAxis}">
</toolkit:LineSeries>
<toolkit:LineSeries
Title="Benefits"
ItemsSource="{Binding Path=Data1}"
IndependentValueBinding="{Binding Month}"
DependentValueBinding="{Binding Benefits}"
DependentRangeAxis="{Binding ElementName=BenefitsAxis}">
</toolkit:LineSeries>
<toolkit:Chart.Axes>
<toolkit:LinearAxis Orientation="Y" Location="Left" Title="First" x:Name="TaskAxis" />
<toolkit:LinearAxis Orientation="Y" Location="Right" Title="Second" x:Name="BenefitsAxis" />
</toolkit:Chart.Axes>
</toolkit:Chart>
另一种方法是在LineSeries中移动Axis
个对象。可以找到如何执行此操作的演示here。