一、博文摘要:Chart属性的的介绍
【原文链接】
Chart 可以绘制多个 ChartArea,每个 ChartArea 都可以绘制多条 Series。ChartArea 就是就是绘图区域,可以有多个 ChartArea 叠加在一起,Series 是画在 ChartAarea 上的,Series 英文意思是“序列、连续”,其实就是数据线,它可以是曲线、点、柱形、条形、饼图。
Chart.ChartAreas 属性:获取用于存储 ChartArea 对象的只读 ChartAreaCollection 对象。ChartArea 对象用于绘制一个或多个图表。
Chart.Series 属性:获取 SeriesCollection 对象。Series 对象存储 DataPoint 的对象,以及数据特性
二、结合代码的案例介绍
private void BindData1()
{
List<int> x = new List<int>();
List<int> y = new List<int>();
List<int> y2 = new List<int>();
y2.Add(20);
Random ran = new Random();
for (int i = 0; i < 10; i++)
{
x.Add(i);
y.Add(ran.Next(1, 100));
}
this.chart1.ChartAreas[0].AxisX.MajorGrid.LineColor = System.Drawing.Color.Transparent;//设置y轴和x轴的网格线Wie透明
chart1.ChartAreas["ChartArea1"].AxisX.Title = "随机数";//设置坐标轴的标题
chart1.ChartAreas["ChartArea1"].AxisY.Title = "数值";
chart1.Series["Series1"].IsValueShownAsLabel = true;//把值当做标签显示
chart1.Series["Series1"].Points.DataBindXY(x, y);//第一种绑定的方式
chart1.Series["Series2"].Points.DataBindY(y2);//第二种绑定的方式
chart1.Series["Series2"].Points[0].Color = Color.YellowGreen;//手动设置颜色
// chart1.Series["Series1"].ChartType = SeriesChartType.Pie;
// chart1.Series["Series2"].ChartType = SeriesChartType.Pie;//设置饼状图
}
private void BindData2()
{
chart1.Series.Clear(); //清除默认的Series
Series Strength = new Series("力量"); //new 一个叫做【Strength】的系列
Strength.ChartType = SeriesChartType.Pie; //设置chart的类型 pie饼状图
Strength.IsValueShownAsLabel = true; //把值当做标签展示(默认false)
// Strength.Label = "#VALX:#PERCENT{P0}";//#VALX显示X轴信息,#PERCENT{P0}以百分比显示Y轴信息,{P0}保留0位小数点
int[] arr = new int[] { 20, 20, 20, 40 };
//给系列上的点进行赋值,分别对应横坐标和纵坐标的值
for (int i = 1; i <= arr.Length; i++)
{
Strength.Points.AddXY(i, arr[i - 1]);
}
Strength.Points[0].Color = Color.Yellow; //实现控制饼状图的颜色,改变对应下标的扇形的颜色
//把series添加到chart上
chart1.Series.Add(Strength);
}
补充:Chart中一些细节样式设置
Legends (图例)
Alignment : 设置显示的位置 (左右)
Docking : 设置显示的位置(上下)
(多个Series共用一个Legends)
ChartAreas (图表区)
Axes : 轴集合, 可以设置 X,Y轴的各个属性,
常用:
间隔 intervalAutoMode : 设置X、Y的数据间隔, 显示更加具体
设置双Y轴: 找到 Axes集合中的Y 轴的 Enabled属性设置为true
Titles (标题)
Alignment 、Docking 可以设置标题的显示位置。
设置横坐标不显示
chart1.ChartAreas[0].AxisX.Enabled = AxisEnabled.False;
其他博客参考:
1.如何隐藏网格线
2.Chart的简单使用
3.chart绘制曲线
4.绘制饼状图
List<string> xData = new List<string>() { "A", "B", "C", "D" };
List<int> yData = new List<int>() { 10, 20, 30, 40 };
chart1.Series[0]["PieLabelStyle"] = "Outside";//将文字移到外侧
chart1.Series[0]["PieLineColor"] = "Black";//绘制黑色的连线。
chart1.Series[0].Points.DataBindXY(xData, yData);