diff --git a/LC_Tutorial/Tutorial/BasicPlots/BubbleWindow.xaml b/LC_Tutorial/Tutorial/BasicPlots/BubbleWindow.xaml
new file mode 100644
index 0000000..68476a0
--- /dev/null
+++ b/LC_Tutorial/Tutorial/BasicPlots/BubbleWindow.xaml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LC_Tutorial/Tutorial/BasicPlots/BubbleWindow.xaml.cs b/LC_Tutorial/Tutorial/BasicPlots/BubbleWindow.xaml.cs
new file mode 100644
index 0000000..02fe76c
--- /dev/null
+++ b/LC_Tutorial/Tutorial/BasicPlots/BubbleWindow.xaml.cs
@@ -0,0 +1,91 @@
+using LiveCharts;
+using LiveCharts.Defaults;
+using LiveCharts.Wpf;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Shapes;
+
+namespace Tutorial.BasicPlots
+{
+ ///
+ /// BubbleWindow.xaml에 대한 상호 작용 논리
+ ///
+ public partial class BubbleWindow : Window
+ {
+ public SeriesCollection SeriesCollection { get; set; }
+
+ public BubbleWindow()
+ {
+ InitializeComponent();
+ InitInstance();
+ }
+
+ private void InitInstance()
+ {
+ 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;
+ }
+
+ private void btnUpdate_Click(object sender, RoutedEventArgs e)
+ {
+ Random rand = new Random();
+ foreach (var series in SeriesCollection.Cast())
+ {
+ foreach (var bubble in series.Values.Cast())
+ {
+ bubble.X = rand.NextDouble() * 10;
+ bubble.Y = rand.NextDouble() * 10;
+ bubble.Weight = rand.NextDouble() * 10;
+ }
+ }
+
+ foreach (var series in SeriesCollection.Cast())
+ {
+ for (int i = 0; i < 10; i++)
+ {
+ series.Values.Add(new ScatterPoint(rand.NextDouble() * 10, rand.NextDouble() * 10, rand.NextDouble() * 10));
+ }
+ }
+ }
+ }
+}
diff --git a/LC_Tutorial/Tutorial/MainWindow.xaml b/LC_Tutorial/Tutorial/MainWindow.xaml
index 274df7f..6425d86 100644
--- a/LC_Tutorial/Tutorial/MainWindow.xaml
+++ b/LC_Tutorial/Tutorial/MainWindow.xaml
@@ -19,6 +19,7 @@
+
diff --git a/LC_Tutorial/Tutorial/MainWindow.xaml.cs b/LC_Tutorial/Tutorial/MainWindow.xaml.cs
index dfb0d2b..a13579d 100644
--- a/LC_Tutorial/Tutorial/MainWindow.xaml.cs
+++ b/LC_Tutorial/Tutorial/MainWindow.xaml.cs
@@ -67,5 +67,11 @@ namespace Tutorial
ScatterWindow win = new ScatterWindow();
win.Show();
}
+
+ private void btnBubble_Click(object sender, RoutedEventArgs e)
+ {
+ BubbleWindow win = new BubbleWindow();
+ win.Show();
+ }
}
}