|
|
@ -0,0 +1,77 @@ |
|
|
|
|
|
|
|
using LiveCharts; |
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
/// <summary> |
|
|
|
|
|
|
|
/// StackedColumnsWindow.xaml에 대한 상호 작용 논리 |
|
|
|
|
|
|
|
/// </summary> |
|
|
|
|
|
|
|
public partial class StackedColumnsWindow : Window |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
private int _index; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public SeriesCollection SeriesCollection { get; set; } |
|
|
|
|
|
|
|
public string[] Labels { get; set; } |
|
|
|
|
|
|
|
public Func<double, string> Formatter { get; set; } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public StackedColumnsWindow() |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
InitializeComponent(); |
|
|
|
|
|
|
|
InitInstance(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void InitInstance() |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
SeriesCollection = new SeriesCollection() |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
new StackedColumnSeries() |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
Title = $"index{++_index}", |
|
|
|
|
|
|
|
Values = new ChartValues<double> { 4, 5, 6, 8 }, |
|
|
|
|
|
|
|
StackMode = StackMode.Values, |
|
|
|
|
|
|
|
DataLabels = true |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
new StackedColumnSeries() |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
Title = $"index{++_index}", |
|
|
|
|
|
|
|
Values = new ChartValues<double> { 2, 5, 6, 7 }, |
|
|
|
|
|
|
|
StackMode = StackMode.Values, |
|
|
|
|
|
|
|
DataLabels = true |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Labels = new string[] { "Chrome", "FireFox", "Opera", "Edge" }; |
|
|
|
|
|
|
|
Formatter = value => value + " Mill"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DataContext = this; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void btnAdd_Click(object sender, RoutedEventArgs e) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
Random rand = new Random(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SeriesCollection.Add(new StackedColumnSeries() |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
Title = $"index{++_index}", |
|
|
|
|
|
|
|
Values = new ChartValues<double> { (double)rand.Next(0, 10), (double)rand.Next(0, 10), (double)rand.Next(0, 10), }, |
|
|
|
|
|
|
|
StackMode = StackMode.Values, |
|
|
|
|
|
|
|
DataLabels = true |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SeriesCollection[SeriesCollection.Count - 2].Values.Add((double)rand.Next(0, 10)); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |