C# 工具箱图表旋转标签X轴
首先感谢您阅读本文 我有以下问题:C# 工具箱图表旋转标签X轴,c#,.net,silverlight,charts,silverlight-toolkit,C#,.net,Silverlight,Charts,Silverlight Toolkit,首先感谢您阅读本文 我有以下问题: 我希望我的X轴标签旋转90度。因此,文本面向垂直方向,而不是水平方向。我的X轴是自动生成的,但它不必是。 因此,标签的内容是垂直的,而不是水平的。我尝试了多种选择来实现这一点,但没有一种对我有效。所以我真的希望任何人都能知道如何让它工作。在我尝试的选项中,只有另一个轴显示为数字。而我想要的是标签被旋转,这样所有的文本都可以放在轴上,而不会相互重叠 下图是目前的情况: 下面是一个我希望的示例(这是用excel制作的): 我查看了更多的网站,但找不到适合我的网
我希望我的X轴标签旋转90度。因此,文本面向垂直方向,而不是水平方向。我的X轴是自动生成的,但它不必是。 因此,标签的内容是垂直的,而不是水平的。我尝试了多种选择来实现这一点,但没有一种对我有效。所以我真的希望任何人都能知道如何让它工作。在我尝试的选项中,只有另一个轴显示为数字。而我想要的是标签被旋转,这样所有的文本都可以放在轴上,而不会相互重叠 下图是目前的情况: 下面是一个我希望的示例(这是用excel制作的): 我查看了更多的网站,但找不到适合我的网站。
无论是在xaml中还是在代码隐藏中,我都可以使用。
这是我现在使用的代码:
<toolkit:Chart Margin="8,72,0,8" Title="Aantal meldingen per afdeling" x:Name="chartMeldingenPerAfdeling">
<toolkit:Chart.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="White" Offset="0"/>
<GradientStop Color="#FF476D88" Offset="1"/>
</LinearGradientBrush>
</toolkit:Chart.Background>
<toolkit:ColumnSeries ItemsSource="{Binding}" DependentValuePath="AantalMeldingen"
IndependentValuePath="Afdeling" Margin="0,0,0,1"
Title="Aantal meldingen" Padding="0" VerticalContentAlignment="Center"
HorizontalContentAlignment="Center" FontSize="8"/>
<toolkit:LineSeries ItemsSource="{Binding}" DependentValueBinding="{Binding Percentage}" DependentRangeAxis="{Binding ElementName=PercentageAxis}"
IndependentValueBinding="{Binding Afdeling}" IndependentAxis="{Binding ElementName=lin}" Title="Pareto"/>
<toolkit:Chart.Axes>
<toolkit:LinearAxis Orientation="Y" Location="Left" Title="Aantal" x:Name="AantalAxis"/>
<toolkit:LinearAxis Orientation="Y" Location="Right" Title="Percentage" x:Name="PercentageAxis" Minimum="0" Maximum="100"/>
</toolkit:Chart.Axes>
</toolkit:Chart>
提前感谢。您可以在您的
工具包:ColumnSeries
XAML元素中尝试此功能:
<chartingToolkit:ColumnSeries ItemsSource="{Binding}" DependentValuePath="AantalMeldingen" IndependentValuePath="Afdeling" Margin="0,0,0,1" Title="Aantal meldingen" Padding="0" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" FontSize="8">
<chartingToolkit:ColumnSeries.IndependentAxis>
<chartingToolkit:CategoryAxis Orientation="X">
<chartingToolkit:CategoryAxis.AxisLabelStyle>
<Style TargetType="chartingToolkit:AxisLabel">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="chartingToolkit:AxisLabel">
<TextBlock Text="{TemplateBinding FormattedContent}">
<TextBlock.LayoutTransform>
<RotateTransform Angle="-90"/>
</TextBlock.LayoutTransform>
</TextBlock>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</chartingToolkit:CategoryAxis.AxisLabelStyle>
</chartingToolkit:CategoryAxis>
</chartingToolkit:ColumnSeries.IndependentAxis>
</chartingToolkit:ColumnSeries>
请检查此代码:
<toolkit:Chart Title="{Binding ChartTitle}" x:Name="myChart" Style="{StaticResource myChartStyle}" BorderBrush="{x:Null}" Background="Black" Foreground="White">
<toolkit:ColumnSeries ItemsSource="{Binding LegendList}"
DependentValueBinding="{Binding FeatureQuantity}"
IndependentValueBinding="{Binding LegendName}" DataPointStyle="{Binding Source={StaticResource ColorByGradeColumn}}" >
</toolkit:ColumnSeries>
<toolkit:Chart.Axes>
<toolkit:CategoryAxis Orientation="X"
Location="Bottom"
Foreground="White">
<toolkit:CategoryAxis.AxisLabelStyle>
<Style TargetType="toolkit:AxisLabel">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate
TargetType="toolkit:AxisLabel">
<TextBlock
Text="{TemplateBinding FormattedContent}"
TextAlignment="Right"
TextWrapping="Wrap"
Width="60"
Margin="-20,15,0,0"
RenderTransformOrigin="0.5,0.5">
<TextBlock.RenderTransform>
<RotateTransform Angle="90" />
</TextBlock.RenderTransform>
</TextBlock>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</toolkit:CategoryAxis.AxisLabelStyle>
</toolkit:CategoryAxis>
</toolkit:Chart.Axes>
</toolkit:Chart>
结果是:
不确定问题是什么。我可以看到你有两个轴,都是Y方向的。那么你的x轴在哪里?你好,马丁,谢谢你的回复。我的X轴是自动生成的。非常感谢!多亏了你的代码,我才得以工作。但是,我可以使文本保持在一行吗?是的,增加图表的高度或图表的父级。您可以从TextBlock中删除TextWrapping属性。编辑用于更改TextBlock位置的边距属性。