WinFrom折线图
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms; namespace MyEillipse
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void Form1_Paint(object sender, PaintEventArgs e)
{
//声明一个string类型的数组用于存储一年中的12个月份
string[] month = new string[] {"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"};
float[] d = new float[] { 20.5F,,10.8F,15.6F,,70.9F,50.3F,30.7F,,50.4F,30.8F,};
//画图初始化
Bitmap bMap = new Bitmap(,);
Graphics gph = Graphics.FromImage(bMap);
gph.Clear(Color.White); PointF cPt = new PointF(, );//中心点
//X轴三角形
PointF[] xPt = new PointF[] { new PointF(cPt.Y + , cPt.Y), new PointF(cPt.Y, cPt.Y-), new PointF(cPt.Y, cPt.Y+) };
//Y轴三角形
PointF[] yPt = new PointF[] { new PointF(cPt.X, cPt.X - ), new PointF(cPt.X - , cPt.X), new PointF(cPt.X + , cPt.X) };
gph.DrawString("某工厂某产品月生产量图表",new Font("宋体",),Brushes.Black,new PointF(cPt.X+,cPt.X)); //X轴
gph.DrawLine(Pens.Black, cPt.X, cPt.Y, cPt.Y, cPt.Y);
gph.DrawPolygon(Pens.Black, xPt);
gph.FillPolygon(new SolidBrush(Color.Black), xPt);
gph.DrawString("月份", new Font("宋体", ), Brushes.Black, new PointF(cPt.Y + , cPt.Y + )); //Y轴
gph.DrawLine(Pens.Black, cPt.X, cPt.Y, cPt.X, cPt.X);
gph.DrawPolygon(Pens.Black, yPt);
gph.FillPolygon(new SolidBrush(Color.Black), yPt);
gph.DrawString("单位(万)", new Font("宋体", ), Brushes.Black, new PointF(,)); for (int i = ; i <=; i++)
{
//画Y轴刻度
if (i < )
{
gph.DrawString((i * ).ToString(), new Font("宋体", ), Brushes.Black, new PointF(cPt.X - , cPt.Y - i * - ));
gph.DrawLine(Pens.Black, cPt.X - , cPt.Y - i * , cPt.X, cPt.Y - i * );
}
//画X轴
gph.DrawString(month[i - ].Substring(, ), new Font("宋体", ), Brushes.Black, new PointF(cPt.X + i * - , cPt.Y + ));
gph.DrawString(month[i - ].Substring(, ), new Font("宋体", ), Brushes.Black, new PointF(cPt.X + i * - , cPt.Y + )); if (month[i - ].Length>)
gph.DrawString(month[i-].Substring(,),new Font("宋体",),Brushes.Black,new PointF(cPt.X+i*-,cPt.Y+));
//画点
gph.DrawEllipse(Pens.Black,cPt.X+i*-1.5F,cPt.Y-d[i-]*-1.5F,,);
gph.FillEllipse(new SolidBrush(Color.Black),cPt.X+i*-1.5F,cPt.Y-d[i-]*-1.5F,,);
//画数值
gph.DrawString(d[i - ].ToString(), new Font("宋体", ), Brushes.Black, new PointF(cPt.X + i * , cPt.Y - d[i - ] * ));
//画折线 if(i>) gph.DrawLine(Pens.Red,cPt.X+(i-)*,cPt.Y-d[i-]*,cPt.X+i*,cPt.Y-d[i-]*);
}
pictureBox1.Image = bMap;
}
}
}

WinFrom折线图的更多相关文章
- C# 实时折线图,波形图
此Demo是采用VS自带的Chart图表控件,制作实时动态显示的折线图,和波形图. 涉及到知识如下: Chart 控件,功能强大,可以绘制柱状图,折线图,波形图,饼状图,大大简化了对图的开发与定制. ...
- Android开发学习之路-自定义控件(天气趋势折线图)
之前写了个天气APP,带4天预报和5天历史信息.所以想着要不要加一个折线图来显示一下天气变化趋势,难得有空,就写了一下,这里做些记录,脑袋不好使容易忘事. 先放一下效果: 控件内容比较简单,就是一个普 ...
- react-echarts之折线图的显示
react中想要实现折线图和饼图的功能,需要引入react-echarts包,然后再实现折线图的功能.我这里引用的版本是:0.1.1.其他的写法参echarts官网即可.下面详细讲解的是我在react ...
- 用canvas绘制折线图
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- MPAndroidChart 3.0——LineChart(折线图)
显示效果 MPAndroidChart每一种图表的基本使用方式都基本相同 了解一种图表的实现 参考项目源码其他的图表也就差不多哩 在布局文件中定义 <com.github.mikephil.ch ...
- echart折线图小知识
1)在折线图中,有时我们不想让太多折线显示,那么就隐藏,点击legend区域文字再显示. 比如我们要隐藏的折线叫"联盟广告",代码如下 var selected = {}; sel ...
- hellocharts的折线图与柱状图的结合之ComboLineColumnChartView
哼哼,网上找了半天都不全,所以决定自己写一个完整的可以直接贴代码的 test.xml <?xml version="1.0" encoding="utf-8&quo ...
- Android自定义折线图
老师布置了个作业:http://www.cnblogs.com/qingxu/p/5316897.html 作业中提到的 “玩了几天以后,大家发现了一些很有意思的现象,比如黄金点在逐渐地往下移动.” ...
- Morris.js和flot绘制折线图的比较
[文章摘要] 最近用开源的AdminLTE做框架感觉效果特别好,其针对图表库Morris.js和flot都提供了不错的支持,也都提供了这两者的例子.不过Morris.js是基于Raphael.js来的 ...
随机推荐
- [Objective-C语言教程]内存管理(36)
内存管理是任何编程语言中最重要的过程之一.它是在需要时分配对象的内存并在不再需要时取消分配的过程. 管理对象内存是一个性能问题; 如果应用程序不释放不需要的对象,则应用程序会因内存占用增加并且性能受损 ...
- Windows 断开CIFS共享出现 “此网络连接不存在”
Windows 断开CIFS共享出现 "此网络连接不存在" 首先请您尝试 net use * /delete /y 命令,若无效本文就是为您准备的. 检查是否是因为用户被设置共享桌 ...
- [转]NSProxy实现AOP方便为ios应用实现异常处理策略
[转载自:http://blog.csdn.net/yanghua_kobe/article/details/8395535] 前段时间关注过objc实现的AOP,在GitHub找到了其中的两个库:A ...
- ownCloud问题处理server replied 423 Locked to
打开owncloud 数据库备份:oc_file_locks表(备份免错哦)然后清空该表,客户端同步一次,故障解决 owncloud大的数据无法同步..
- Mysql update from
UPDATE tab1 a INNER JOIN tab_game_version as b ON a.id=b.id SET a.advert_data=0 where a.advert_dat ...
- 钩子编程(HOOK) 屏蔽全部按键、鼠标及系统功能键 (4)
摘要:上篇文章<钩子编程(HOOK) 安装系统全局钩子>已经具体的解说了全局钩子的安装.本文将增强一下钩子的功能.实现屏蔽全部按键鼠标与系统功能键.要实现这个功能.须要安装两个全局钩子,& ...
- Django分页的实现
Django分页的实现 Django ORM 分页介绍 分页是网页浏览中常见到的一种形式,在数据量较大时,一个页面显示不全,采取分割数据由用户选择进行显示的方式. 基本实现 技术点 通过切片得到数据 ...
- 数组或者stack
数组 clear1(long long int array[], size_t int size) { ; i < size; i += ) array[i] = ; } li x5, // i ...
- Python中utf-8与utf-8-sig两种编码格式的区别
As UTF-8 is an 8-bit encoding no BOM is required and anyU+FEFF character in the decoded Unicode stri ...
- 配置tomcat-users
<role rolename="admin-gui"/><role rolename="admin-script"/><role ...