c#样条曲线命令_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.Charting;
using System.Drawing;
namespace DrawGraph
{
///
/// 绘制曲线类
///
public static class DrawClass
{
#region 绘制曲线函数
///
/// 绘制曲线函数
///
/// X值集合
/// Y值集合
/// Chart控件
public static void DrawSpline(List listX, List listY, Chart chart)
{
try
{
//X、Y值成员
chart.Series[0].Points.DataBindXY(listX, listY);
chart.Series[0].Points.DataBindY(listY);
//点颜色
chart.Series[0].MarkerColor = Color.Green;
//图表类型 设置为样条图曲线
chart.Series[0].ChartType = SeriesChartType.Spline;
//设置点的大小
chart.Series[0].MarkerSize = 5;
//设置曲线的颜色
chart.Series[0].Color = Color.Orange;
//设置曲线宽度
chart.Series[0].BorderWidth = 2;
//chart.Series[0].CustomProperties = "PointWidth=4";
//设置是否显示坐标标注
chart.Series[0].IsValueShownAsLabel = false;
//设置游标
chart.ChartAreas[0].CursorX.IsUserEnabled = true;
chart.ChartAreas[0].CursorX.AutoScroll = true;
chart.ChartAreas[0].CursorX.IsUserSelectionEnabled = true;
//设置X轴是否可以缩放
chart.ChartAreas[0].AxisX.ScaleView.Zoomable = true;
//将滚动条放到图表外
chart.ChartAreas[0].AxisX.ScrollBar.IsPositionedInside = false;
// 设置滚动条的大小
chart.ChartAreas[0].AxisX.ScrollBar.Size = 15;
// 设置滚动条的按钮的风格,下面代码是将所有滚动条上的按钮都显示出来
chart.ChartAreas[0].AxisX.ScrollBar.ButtonStyle = ScrollBarButtonStyles.All;
chart.ChartAreas[0].AxisX.ScrollBar.ButtonColor = Color.SkyBlue;
// 设置自动放大与缩小的最小量
chart.ChartAreas[0].AxisX.ScaleView.SmallScrollSize = double.NaN;
chart.ChartAreas[0].AxisX.ScaleView.SmallScrollMinSize = 1;
//设置刻度间隔
chart.ChartAreas[0].AxisX.Interval = 10;
//将X轴上格网取消
chart.ChartAreas[0].AxisX.MajorGrid.Enabled = false;
//X轴、Y轴标题
chart.ChartAreas[0].AxisX.Title = "环号";
chart.ChartAreas[0].AxisY.Title = "直径";
//设置Y轴范围 可以根据实际情况重新修改
double max = listY[0];
double min = listY[0];
foreach (var yValue in listY)
{
if (max < yValue)
{
max = yValue;
}
if (min > yValue)
{
min = yValue;
}
}
chart.ChartAreas[0].AxisY.Maximum = max;
chart.ChartAreas[0].AxisY.Minimum = min;
chart.ChartAreas[0].AxisY.Interval = (max - min) / 10;
//绑定数据源
chart.DataBind();
}
catch (Exception exc)
{
MessageBox.Show(exc.ToString());
}
}
#endregion
#region 鼠标点击,通过环号显示游标,并缩放到响应位置
///
/// 鼠标点击,通过环号显示游标,并缩放到响应位置函数
///
/// 环号
/// Chart控件
public static void ShowCurByClick(int ringNum, Chart chart)
{
//设置游标位置
chart.ChartAreas[0].CursorX.Position = ringNum;
//设置视图缩放
chart.ChartAreas[0].AxisX.ScaleView.Zoom(ringNum - 1, ringNum + 2);
//改变曲线线宽
chart.Series[0].BorderWidth = 3;
//改变X轴刻度间隔
chart.ChartAreas[0].AxisX.Interval = 1;
}
#endregion
}
}
标签:
c#样条曲线命令_C# chart控件绘制曲线相关推荐
- 使用.net 的Chart控件绘制曲线图
System.Windows.Forms.DataVisualization.Charting 命名空间 System.Windows.Forms.DataVisualization.Charting ...
- C# WinForm开发系列之c# 通过.net自带的chart控件绘制饼图,柱形图和折线图的基础使用和扩展
一.需要实现的目标是: 1.将数据绑定到pie的后台数据中,自动生成饼图. 2.生成的饼图有详细文字的说明. 1.设置chart1的属性Legends中默认的Legend1的Enable为false: ...
- C#chart控件绘制折线图、柱状图、饼图、雷达图
转载来源:https://blog.csdn.net/u011854789/article/details/82946553 参考链接: http://www.cnblogs.com/winshe/a ...
- C#Chart控件 获取曲线上点的信息
使用Chart控件实时画线时,鼠标知道某个点上时,要提示这个点的坐标信息. 我对曲线的ToolTip属性进行了设置,结果是除了X轴上的点,其他的点都无法提示信息.如下图所示: 此时可以用GetTool ...
- C#:winform使用chart控件绘制折线图,时间轴可缩放
最近做的一个项目里用到这部分 打算记录下来 挖个坑 已填 Chart坐标轴横轴为时间,纵轴是数值 如果只是一次性绘图,那么遍历一遍数据即可 如果想连续绘制(比如按照时间更新绘制),就需要一个Timer ...
- C# Chart控件,chart、Series、ChartArea曲线图绘制的重要属性
原文有备份,如有错误和需要改进的地方,请不吝指正会继续修改的 8个月没写博客了- -,一来是有不想继续干开发的想法,二来是赖的写,三来还是不想总结.所以为了继续坚持自己的开发和总结的信念,总结一下C# ...
- 使用 SAP UI5 Smart Chart 控件轻松绘制十数种不同类型的专业图表试读版
一套适合 SAP UI5 初学者循序渐进的学习教程 本专栏计划的文章数在 300 篇左右,到 2022年11月19日为止,目前已经更新了 149 篇,专栏完成度为 49.6%. 作者简介 Jerry ...
- C# chart控件基础使用
基本介绍:chart(图表) 功能:主要用来绘制折线图,柱状图与饼状图,也可达到动态效果(例如作示波器): 需要说明 一个chart可以包含多个chartArea. chartArea是具体的坐标区域 ...
- C#中Chart控件的一些由浅至深的理解
最近在做这样一个桌面应用程序,从公司后台服务器查询后,获取到设备上报的数据(每条都是字符串+JSON的形式),其中字符串里包含了设备名称.上报时间这两条信息,JSON中则包含了数据上报类型.重点关注的 ...
最新文章
- Android Demos
- boost::multiprecision模块实现导入/导出 cpp_int 的位 到 8 位无符号值的向量相关的测试程序
- python函数封装计算n运算_在Python里面怎么可以运算出999999999**999999999,求思路?...
- 入门干货:Python操作Word文件经验分享
- 以太网的分层架构_【新能源汽车专题】智能车时代的核心,电子架构系统深度解读,国内8股进入全球产业链(名单)...
- 顺丰拟发行58亿可转债:15亿投入航空运力,12亿还贷款
- SAP License:SAP收购Roambi,领导全球市场商务分析云迁移
- 1个已知CVE,7步,找到一个高质量RCE并获奖金
- 原生js的ajax的get怎么传参,原生js---ajax---get方法传数据
- 4.算法通关面试 --- 树和图
- sqlmap教程(burpsuit辅助)
- 记苹果企业开发者账号申请踩过的坑
- linux查看文档结构图,Linux之文本处理
- 51单片机的温湿度控制系统
- the page has expired due to inactivity. please refresh and try again
- stm32mp15x环境搭建基于linux环境(上)
- java与c的交互,java与c/c++之间的数据交互,java交互
- 你知道域名劫持的重要性吗? 教你防范网站被域名劫持
- 使用simulink进行stm32开发1
- HDU1718--Rank
热门文章
- 请问nj文件如何用html的解析,nj.renderH
- Java程序员:真是会服了面试官,不就要个40k嘛硬是把Spring问烂
- 云之讯php,云之讯短信开发
- linux命令part,技术|十个鲜为人知的 Linux 命令-Part 3
- 盛银消费金融:年报亮眼背后,资产规模或限制持续增长
- 软件测试项目交付,成功交付离岸项目的三个步骤
- wow服务器维护精英怪,魔兽世界tbcp2精英怪去哪刷_wowtbc怀旧服p2稀有精英刷新点_3DM网游...
- 关于用盐去黑头的亲身经历~ - 生活至上,美容至尚!
- 时评素材2019简短华为鸿蒙,2019社会热点话题时评素材:从网络热词看生活热度...
- 【汇正财经】波段操作有哪些运用技巧?