C#中Chart的应用

hxt430 2018-04-08 07:47:51
我想用weinform先利用条件查询出维修数据,并显示在datagriverview中
根据维修数据的条数绘制一个以年月为x轴的spline,y轴为查询设备当月的维修次数;
我用的是vs2010和sql2008
求大佬告知如何解决
我今天看到有一样思路的代码了,但是我真的看不懂写的是什么意思。。。
https://blog.csdn.net/Kang_xiong/article/details/53944487

...全文
1356 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_49907647 2020-10-26
  • 打赏
  • 举报
回复
你好,请问你是怎么把数据库中的数据和图形联系起来的呀
Lonely King 2018-04-19
  • 打赏
  • 举报
回复
我竟然看的了装配,这不是富士康的工业4.0么。
八零末愤青 2018-04-18
  • 打赏
  • 举报
回复

/// <summary>
/// 按时间和站点报警数量统计曲线图
/// </summary>
private void getAlarmHoistoryStat()
{
try
{
DateTime stat = dtpStat.Value.Date;
DateTime end = dtpEnd.Value.Date.AddDays(+1);
//根据用户id获取授权站点信息
string devlist = udBLL.GetListData(BaseCommData.BaseUser.USER_GUID);
DataTable dt = alarmBLL.getAlarmSiteStat(devlist, stat, end);

if (dt != null && dt.Rows.Count > 0)
{
Series dataTable3Series = new Series("报警站点数量");
//折线段配置
dataTable3Series.Color = Color.Red; //线条颜色
dataTable3Series.BorderWidth = 3; //线条粗细
dataTable3Series.MarkerBorderColor = Color.Red; //标记点边框颜色
dataTable3Series.MarkerBorderWidth = 3; //标记点边框大小
dataTable3Series.MarkerColor = Color.Red; //标记点中心颜色
dataTable3Series.MarkerSize = 5; //标记点大小
dataTable3Series.MarkerStyle = MarkerStyle.Circle; //标记点类型

dataTable3Series.Points.DataBind(dt.AsEnumerable(), "alarmdate", "siteCount", "");
dataTable3Series.Label = "#VAL"; //设置显示X Y的值
// dataTable3Series.ToolTip = "#VALX年\r#VAL"; //鼠标移动到对应点显示数值
dataTable3Series.XValueType = ChartValueType.Date;//设置X轴类型为时间
dataTable3Series.ChartType = SeriesChartType.Line; //设置Y轴为折线

this.chart1.Titles.Clear();

this.chart1.Titles.Add("报警站点数量趋势图");
chart1.Series.Clear();

chart1.Series.Add(dataTable3Series);//加入你的chart1
}
else
{
chart1.Series.Clear();
}
}
catch
{

}
}

八零末愤青 2018-04-18
  • 打赏
  • 举报
回复
Antony_WU_SZ 2018-04-18
  • 打赏
  • 举报
回复
用Teechart更好用一些,https://blog.csdn.net/ericwuhk/article/details/18222377
巴顿的烦恼 2018-04-10
  • 打赏
  • 举报
回复
谢谢,学习了以后会用到
关中山水郎 2018-04-09
  • 打赏
  • 举报
回复

是不是这样的效果,一个DataGridView表和一个Chart表,折线图简单。
关中山水郎 2018-04-09
  • 打赏
  • 举报
回复
引用 10 楼 qq_38325096 的回复:
[quote=引用 9 楼 m0_37137902 的回复:]
 
                        //  添加标签和值,AddXY(X轴标签,值);
                         chart1.Series[0].Points.AddXY(model.ProjectNumber, Int32.Parse(model.ProjectCount));
                         chart1.Series[1].Points.AddXY(model.ProjectNumber, Int32.Parse(model.NumberRemaining));                       
@m0_37137902 已经能够把数据库中的数据和图形连接起来了,但是我想显示近六个月的数据,同时数据库中的维修日期为date型,包含了年月日,现在我想只让x轴为 年月,就是根据数据库中维修日期,把一个月归为间隔,而不是日作为一个间隔,不太会限定这个条件。[/quote] 修改SQL语句,把数据库里的时间数据归到每个月然后显示
qq_38325096 2018-04-09
  • 打赏
  • 举报
回复
引用 9 楼 m0_37137902 的回复:
 
                        //  添加标签和值,AddXY(X轴标签,值);
                         chart1.Series[0].Points.AddXY(model.ProjectNumber, Int32.Parse(model.ProjectCount));
                         chart1.Series[1].Points.AddXY(model.ProjectNumber, Int32.Parse(model.NumberRemaining));                       
@m0_37137902 已经能够把数据库中的数据和图形连接起来了,但是我想显示近六个月的数据,同时数据库中的维修日期为date型,包含了年月日,现在我想只让x轴为 年月,就是根据数据库中维修日期,把一个月归为间隔,而不是日作为一个间隔,不太会限定这个条件。
关中山水郎 2018-04-09
  • 打赏
  • 举报
回复
 
                        //  添加标签和值,AddXY(X轴标签,值);
                         chart1.Series[0].Points.AddXY(model.ProjectNumber, Int32.Parse(model.ProjectCount));
                         chart1.Series[1].Points.AddXY(model.ProjectNumber, Int32.Parse(model.NumberRemaining));
                       
关中山水郎 2018-04-09
  • 打赏
  • 举报
回复
引用 7 楼 qq_38325096 的回复:
[quote=引用 5 楼 m0_37137902 的回复:] 是不是这样的效果,一个DataGridView表和一个Chart表,折线图简单。
@m0_37137902 是跟这个差不多一个意思,但是不知道该如何让x轴只显示年和月[/quote] 把数据库里对应的时间数据放在X轴标签里呗
qq_38325096 2018-04-09
  • 打赏
  • 举报
回复
引用 5 楼 m0_37137902 的回复:
是不是这样的效果,一个DataGridView表和一个Chart表,折线图简单。
@m0_37137902 是跟这个差不多一个意思,但是不知道该如何让x轴只显示年和月
assky124 2018-04-09
  • 打赏
  • 举报
回复
直接到MSDN上看MSChart控件的属性方法说明就行了
hxt430 2018-04-08
  • 打赏
  • 举报
回复
引用 2 楼 stevenjin 的回复:
你这就是个 折线图啊,按年月(如2018)在0到20之间波动
可否加Q帮助一下小弟
hxt430 2018-04-08
  • 打赏
  • 举报
回复
引用 2 楼 stevenjin 的回复:
你这就是个 折线图啊,按年月(如2018)在0到20之间波动
确实就是一个折线图啊,我想在点击统计之后,把统计的数值放进textbox,同时根据这个datagriverview中的数据绘制出六个月内的波动清况 不知道该如何把数据库数据和图形连接起来
stevenjin 2018-04-08
  • 打赏
  • 举报
回复
你这就是个 折线图啊,按年月(如2018)在0到20之间波动
hxt430 2018-04-08
  • 打赏
  • 举报
回复
为什么审核这么慢。。。。。。。

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧