|
|
|
@ -0,0 +1,78 @@ |
|
|
|
|
using LiveCharts; |
|
|
|
|
using LiveCharts.Wpf; |
|
|
|
|
using System; |
|
|
|
|
using System.Collections.Generic; |
|
|
|
|
using System.Globalization; |
|
|
|
|
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 |
|
|
|
|
{ |
|
|
|
|
/// <summary> |
|
|
|
|
/// LinesWindow.xaml에 대한 상호 작용 논리 |
|
|
|
|
/// </summary> |
|
|
|
|
public partial class LinesWindow : Window |
|
|
|
|
{ |
|
|
|
|
public SeriesCollection SeriesCollection { get; set; } |
|
|
|
|
public string[] Labels { get; set; } |
|
|
|
|
public Func<double, string> YFormatter { get; set; } |
|
|
|
|
|
|
|
|
|
public LinesWindow() |
|
|
|
|
{ |
|
|
|
|
InitializeComponent(); |
|
|
|
|
InitInstance(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void InitInstance() |
|
|
|
|
{ |
|
|
|
|
SeriesCollection = new SeriesCollection() |
|
|
|
|
{ |
|
|
|
|
new LineSeries() |
|
|
|
|
{ |
|
|
|
|
Title = "Series 1", |
|
|
|
|
Values = new ChartValues<double> { 4, 6, 5, 2 ,4 } |
|
|
|
|
}, |
|
|
|
|
new LineSeries |
|
|
|
|
{ |
|
|
|
|
Title = "Series 2", |
|
|
|
|
Values = new ChartValues<double> { 6, 7, 3, 4 ,6 }, |
|
|
|
|
PointGeometry = null |
|
|
|
|
}, |
|
|
|
|
new LineSeries |
|
|
|
|
{ |
|
|
|
|
Title = "Series 3", |
|
|
|
|
Values = new ChartValues<double> { 4,2,7,2,7 }, |
|
|
|
|
PointGeometry = DefaultGeometries.Square, |
|
|
|
|
PointGeometrySize = 15 |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
Labels = new string[] { "Jan", "Feb", "Mar", "Apr", "May" }; |
|
|
|
|
YFormatter = value => value.ToString("C", CultureInfo.GetCultureInfo("ko-KR")); |
|
|
|
|
|
|
|
|
|
DataContext = this; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void btnAdd_Click(object sender, RoutedEventArgs e) |
|
|
|
|
{ |
|
|
|
|
Random rand = new Random(); |
|
|
|
|
SeriesCollection.Add(new LineSeries() |
|
|
|
|
{ |
|
|
|
|
Title = $"Series {SeriesCollection.Count + 1}", |
|
|
|
|
Values = new ChartValues<double> { rand.Next(1, 10), rand.Next(1, 10), rand.Next(1, 10), rand.Next(1, 10), }, |
|
|
|
|
LineSmoothness = rand.Next(0, 2), //0: straight lines, 1: really smooth lines |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
SeriesCollection[SeriesCollection.Count - 2].Values.Add(rand.NextDouble() * 10d); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |