2009-10-14 91 views
1

我具有与在检测BubbleSeries点的地段WPF应用程序气泡图。自动绘制的气泡尺寸会导致绘制气泡的重叠,导致大部分气泡点被遮挡。如果我改变数据,减小所有绘制点的SizeValues(某种隐藏逻辑似乎决定了如何在绘制气泡时自动缩放SizeValues),绘制的气泡大小不会改变。缩放/调整大小气泡图上的所有的气泡的直径(在WPF或Silverlight)

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

谢谢你,艾伦

[我在2009年6月WPF控件工具箱中的图表/数据visulaization控制工作,但我认为同样的问题,答案很可能适用于Silverlight 3的气泡图]

+0

我一直在试图控制气泡的大小(在Silverlight),的确看起来像有内部逻辑(这是开发人员无法覆盖的)。它确定最大尺寸为图表大小的25%,并相应地缩放所有其他气泡。这个逻辑导致非常大的气泡。如果有人知道如何覆盖这个逻辑,请评论/发布。谢谢。 – 2011-05-27 21:41:45

回答

0

如果我正确地理解了这个问题,您希望能够扩展您的内容而不必重绘它,对吗?如果是这样,你应该看看Viewbox class

0

不确定在WPF工具包图表中是否有这样的内容,但在amCharts for WPF中有MinBulletSize/MaxBulletSize属性来控制气泡的缩放。我认为在WPF/Silverlight工具包图表中也必须包含这些内容。

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>