diff --git a/LC_Tutorial/Tutorial/BasicPlots/ScatterWindow.xaml b/LC_Tutorial/Tutorial/BasicPlots/ScatterWindow.xaml
new file mode 100644
index 0000000..76d4df4
--- /dev/null
+++ b/LC_Tutorial/Tutorial/BasicPlots/ScatterWindow.xaml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LC_Tutorial/Tutorial/BasicPlots/ScatterWindow.xaml.cs b/LC_Tutorial/Tutorial/BasicPlots/ScatterWindow.xaml.cs
new file mode 100644
index 0000000..5c8b1bd
--- /dev/null
+++ b/LC_Tutorial/Tutorial/BasicPlots/ScatterWindow.xaml.cs
@@ -0,0 +1,92 @@
+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
+{
+ ///
+ /// ScatterWindow.xaml에 대한 상호 작용 논리
+ ///
+ public partial class ScatterWindow : Window
+ {
+ private readonly int SERIES_SIZE = 100;
+
+ private ChartValues _valueA = new ChartValues();
+ private ChartValues _valueB = new ChartValues();
+ private ChartValues _valueC = new ChartValues();
+
+ public SeriesCollection SeriesCollection { get; set; }
+
+ public ScatterWindow()
+ {
+ InitializeComponent();
+ InitInstance();
+ }
+
+ private void InitInstance()
+ {
+ Random rand = new Random();
+
+ for (int i = 0; i < SERIES_SIZE; i++)
+ {
+ _valueA.Add(new ObservablePoint(rand.NextDouble() * 10, rand.NextDouble() * 10));
+ _valueB.Add(new ObservablePoint(rand.NextDouble() * 10, rand.NextDouble() * 10));
+ _valueC.Add(new ObservablePoint(rand.NextDouble() * 10, rand.NextDouble() * 10));
+ }
+
+
+ SeriesCollection = new SeriesCollection()
+ {
+ new ScatterSeries()
+ {
+ Title = "Series A",
+ Values = _valueA,
+ },
+ new ScatterSeries()
+ {
+ Title = "Series B",
+ Values = _valueB,
+ PointGeometry = DefaultGeometries.Diamond
+ },
+ new ScatterSeries()
+ {
+ Title = "Series C",
+ Values = _valueC,
+ PointGeometry = DefaultGeometries.Triangle,
+ Stroke = Brushes.Transparent
+ },
+ };
+
+ DataContext = this;
+ }
+
+ private void btnRandomize_Click(object sender, RoutedEventArgs e)
+ {
+ Random rand = new Random();
+ for (int i = 0; i < SERIES_SIZE; i++)
+ {
+ _valueA[i].X = rand.NextDouble() * 10;
+ _valueA[i].Y = rand.NextDouble() * 10;
+
+ _valueB[i].X = rand.NextDouble() * 10;
+ _valueB[i].Y = rand.NextDouble() * 10;
+
+ _valueC[i].X = rand.NextDouble() * 10;
+ _valueC[i].Y = rand.NextDouble() * 10;
+ }
+ }
+ }
+}
diff --git a/LC_Tutorial/Tutorial/MainWindow.xaml b/LC_Tutorial/Tutorial/MainWindow.xaml
index 6e7a8e8..274df7f 100644
--- a/LC_Tutorial/Tutorial/MainWindow.xaml
+++ b/LC_Tutorial/Tutorial/MainWindow.xaml
@@ -18,6 +18,7 @@
+
diff --git a/LC_Tutorial/Tutorial/MainWindow.xaml.cs b/LC_Tutorial/Tutorial/MainWindow.xaml.cs
index d28b4f2..dfb0d2b 100644
--- a/LC_Tutorial/Tutorial/MainWindow.xaml.cs
+++ b/LC_Tutorial/Tutorial/MainWindow.xaml.cs
@@ -61,5 +61,11 @@ namespace Tutorial
StepLineWindow win = new StepLineWindow();
win.Show();
}
+
+ private void btnScatter_Click(object sender, RoutedEventArgs e)
+ {
+ ScatterWindow win = new ScatterWindow();
+ win.Show();
+ }
}
}