1

我在 WPF 应用程序中有一个气泡图,在 BubbleSeries 中有很多点。气泡的自动绘制大小导致绘制的气泡有太多重叠,以至于大多数气泡点都被遮盖了。如果我更改数据减少所有绘制点的 SizeValues,则绘制的气泡大小不会改变(某种隐藏的逻辑似乎正在确定如何在绘制气泡时自动缩放 SizeValues)。

如何将每个气泡的直径减小 75%(因此每个气泡的直径是正常自动尺寸的四分之一)?

谢谢,艾伦

[我正在使用 2009 年 6 月 WPF 控件工具包中的图表/数据可视化控件,但我认为相同的问题和答案可能适用于 Silverlight 3 气泡图。]

4

3 回答 3

1

创建样式:

    <Style x:Key="BubbleDataPointStyle" TargetType="chartingToolkit:BubbleDataPoint">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="chartingToolkit:BubbleDataPoint">
                    <Grid RenderTransformOrigin=".5,.5">
                        <Grid.RenderTransform>
                            <ScaleTransform ScaleX=".25" ScaleY=".25" />
                        </Grid.RenderTransform>
                        <controlsToolkit:Viewbox x:Name="viewbox">
                            <Ellipse Width="1" Height="1" />
                        </controlsToolkit:Viewbox>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

将样式添加到您的数据点:

    <chartingToolkit:Chart>
        <chartingToolkit:Chart.Series>
            <chartingToolkit:BubbleSeries
                ItemsSource="{Binding ObjectCollection}"
                IndependentValuePath="AxisX"
                DependentValuePath="AxisY"
                SizeValuePath="Size"
                DataPointStyle="{StaticResource BubbleDataPointStyle}" />
        </chartingToolkit:Chart.Series>
    </chartingToolkit:Chart>
于 2009-12-21T18:38:43.077 回答
0

如果我正确理解了这个问题,您希望能够在不重新绘制内容的情况下缩放您的内容,对吗?如果是这样,您应该看看Viewbox 类

于 2009-10-14T20:30:12.633 回答
0

不确定 WPF 工具包图表中是否有类似的东西,但在WPF 的 amCharts 中有 MinBulletSize/MaxBulletSize 属性来控制气泡的缩放。我认为在 WPF/Silverlight 工具包图表中也一定有这些方面的东西。

于 2009-10-15T15:45:23.297 回答