using System; using System.Linq; using System.Windows; using System.Windows.Controls; using LiveCharts; using LiveCharts.Defaults; using LiveCharts.Wpf; namespace Wpf.CartesianChart.Bubbles { public partial class BubblesExample : UserControl { public BubblesExample() { InitializeComponent(); SeriesCollection = new SeriesCollection { new ScatterSeries { Values = new ChartValues { new ScatterPoint(5, 5, 20), new ScatterPoint(3, 4, 80), new ScatterPoint(7, 2, 20), new ScatterPoint(2, 6, 60), new ScatterPoint(8, 2, 70) }, MinPointShapeDiameter = 15, MaxPointShapeDiameter = 45 }, new ScatterSeries { Values = new ChartValues { new ScatterPoint(7, 5, 1), new ScatterPoint(2, 2, 1), new ScatterPoint(1, 1, 1), new ScatterPoint(6, 3, 1), new ScatterPoint(8, 8, 1) }, PointGeometry = DefaultGeometries.Triangle, MinPointShapeDiameter = 15, MaxPointShapeDiameter = 45 } }; DataContext = this; } public SeriesCollection SeriesCollection { get; set; } private void UpdateAllOnClick(object sender, RoutedEventArgs e) { var r = new Random(); foreach (var series in SeriesCollection) { foreach (var bubble in series.Values.Cast()) { bubble.X = r.NextDouble()*10; bubble.Y = r.NextDouble()*10; bubble.Weight = r.NextDouble()*10; } } } } }