因为偶然的原因接触了ZedGraph这个图形库,自己做了一些简单的测试,按照自己的想法和理解在这里做一下记录。首先是一个最基本的条形统计图。效果如图所示:
要使用ZedGraph的话(这里都是在Winform中使用),首先从网上下载ZedGraph.dll这个库文件。然后在把其添加到VS工具箱,在VS工具箱中就会出现ZedGraphControl这个控件了,把这个控件拖到Winform窗体上就可以使用了。(记得要把ZedGraph这个命名空间引入进来,拖控件过来是文件开始不会自动引入这个命名空间)。
加入ZedGraph控件的窗口如下:
画图过程很简单:
1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 using System.Windows.Forms; 9 using ZedGraph;//记得引入。10 11 namespace 条形统计图212 {13 public partial class Form1 : Form14 {15 public Form1()16 {17 InitializeComponent();18 }19 20 private void Form1_Paint(object sender, PaintEventArgs e)21 {22 //设置统计图面板的标题,横轴和纵轴标题23 MyZedBar.GraphPane.Title.Text = "全区12月份降雨量统计图";24 MyZedBar.GraphPane.XAxis.Title.Text = "";25 MyZedBar.GraphPane.YAxis.Title.Text = "降雨量";26 //设置X轴模式为文本模式,并为X轴设定刻度文本。27 string[] month = { "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月" };28 MyZedBar.GraphPane.XAxis.Type = AxisType.Text;29 MyZedBar.GraphPane.XAxis.Scale.TextLabels = month;30 //降雨量数据31 double[] jy = { 12.6, 25.6, 17.4 ,25.1 ,7.1, 17.2, 19.3 ,29.7 ,23.6 ,36.4,18.8 ,31.7 };32 //根据降雨量数据,添加条形图中的条形。这里是一起全部添加上去,并采用红色。33 MyZedBar.GraphPane.AddBar("降雨量", null, jy, Color.Red);34 //为条形创建文本标签。"0.0"是指定文本显示格式。35 BarItem.CreateBarLabels(MyZedBar.GraphPane,false,"0.0");36 //为图表来一个90度的从白色到Color.FromArgb(132, 188, 166)的渐变填充色。37 MyZedBar.GraphPane.Chart.Fill = new Fill(Color.White, Color.FromArgb(132, 188, 166), 90F);38 //将图例表格边框设置成背景色:白色,达到去除图例边框目的。39 MyZedBar.GraphPane.Legend.Border.Color = Color.White;40 //这句变化应放在最后,不然效果有问题。41 MyZedBar.AxisChange();42 }43 }44 }