■ 로그 스케일을 사용하는 방법을 보여준다.
▶ MainForm.cs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
using System; using System.Drawing; using System.Linq; using System.Windows.Forms; using ScottPlot; using ScottPlot.Plottable; namespace TestProject { /// <summary> /// 메인 폼 /// </summary> public partial class MainForm : Form { //////////////////////////////////////////////////////////////////////////////////////////////////// Constructor ////////////////////////////////////////////////////////////////////////////////////////// Public #region 생성자 - MainForm() /// <summary> /// 생성자 /// </summary> public MainForm() { InitializeComponent(); Plot plot = new Plot(800, 600); double[] xValueArray = { 1 , 2 , 3 , 4 , 5 }; double[] yValueArray = { 10, 2000, 50000, 1000000, 1500000 }; double[] logYValueArray = yValueArray.Select(y => Math.Log10(y)).ToArray(); ScatterPlot scatterPlot = plot.AddScatter(xValueArray, logYValueArray, lineWidth : 2, markerSize : 10); plot.XAxis.MajorGrid(true, Color.FromArgb(80, Color.Black)); plot.YAxis.MajorGrid(true, Color.FromArgb(80, Color.Black)); plot.YAxis.MinorGrid(true, Color.FromArgb(20, Color.Black)); plot.YAxis.MinorLogScale(true); plot.YAxis.TickLabelFormat((double y) => Math.Pow(10, y).ToString("N0")); plot.SetAxisLimits(0, 6, 0, Math.Log10(10000000)); this.formsPlot.Reset(plot); this.formsPlot.Refresh(); } #endregion } } |