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;
これを各シリーズで実装すれば円の大きさをそろえることができます。
オンラインヘルプ
- 「散布バブル シリーズ」→「バブル サイズの構成」