mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-03-07 18:20:51 +08:00
67 lines
2.1 KiB
C#
67 lines
2.1 KiB
C#
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<ScatterPoint>
|
|
{
|
|
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<ScatterPoint>
|
|
{
|
|
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<ScatterPoint>())
|
|
{
|
|
bubble.X = r.NextDouble()*10;
|
|
bubble.Y = r.NextDouble()*10;
|
|
bubble.Weight = r.NextDouble()*10;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|