XamDataChart の BubbleSeries では、円の大きさを RadiusMemberPath で指定したプロパティにバインドできます。

<ig:BubbleSeries
    ItemsSource="{StaticResource data}"
    XAxis="{Binding ElementName=XAxis}"
    YAxis="{Binding ElementName=YAxis}"
    XMemberPath="X"
    YMemberPath="Y"
    RadiusMemberPath="Radius">
</ig:BubbleSeries>

ただ、この大きさは各 BubbleSeries 内での相対的な値として扱われますので、例えば同じ 60 という値を RadiusMemberPath で与えたとしても BubbleSeries が異なれば同じ大きさで円が描画されるとは限りません。

複数の BubbleSeries で円の大きさをそろえたい場合は、まず SizeScale クラス オブジェクトを作成し、その MinimumValue プロパティおよび MaximumValue プロパティにデータソースの Radius 値の最小値と最大値を指定します。そして SizeScale クラス オブジェクトを BubbleSeries の RadiusScale プロパティに指定します。

var vm = (MainWindowViewModel)DataContext;

var scale1 = new SizeScale()
{
    IsLogarithmic = false,
    MinimumValue = vm.SampleBubbleDataItems1.Min(dataItem => dataItem.Radius),
    MaximumValue = vm.SampleBubbleDataItems1.Max(dataItem => dataItem.Radius)
};
bubbleSeries1.RadiusScale = scale1;

これを各シリーズで実装すれば円の大きさをそろえることができます。

 

 

オンラインヘルプ

 

Tagged:

製品について

Ultimate UI for WPF