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位置的边距属性。