Winform Chart控件绘制阴影区域

先来看看效果

公司电力项目需要绘制这种工业图表,之前同事用Series绘制的 有点麻烦 需要计算起始点位置,后来我发现Chart控件本来就提供了这种阴影属性,简单方便

直接上代码

private void InitChart()
        {
            ChartArea chartArea2 = new ChartArea();

            chartArea2.AxisX.Minimum = 10;
            chartArea2.AxisX.Maximum = 100;
            chartArea2.AxisX.Interval = 10;
            chartArea2.AxisX.IsStartedFromZero = true;
            chartArea2.AxisX.Title = "主 X 轴";
            chartArea2.AxisX.Enabled = AxisEnabled.True;
            chartArea2.AxisX.TitleAlignment = StringAlignment.Near;
            chartArea2.AxisX.MajorGrid.LineColor = Color.Brown;
            chartArea2.AxisX.MajorGrid.LineDashStyle = ChartDashStyle.Solid;

            chartArea2.AxisY.Minimum = 10;
            chartArea2.AxisY.Maximum = 100;
            chartArea2.AxisY.Interval = 10;
            chartArea2.AxisY.IsStartedFromZero = false;
            chartArea2.AxisY.Title = "主 Y 轴";
            chartArea2.AxisX.Enabled = AxisEnabled.True;

            chartArea2.Name = "chartArea2";

            Series m1 = new Series();
            m1.Points.AddXY(0, 100);
            m1.Points.AddXY(85, 100);
            m1.ChartType = SeriesChartType.Area;
            m1.Color = Color.Red;
            m1.BackHatchStyle = ChartHatchStyle.DarkDownwardDiagonal;

            Series m2 = new Series();
            m2.Points.AddXY(10, 30);
            m2.Points.AddXY(35, 55);
            m2.Points.AddXY(65, 55);
            m2.Points.AddXY(85, 65);
            m2.ChartType = SeriesChartType.Line;
            m2.Color = Color.Blue;
            m2.BorderWidth = 2; 

            Series m5 = new Series();
            m5.Points.AddXY(10, 30);
            m5.Points.AddXY(35, 55);
            m5.Points.AddXY(65, 55);
            m5.Points.AddXY(85, 65);
            m5.ChartType = SeriesChartType.Area;
            m5.Color = Color.Purple;
            m5.BackHatchStyle = ChartHatchStyle.DarkDownwardDiagonal;

            Series m6 = new Series();
            m6.Points.AddXY(10, 20);
            m6.Points.AddXY(35, 45);
            m6.Points.AddXY(65, 45);
            m6.Points.AddXY(85, 55);
            m6.ChartType = SeriesChartType.Line;
            m6.Color = Color.Blue;
            m6.BorderWidth = 2; 

            Series m3 = new Series();
            m3.Points.AddXY(10, 20);
            m3.Points.AddXY(35, 45);
            m3.Points.AddXY(65, 45);
            m3.Points.AddXY(85, 55);
            m3.ChartType = SeriesChartType.Area;
            m3.Color = Color.Green;
            m3.BackHatchStyle = ChartHatchStyle.DarkDownwardDiagonal;

            this.chart1.Series.Add(m1);
            this.chart1.Series.Add(m2);
            this.chart1.Series.Add(m5);
            this.chart1.Series.Add(m6);
            this.chart1.Series.Add(m3);

            this.chart1.ChartAreas.Add(chartArea2);
        }

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-29 07:25:59

Winform Chart控件绘制阴影区域的相关文章

C# chart控件绘制曲线

在.NET中以前经常用GDI去绘制,虽然效果也不错,自从.NET 4.0开始,专门为绘制图表而生的Chart控件出现了,有了它,就可以轻松的绘制你所需要的曲线图.柱状图什么的了. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; using System.Windows.Forms.DataVisualization.C

c# 通过.net自带的chart控件绘制饼图pie chart

c# 通过.net自带的chart控件绘制饼图pie chart 需要实现的目标是: 1.将数据绑定到pie的后台数据中,自动生成饼图. 2.生成的饼图有详细文字的说明. 具体的实现步骤: >>前台界面的设置: 1.设置chart1的属性Legends中默认的Legend1的Enable为false: 2.设置Series的ChartType为Pie 3.设置Series显示的文字内容(此处比较关键) 至此,前台的设置完成. >>下面填写后台代码: List<string&g

WinForm Chart控件使用记录(由于制作饼装,柱状,折线图)

由于公司的winform项目需要用到Chart图表,抽空研究了一下,特地发上来给大家做个参考,就目前而言用到的属性说明都做了注释: 主要用到Chart控件图表区域的属性有五个属性 Annotations 批注集合(我没怎么用到,但是配置的话会在图标区域出现一些可以备注的东西吧) ChartAreas 图表区属性:主要设置图标数据的背景,比如3D或者隐藏还是显示横纵轴交叉线,分块颜色显示等 Lengends 图表图例集合 主要设置图表边说明的一些东西,这次项目没什么用到,但是觉得这个基本没啥用,有

WPF调用Winform Chart控件绘图

最近在研究WPF,需要用到类似Chart的控件来绘制折线图,横坐标自定义时间信息.先后研究了DynamicDataDisplay.ChartPlotter.Toolkit,因为WPF用的人太少了,这方面可以查到的资料太少了.DynamicDataDisplay.ChartPlotter虽然能实现横坐标显示时间,但是我想显示的是历史的时间信息,非当下时间,遂弃之.如果有知道的大神,可以提点下我怎么改. 以上种种,导致我想用熟悉的Winform下的Chart来绘制. 1.首先添加引用 System.

WPF 使用WinForm Chart控件

第一步:  页面 首先引用命名空间 xmlns:wfi="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration" xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms" xmlns:Chr="clr-namespace:System.Windows.Form

C# Chart控件,chart、Series、ChartArea曲线图绘制的重要属性

原文有备份,如有错误和需要改进的地方,请不吝指正会继续修改的 8个月没写博客了- -,一来是有不想继续干开发的想法,二来是赖的写,三来还是不想总结.所以为了继续坚持自己的开发和总结的信念,总结一下C# chart控件的一些基本属性,由于属性太多了,一时半会儿写不完,以后继续补充,这里总结重要的常用的属性 为避免耽误不喜欢这种曲线图效果的亲们的时间,先看一下小DEMO效果图: 先简单说一下,从图中可以看到一个chart可以绘制多个ChartArea,每个ChartArea都可以绘制多条Series

winform上控件太多,绘制时会逐个出现,通常说双缓冲能解决但实际不能解决的问题的解决方法。

protected override CreateParams CreateParams { get { CreateParams cp = base.CreateParams; cp.ExStyle |= 0x02000000; return cp; } } 接着找办法解决500多个控件PAINT缓慢的效能问题,心塞.分类都不想分了,就这样. winform上控件太多,绘制时会逐个出现,通常说双缓冲能解决但实际不能解决的问题的解决方法.,布布扣,bubuko.com

Winform的Chart控件使用笔记

这里记录在使用Winform的Chart控件过程中发现的一些技巧点. 1. 撤销所有放大动作 chart1.ChartAreas[0].AxisX.ScaleView.ZoomReset(1); —— 撤销一次放大动作 chart1.ChartAreas[0].AxisX.ScaleView.ZoomReset(0); —— 撤销所有放大动作 Winform的Chart控件使用笔记

C#用serialPort和chart控件实现简单波形绘制

先看最终的效果图: 主要实现功能是将串口发送过来的数据按波形显示 注:本例是以串口调试助手和虚拟串口VSPD软件模拟串口发送数据的,详细说明见下文 说明: serialPort的ReadByte()方法用于从System.IO.Ports.SerialPort输入缓冲区中同步读取一个字节. chart控件的spline为曲线图,以光滑的曲线连接各点. 几个代码块说明: (1) private void SearchAndAddSerialToCombobox(SerialPort Myport,