1

我在silverlight 中使用visifire 创建了一个饼图。有没有办法自定义馅饼本身的大小?

这是我的代码:

                    <visifire:Chart.Titles>
                        <visifire:Title FontSize="12" Text="{Binding GraphName}" Margin="0,10,0,0" />
                    </visifire:Chart.Titles>

                    <visifire:Chart.Series>

                        <visifire:DataSeries RenderAs="Pie" LabelEnabled="false" Bevel="True" ShadowEnabled="true" Cursor="Hand" YValueFormatString="'$'######.## "
                        LightingEnabled="False" BorderColor="DarkBlue" 
                        BorderThickness=".24" ShowInLegend="True" IncludePercentageInLegend="True" DataSource="{Binding PersonPositionGraphList}">

                            <visifire:DataSeries.DataMappings>
                                <visifire:DataMapping MemberName="AxisXLabel" Path="PositionName"/>
                                <visifire:DataMapping MemberName="YValue" Path="PositionCount"/>
                            </visifire:DataSeries.DataMappings>

                        </visifire:DataSeries>
                    </visifire:Chart.Series>
                </visifire:Chart>
4

1 回答 1

2

实际上,没有单独的属性可用于控制饼图的大小。您需要通过在 DataSeries 中设置 LabelFontSize 属性来增加图表大小或减小饼图标签的字体大小。如果 Pie 显示长标签,那么您可以通过添加“\n”将标签分成多行。

您也可以尝试在自定义 Legend 中设置 DockInsidePlotArea="True"。如果图例在 PlotArea 内,则 PlotArea 大小会增加,饼图大小也会相应增加。然后可以通过在 Legend 中设置 Horizo​​ntalAlignment、VerticalAlignment、MaxWidth/MaxHeight 属性来保持图例的位置和大小,以避免重叠。

于 2011-07-21T08:59:56.543 回答