main
syneffort 1 year ago
parent 79795d676a
commit 939e9e96c7
  1. 24
      LC_Tutorial/Tutorial/BasicPlots/ScatterWindow.xaml
  2. 92
      LC_Tutorial/Tutorial/BasicPlots/ScatterWindow.xaml.cs
  3. 1
      LC_Tutorial/Tutorial/MainWindow.xaml
  4. 6
      LC_Tutorial/Tutorial/MainWindow.xaml.cs

@ -0,0 +1,24 @@
<Window x:Class="Tutorial.BasicPlots.ScatterWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Tutorial.BasicPlots"
xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf"
mc:Ignorable="d"
Title="ScatterWindow" Height="450" Width="800">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="30"/>
</Grid.RowDefinitions>
<lvc:CartesianChart Grid.Row="0" Series="{Binding SeriesCollection}" LegendLocation="Top">
<lvc:CartesianChart.AxisY>
<lvc:Axis Unit="1"/>
</lvc:CartesianChart.AxisY>
</lvc:CartesianChart>
<Button x:Name="btnRandomize" Grid.Row="1" Content="Randomize" Click="btnRandomize_Click"/>
</Grid>
</Window>

@ -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
{
/// <summary>
/// ScatterWindow.xaml에 대한 상호 작용 논리
/// </summary>
public partial class ScatterWindow : Window
{
private readonly int SERIES_SIZE = 100;
private ChartValues<ObservablePoint> _valueA = new ChartValues<ObservablePoint>();
private ChartValues<ObservablePoint> _valueB = new ChartValues<ObservablePoint>();
private ChartValues<ObservablePoint> _valueC = new ChartValues<ObservablePoint>();
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;
}
}
}
}

@ -18,6 +18,7 @@
<Button x:Name="btnRows" Content="Rows" Margin="3" Click="btnRows_Click"/> <Button x:Name="btnRows" Content="Rows" Margin="3" Click="btnRows_Click"/>
<Button x:Name="btnStackedArea" Content="Stacked Area" Margin="3" Click="btnStackedArea_Click"/> <Button x:Name="btnStackedArea" Content="Stacked Area" Margin="3" Click="btnStackedArea_Click"/>
<Button x:Name="btnStepLine" Content="Step Line" Margin="3" Click="btnStepLine_Click"/> <Button x:Name="btnStepLine" Content="Step Line" Margin="3" Click="btnStepLine_Click"/>
<Button x:Name="btnScatter" Content="Scatter" Margin="3" Click="btnScatter_Click"/>
</StackPanel> </StackPanel>
</Grid> </Grid>
</Window> </Window>

@ -61,5 +61,11 @@ namespace Tutorial
StepLineWindow win = new StepLineWindow(); StepLineWindow win = new StepLineWindow();
win.Show(); win.Show();
} }
private void btnScatter_Click(object sender, RoutedEventArgs e)
{
ScatterWindow win = new ScatterWindow();
win.Show();
}
} }
} }

Loading…
Cancel
Save