1

BubbleSeries にたくさんのポイントがある WPF アプリケーションにバブル チャートがあります。自動的に描画されたバブルのサイズにより、プロットされたバブルが非常に重なるため、ほとんどのバブル ポイントが不明瞭になります。データを変更しても、プロットされたすべてのポイントの SizeValues を減らしても、描画されたバブルのサイズは変わりません (何らかの隠しロジックが、バブルを描画するときに SizeValues を自動的にスケーリングする方法を決定しているようです)。

すべてのバブルの直径を 75% 縮小するにはどうすればよいですか (つまり、各バブルの直径は通常の自動サイズの 4 分の 1 になります)。

ありがとう、アラン

[私は 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 に答える