VC# TMSChart图形绘制
来源:互联网 发布:vscode react 编辑:程序博客网 时间:2024/06/11 06:14
使用前必須安裝組件,我是使用VS2010,忘了當初有沒有裝(半個月前的事...)
Microsoft Chart Controls for Microsoft .NET Framework 3.5
Microsoft Chart Controls for Microsoft .NET Framework 3.5 語言套件
Microsoft Chart Controls Add-on for Microsoft Visual Studio 2008 (裝完後可以在工具箱拖曳使用)
Microsoft Chart Controls for .NET Framework Documentation (安裝及使用說明文件)
MSChart - 使用直條圖&恆條圖
01
using
System.Web.UI.DataVisualization.Charting;
02
using
System.Drawing;
03
04
namespace
Chart.AJAX
05
{
06
public
partial
class
Export_AJAX : System.Web.UI.Page
07
{
08
void
CreateChart()
09
{
10
string
[] xValues = {
"數值1"
,
"數值2"
};
11
string
[] titleArr = {
"活動1"
,
"活動2"
};
12
int
[] yValues = {269000, 94};
13
int
[] yValues2 = {120300, 116};
14
15
//ChartAreas,Series,Legends 基本設定--------------------------------------------------
16
Chart Chart1 =
new
Chart();
17
Chart1.ChartAreas.Add(
"ChartArea1"
);
//圖表區域集合
18
Chart1.Series.Add(
"Series1"
);
//數據序列集合
19
Chart1.Series.Add(
"Series2"
);
20
Chart1.Legends.Add(
"Legends1"
);
//圖例集合
21
22
//設定 Chart
23
Chart1.Width = 700;
24
Chart1.Height = 400;
25
Title title =
new
Title();
26
title.Text =
"長條圖"
;
27
title.Alignment = ContentAlignment.MiddleCenter;
28
title.Font =
new
System.Drawing.Font(
"Trebuchet MS"
, 14F, FontStyle.Bold);
29
Chart1.Titles.Add(title);
30
31
//設定 ChartArea----------------------------------------------------------------------
32
Chart1.ChartAreas[
"ChartArea1"
].Area3DStyle.Enable3D =
true
;
//3D效果
33
Chart1.ChartAreas[
"ChartArea1"
].Area3DStyle.IsClustered =
true
;
//並排顯示
34
Chart1.ChartAreas[
"ChartArea1"
].Area3DStyle.Rotation = 40;
//垂直角度
35
Chart1.ChartAreas[
"ChartArea1"
].Area3DStyle.Inclination = 50;
//水平角度
36
Chart1.ChartAreas[
"ChartArea1"
].Area3DStyle.PointDepth = 30;
//數據條深度
37
Chart1.ChartAreas[
"ChartArea1"
].Area3DStyle.WallWidth = 0;
//外牆寬度
38
Chart1.ChartAreas[
"ChartArea1"
].Area3DStyle.LightStyle = LightStyle.Realistic;
//光源
39
Chart1.ChartAreas[
"ChartArea1"
].BackColor = Color.FromArgb(240, 240, 240);
//背景色
40
Chart1.ChartAreas[
"ChartArea1"
].AxisX2.Enabled = AxisEnabled.False;
//隱藏 X2 標示
41
Chart1.ChartAreas[
"ChartArea1"
].AxisY2.Enabled = AxisEnabled.False;
//隱藏 Y2 標示
42
Chart1.ChartAreas[
"ChartArea1"
].AxisY2.MajorGrid.Enabled =
false
;
//隱藏 Y2 軸線
43
//Y 軸線顏色
44
Chart1.ChartAreas[
"ChartArea1"
].AxisY.MajorGrid.LineColor = Color.FromArgb(150, 150, 150);
45
//X 軸線顏色
46
Chart1.ChartAreas[
"ChartArea1"
].AxisX.MajorGrid.LineColor = Color.FromArgb(150, 150, 150);
47
Chart1.ChartAreas[
"ChartArea1"
].AxisY.LabelStyle.Format =
"#,###"
;
48
//Chart1.ChartAreas["ChartArea1"].AxisY2.Maximum = 160;
49
//Chart1.ChartAreas["ChartArea1"].AxisY2.Interval = 20;
50
51
//設定 Legends------------------------------------------------------------------------
52
Chart1.Legends[
"Legends1"
].DockedToChartArea =
"ChartArea1"
;
//顯示在圖表內
53
//Chart1.Legends["Legends1"].Docking = Docking.Bottom; //自訂顯示位置
54
Chart1.Legends[
"Legends1"
].BackColor = Color.FromArgb(235, 235, 235);
//背景色
55
//斜線背景
56
Chart1.Legends[
"Legends1"
].BackHatchStyle = ChartHatchStyle.DarkDownwardDiagonal;
57
Chart1.Legends[
"Legends1"
].BorderWidth = 1;
58
Chart1.Legends[
"Legends1"
].BorderColor = Color.FromArgb(200, 200, 200);
59
60
//設定 Series-----------------------------------------------------------------------
61
Chart1.Series[
"Series1"
].ChartType = SeriesChartType.Column;
//直條圖
62
//Chart1.Series["Series1"].ChartType = SeriesChartType.Bar; //橫條圖
63
Chart1.Series[
"Series1"
].Points.DataBindXY(xValues, yValues);
64
Chart1.Series[
"Series1"
].Legend =
"Legends1"
;
65
Chart1.Series[
"Series1"
].LegendText = titleArr[0];
66
Chart1.Series[
"Series1"
].LabelFormat =
"#,###"
;
//金錢格式
67
Chart1.Series[
"Series1"
].MarkerSize = 8;
//Label 範圍大小
68
Chart1.Series[
"Series1"
].LabelForeColor = Color.FromArgb(0, 90, 255);
//字體顏色
69
//字體設定
70
Chart1.Series[
"Series1"
].Font =
new
System.Drawing.Font(
"Trebuchet MS"
, 10, System.Drawing.FontStyle.Bold);
71
//Label 背景色
72
Chart1.Series[
"Series1"
].LabelBackColor = Color.FromArgb(150, 255, 255, 255);
73
Chart1.Series[
"Series1"
].Color = Color.FromArgb(240, 65, 140, 240);
//背景色
74
Chart1.Series[
"Series1"
].IsValueShownAsLabel =
true
;
// Show data points labels
75
76
Chart1.Series[
"Series2"
].Points.DataBindXY(xValues, yValues2);
77
Chart1.Series[
"Series2"
].Legend =
"Legends1"
;
78
Chart1.Series[
"Series2"
].LegendText = titleArr[1];
79
Chart1.Series[
"Series2"
].LabelFormat =
"#,###"
;
//金錢格式
80
Chart1.Series[
"Series2"
].MarkerSize = 8;
//Label 範圍大小
81
Chart1.Series[
"Series2"
].LabelForeColor = Color.FromArgb(255, 103, 0);
82
Chart1.Series[
"Series2"
].Font =
new
System.Drawing.Font(
"Trebuchet MS"
, 10, FontStyle.Bold);
83
Chart1.Series[
"Series2"
].LabelBackColor = Color.FromArgb(150, 255, 255, 255);
84
Chart1.Series[
"Series2"
].Color = Color.FromArgb(240, 252, 180, 65);
//背景色
85
Chart1.Series[
"Series2"
].IsValueShownAsLabel =
true
;
//顯示數據
86
Page.Controls.Add(Chart1);
87
88
//Data Table
89
string
output =
"..."
;
//output data table
90
Label label =
new
Label();
91
label.Text = output;
92
Page.Controls.Add(label);
93
}
94
}
95
}
跑出來的圖差不多就長這樣,其中 Series1 是藍色的,Series2 是橘色
直條圖跟橫條圖其實只要改變 SeriesChartType.Column 或 SeriesChartType.Bar 就好了,其他東西都不用做更動
只是裡面有一個 Chart1.Series["Series1"].LabelFormat = "#,###"; //金錢格式
改成橫條圖時會出錯,可能設定的格式不標準之類的?有時間在摸索
另外筆記一下:
可以看到裡面有這些宣告
1
Chart Chart1 =
new
Chart();
2
Chart1.ChartAreas.Add(
"ChartArea1"
);
//圖表區域集合
3
Chart1.Series.Add(
"Series1"
);
//數據序列集合
4
Chart1.Series.Add(
"Series2"
);
5
Chart1.Legends.Add(
"Legends1"
);
//圖例集合
很多範例都可以看到 Chart1.Series["Default"]
一開始接觸看不太懂,自己在 .cs 新增了 Chart1.Series.Add("Series1");
然後卻跟著範例用 Chart1.Series["Default"] ...,導致一直出現找不到 Default 之類的錯誤
因為範例大多都先在 .aspx 拉好,順便設定好,所以就亂用
後來才發現原來 Default 是自己命名的...
所以 Chart1.Series.Add("Series1"); ,就必須 Chart1.Series["Series1"]....
還有 Chart1.Series["Series1"].ChartType ... 等於 Chart1.Series[0].ChartType ...
一開始宣告一定要命名,之後要用 Chart1.Series["第n個Series"] 還是 Chart1.Series[n] 都可以
當然 ChartAreas、Legends 是一樣的道理
0 0
- VC# TMSChart图形绘制
- VC++绘制图形的几种方法
- VC绘制圆角渐变图形
- vc 拖动位图,绘制、删除图形
- VC++深入详解(8):图形绘制
- 电脑象棋开发-vc界面图形绘制
- 我会使用VC++绘制什么图形?
- VC 在桌面上绘制一些图形
- VC++60 第十章 绘制图形
- 孙鑫vc++ 第十课 笔记 图形的绘制
- 孙鑫vc++ 第十课 笔记 图形的绘制
- 孙鑫VC学习(第10--图形的绘制)
- VC绘制有颜色的文字和图形
- 读取csv文件数据内容进行图形绘制(vc++描述)
- VC图形绘制双缓存的代码复用性讨论
- 绘制图形
- 绘制图形
- 绘制图形
- Linux内核编码规范
- Android提示软件更新下载
- Android多媒体开发【7】-- AwesomePlayer中TimedEventQueue-event事件调度器
- java的Random类的使用
- 黄班长2014-3-17-下午2点。
- VC# TMSChart图形绘制
- Tomcat: IOException while loading persisted sessions: java.io.EOFException
- poj 2299 Ultra-QuickSort
- mfc与win32区别
- Fedora的帮助网页--详细的哟
- 程序出现Access violation - code c0000005 (first chance)的解决方法
- PostgreSQL与MySQL命令比较
- 沟通管理技巧漫谈
- 开发人员、程序员与计算机科学家三者之间的区别