【问题标题】:Scaling/resizing the diameter of all bubbles on a bubble chart (in WPF or Silverlight)缩放/调整气泡图上所有气泡的直径(在 WPF 或 Silverlight 中)
【发布时间】:2010-12-06 19:49:47
【问题描述】:

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

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

谢谢,艾伦

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

【问题讨论】:

  • 我一直在尝试控制气泡的大小(在 Silverlight 中),而且确实看起来有内部逻辑(开发人员无法覆盖)。它将最大尺寸确定为图表尺寸的 25%,并相应地缩放所有其他气泡。这种逻辑导致非常大的气泡。如果有人知道如何覆盖此逻辑,请发表评论/发布。谢谢。

标签: wpf graph charts bubble-chart


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      创建样式:

          <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>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-07-11
        相关资源
        最近更新 更多