首页 > 作文

C#实现在窗体上的统计图效果

更新时间:2023-04-05 00:10:23 阅读: 评论:0

本文实例为大家分享了c#实现在窗体上的统计图,供大家参考,具体内容如下

忽然要用到c#来制作统计图,起初不太清除怎么弄,看了一些代码实现统计图的文档。终于实现了条形图的设置,后来又需要饼状图。本来还是想自己画的后来才世预赛12强分组发现c#是有这种窗体控件的,控件画比我强太多了。

这是我自己做的条形图的函数:

public static int width = 400, height = 400;//声明宽与高 bitmap bitmap = new bitmap(wi血鳖dth, height);//创建一个绘图对象 //这四个参数分别是表的列名,tp1,tp2,tp3均是条形的长,s1,s2,s3代表每个条形的数据 public void createimage(string s, int tp1, int tp2,int tp3, string s1, string s2,string s3)    {      graphics g = graphics.fromimage(bitmap);      g.fillrectangle(brushes.black, 0, 0, 400, 400);//边框      try      {        g.clear(color.white);        //创建6个brush,用于填充颜色        brush brush1 = new solidbrush(color.white);        brush brush2 = new solidbrush(color.black);        brush brush3 = new solidbrush(color.red);        brush brush4 = new solidbrush(color.green);        brush brush5 = new solidbrush(color.orange);        brush brush6 = new solidbrush(color.darkblue);        //创建两个foshangshunt对象,用于设置字体        font font1 = new font("宋体", 16, fontstyle.bold);        font font2 = new font("courier new", 8);        g.fillrectangle(brush1, 0, 0, width, height);//绘制背景图        g.drawstring(s, font1, brush2, new point(90, 2普通话证书怎么考0));//绘制标题        point p1 = new point(30, 300);        point p2 = new point(330, 300);        //这里用到的减式是由于画布的坐标系和数学中的坐标系不同,参考下面的图        g.drawstring(s1, font2, brush2, new point(90, 285 - (tp1 * 10)));        g.drawstring(s2, font2, brush2, new point(150, 285 - (tp2 * 10)));        g.drawstring(s2, font2, brush2, new point(210, 285 - (tp3 * 10)));        g.fillrectangle(brush3, 90, 300 - (tp1 * 10), 50, tp1 * 10);//        g.fillrectangle(brush4, 150, 300 - (tp2 * 10), 50, tp2 * 10);/小学课外活动记录/        g.fillrectangle(brush5, 210, 300 - (tp3 * 10), 50, tp3 * 10);        g.drawline(new pen(color.black), p1, p2);//绘制一条直线        picturebox1.image = bitmap;      }      catch (exception)      {        throw;      }    }

画布中的坐标系:

如果换成c#中的chart控件来做就简单多了

1.找到控件的legends属性把其中的enabled改成fal。
2.找到控件的ries属性把其中的charttype改成你需要的表形式。
3.接下就是为chart控件添加数据。

添加数据的方式之一:

string[] xdata = { "经理", "总监", "销售" }; int[] ydata = {10, 20, 30}; chart1.ries[0]["pielabelstyle"] = "outside";//将文字移到外侧 chart1.ries[0]["pielinecolor"] = "black";//绘制黑色的连线。 chart1.ries[0].points.databindxy(xdata, ydata);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持www.887551.com。

本文发布于:2023-04-05 00:10:21,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/f7ba6658f89e7722390b3e3b8eb08ccb.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:C#实现在窗体上的统计图效果.doc

本文 PDF 下载地址:C#实现在窗体上的统计图效果.pdf

标签:控件   坐标系   条形   画布
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图