• 如何让chart图进行刷新并且根据数值重新绘制

首先初始化一个chart

                 chart1.Titles.Add("柱状图数据分析");
chart1.ChartAreas[].AxisX.Title = "时间(月)";
chart1.ChartAreas[].AxisY.Title = "单位(元)";
//chart1
Series series = chart1.Series["Series1"];
series.LegendText = "销售分析";
chart1.DataSource = list;
series.XValueMember = "time";
series.YValueMembers = "value";

进行重新绘制

             chart1.Series["Series1"].Points.Clear();//清除之前的图
Series series = chart1.Series["Series1"];
// 图示上的文字
series.LegendText = "销售分析";
//InitializeComponent();
//获取当前年份查询
List<LirunModel> list = new LirunDao().getList(year,type);
if (list != null)
{
chart1.DataSource = list;
series.XValueMember = "time";
series.YValueMembers = "value";
}
  • time和value是怎么回事?

这是给chart赋值的过程;

首先有一个模型类

    class LirunModel
{
private double _value; public double Value
{
get { return _value; }
set { _value = value; }
}
private string _time; public string Time
{
get { return _time; }
set { _time = value; }
} }

然后用一个List保存多个模型类的对象,最后通过这个list给chart的横纵坐标赋值。

         //年份和类型 1是销售额   2是利润
public List<LirunModel> getList(int year,int type)
{
List<LirunModel> list=new List<LirunModel>(); LirunModel m=null;
for (int i = ; i < ; i++)
{
m = new LirunModel();
m.Time = i + "月";
if (type == )
{
m.Value = getInByMonth(i, year);
}
else if (type == )
{
m.Value = getInByMonth(i, year) - getOutByMonth(i, year);
}
list.Add(m);
}
return list;
}
  • C#获取年份

DateTime.Now.Year.ToString();         获取年份  // 2008

DateTime.Now.ToString();            // 2008-9-4 20:02:10

DateTime.Now.ToString("yyyy-MM-dd");        // 2008-09-04

DateTime.Now.Month.ToString();      获取月份   // 9

DateTime.Now.DayOfWeek.ToString(); 获取星期   // Thursday

DateTime.Now.DayOfYear.ToString(); 获取第几天   // 248

  • c#如何让chart中的每个横坐标都显示

首先,通过chart空间属性,找到 “ChartAreas集合” ,并且点开

于是来到了ChartAreas集合编辑器,在右边ChartAreas1属性中找到 “Axes集合",并点开,如图
因为我们要设置的是x轴,所以在 ”Axis集合编辑器“ 左边中选 ”x axis“,
在右边属性中选择 ”IntervalAutoMode“ 在下来项中选中 ”VariableCount“,设定x轴的间隔是可变的,
设定x轴间隔可变
这时,如果x轴标签过多,可能还不会使得x轴标签全部显示出来,这就需要把x轴标签分为上下两层显示
还是在 ”Axis集合编辑器“ 中找到 ”IsStaggered属性“ 设其值为 ”True“,
在 ”Axis集合编辑器“ 中找到 ”IsStaggered属性“ 设其值为 ”True“,
接着在运行,成功显示x轴全部标签
当然,还有另一种方法,使x轴标签旋转90度角显示,
在设置x轴可变后,在 ”Axis集合编辑器“ 选中 ”Angle“ 选项,设置值为90,
点击 ”确定“ 退出设置

或者可以添加这句代码

Chart1.ChartAreas[0].AxisX.LabelStyle.IsStaggered = true;   //设置是否交错显示,比如数据多的时间分成两行来显示

winform程序中chart图的使用经验(chart图的更新)的更多相关文章

  1. 在微信小程序中使用 echarts 图片-例 折线图

    首先进入echarts官方[https://echarts.apache.org/handbook/zh/get-started/].这边只需要在小程序中简单应用一下echarts折线图 所以不需要把 ...

  2. Halcon的HWindowControl控件在WinForm程序中的使用介绍(重点解决图片缩放的问题)

     Halcon的HWindowControl控件在WinForm程序中的使用介绍(重点解决图片缩放的问题) 2016-12-04 20:11 362人阅读 评论(4) 收藏 举报  分类: Halco ...

  3. 在Winform程序中设置管理员权限及为用户组添加写入权限

    在我们一些Winform程序中,往往需要具有一些特殊的权限才能操作系统文件,我们可以设置运行程序具有管理员权限或者设置运行程序的目录具有写入的权限,如果是在操作系统里面,我们可以设置运行程序以管理员身 ...

  4. (转)在Winform程序中设置管理员权限及为用户组添加写入权限

    本文转载自:http://www.cnblogs.com/wuhuacong/p/5645172.html 在我们一些Winform程序中,往往需要具有一些特殊的权限才能操作系统文件,我们可以设置运行 ...

  5. WinForm程序中两份mdf文件问题的解决

    在项目中用程序中嵌入mdf文件的方式来进行SQLServer数据库开发非常方便,用来发布开源项目等很方便,点击就可以运行,免部署,特别是在教学中用起来更加方便,老师不用先将数据库文件detach再发给 ...

  6. 在C#中winform程序中应用nlog日志工具

    在C#中winform程序中应用nlog日志工具,配置文件简单应用. 文件名 nlog.config,请注意修改属性为"始终复制",发布时候容易遇到不存在文件的错误提示. 通过Nu ...

  7. C#中Winform程序中如何实现多维表头【不通过第三方报表程序】

    问题:C#中Winform程序中如何实现多维表头. 在网上搜了很多方法,大多数方法对于我这种新手,看的都不是很懂.最后在新浪博客看到了一篇比较易懂的文章:[DataGridView二维表头与合并单元格 ...

  8. 在Winform程序中使用Spire.Pdf实现页面添加印章处理

    在一些场合,我们往往需要使用印章来给每页文档加盖一个印章,以表示该文档经过某个部门的认证的,常规的做法就是打印文档后盖章,如果需要电子档再行扫描一下.这样的的处理,如果文档很多,且仅仅需要电子文档的就 ...

  9. .NET混合开发解决方案7 WinForm程序中通过NuGet管理器引用集成WebView2控件

    系列目录     [已更新最新开发文章,点击查看详细] WebView2组件支持在WinForm.WPF.WinUI3.Win32应用程序中集成加载Web网页功能应用.本篇主要介绍如何在WinForm ...

  10. .NET混合开发解决方案8 WinForm程序中通过设置固定版本运行时的BrowserExecutableFolder属性集成WebView2控件

    系列目录     [已更新最新开发文章,点击查看详细] 在我的博客<.NET混合开发解决方案7 WinForm程序中通过NuGet管理器引用集成WebView2控件>中介绍了WinForm ...

随机推荐

  1. 在微信浏览器中 location.reload() 不刷新解决方案(直接调用方法)

    1.问题 在微信浏览器中,需要时刷新当前页面. 正常情况下我们直接使用 location.reload 方法来刷新. 2.解决方法 function realod(){ var {search,hre ...

  2. 项目中使用的artTemplate笔记

    1.注意数据格式为 var results = { data:[ {name:'xiaoming',age:'18'},{name:'xiaohong',age:'18'},{name:'xiaogo ...

  3. HDU 6495 冰水挑战

    Problem Description Polar Bear Pitching helps you crystallize your message. The stage could not be a ...

  4. POJ 1321 棋盘问题(搜索的方式)

    Description 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别.要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子 ...

  5. [leecode]---11.container with most water

    description: Input: [1,8,6,2,5,4,8,3,7]Output: 49 思路1: 从(1,a1)开始向后算面积,需要两层n循环,时间复杂度n2 思路2: 找出数组中最大的数 ...

  6. JAVA写接口傻瓜($)教程(三)

    接上一篇 补充:事实上java的类需要在src文件夹里写,classes文件夹只是会同步src文件夹里的类.如果在classes文件夹里操作java类,是会提示文件只读的.src文件夹中进行代码编写 ...

  7. thymeleaf下拉框从后台动态获取集合数据并回显选中

    今天遇到从后台集合中取出对象在前台页面下拉列表展示: <select name="signature" lay-search="" class=" ...

  8. 博客编辑器Open Live Writer的安装以及配置

    下载安装包 访问官网  http://openlivewriter.org/ 或者微软商店  https://www.microsoft.com/en-us/p/open-live-writer/9n ...

  9. 图片转成Base64

    var img = "imgurl";//imgurl 就是你的图片路径 function getBase64Image(img) { var canvas = document. ...

  10. CentOS 中安装和卸载 Emacs

    日志更新记录: [1] 增加 CentOS7.2 (内核版本:3.10.0-514.16.1.el7.x86_64)下Emacs25.2 的安装过程,它与本文的步骤完全一样. Emacs 版本:htt ...