[SCOTTPLOT/WINFORM] SignalPlot 클래스 : DensityColors/Color 속성을 사용해 밀도별 색상 표시하기
ScottPlot/WinForm 2022. 2. 26. 15:00728x90
반응형
728x170
▶ MainForm.cs
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);
Random rand = new Random(0);
int pointCount = 100000;
double[] signal1 = DataGen.Sin(pointCount, 3);
double[] noise = DataGen.RandomNormal(rand, pointCount, 0, 5);
double[] data = new double[pointCount];
for(int i = 0; i < data.Length; i++)
{
data[i] = signal1[i] + noise[i];
}
SignalPlot signalPlot1 = plot.AddSignal(data);
signalPlot1.OffsetY = -40;
signalPlot1.Color = Color.Red;
string[] colorCodeArray = { "#440154", "#39568C", "#1F968B", "#73D055" };
Color[] colorArray = colorCodeArray.Select(x => ColorTranslator.FromHtml(x)).ToArray();
SignalPlot signalPlot2 = plot.AddSignal(data);
signalPlot2.DensityColors = colorArray;
signalPlot2.Color = colorArray[0];
plot.Title("밀도별 색상 대 단일 색상");
plot.AxisAuto(0, 0.1);
this.formsPlot.Reset(plot);
this.formsPlot.Refresh();
}
#endregion
}
}
728x90
반응형
그리드형(광고전용)
댓글을 달아 주세요