반응형
내용
Zedgraph에서 특정부위에 박스를 그려서 특정 영역의 범위 내 데이터가 포함되었을 경우를 분석하기 위한 프로그램 구현을 위해서 사용하고자 하였습니다.
박스의 4,6 위치에 가로 2, 높이 3의 적색 테두리+ 반투명 박스를 추가하였습니다.
소스코드
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using ZedGraph;
namespace Test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
protected override void OnLoad(EventArgs e)
{
GraphPane myPane = zedGraphControl1.GraphPane;
myPane.Title.Text = "TEST GRAPH";
myPane.XAxis.Title.Text = "X Axis";
myPane.YAxis.Title.Text = "Y Axis";
//--
myPane.Border.Color = Color.Black;
myPane.Fill.Color = Color.Black;
myPane.Title.FontSpec.FontColor = Color.White;
myPane.Title.IsVisible = false;
myPane.Chart.Fill.Type = FillType.Solid;
myPane.Chart.Fill.Color = Color.Black;
//myPane.Chart.Fill = new Fill(Color.WhiteSmoke, Color.DarkGray, 30F);
myPane.Chart.Border.Color = Color.White;
myPane.Legend.Fill.IsVisible =
myPane.Legend.Border.IsVisible = false;
myPane.Legend.FontSpec.FontColor = Color.White;
myPane.XAxis.Color = Color.White;
myPane.XAxis.MajorTic.Color = Color.White;
myPane.XAxis.Scale.FontSpec.FontColor = Color.White;
myPane.XAxis.MajorGrid.IsVisible = true;
myPane.XAxis.MajorGrid.Color = Color.DarkGreen;
myPane.YAxis.Color = Color.Lime;
myPane.YAxis.MajorTic.Color = Color.Lime;
myPane.YAxis.Scale.FontSpec.FontColor = Color.White;
myPane.YAxis.MajorGrid.IsVisible = true;
myPane.YAxis.MajorGrid.Color = Color.DarkGreen;
zedGraphControl1.IsShowPointValues = true;
myPane.CurveList.Clear();
// 데이터 표시용 double[] tX = new double[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
double[] tY = new double[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
LineItem myCurve = myPane.AddCurve("test", tX,tY, Color.DimGray, SymbolType.None);
// 박스 그리기
BoxObj box = new BoxObj(4, 6, 2, 3, Color.Red, Color.FromArgb(50, Color.Red));
myPane.GraphObjList.Add(box);
zedGraphControl1.AxisChange();
zedGraphControl1.Invalidate();
base.OnLoad(e);
}
}
}
|
cs |
실행 결과
테스트용으로 위의 코드로 박스를 구현하였습니다.
응용 화면
박스에 포함된 데이터가 있는 경우 녹색으로 표시
참고 사이트
https://stackoverflow.com/questions/18760153/zedgraph-different-line-colors
반응형
'프로그래밍 > C Sharp' 카테고리의 다른 글
[ C# ] ABB 로봇 PC 연동 #2 - SDK 사용하기(참조) (1) | 2022.11.03 |
---|---|
[ C# ] 데이터 그리드 엑셀로 읽고 쓰기(고속 방식) (0) | 2022.11.02 |
[C#] 람다식과 델리게이트 , 이벤트 비교 (0) | 2022.01.19 |
[WPF] 프레임에서 페이지 전환 하기 (0) | 2022.01.13 |
[ C# ] DataTable CSV 읽고 쓰기 (0) | 2022.01.13 |
댓글