c# chart 点值标注_C# chart控件参数设定总结

为避免耽误不喜欢这种曲线图效果的亲们的时间,先看一下小DEMO效果图:

先简单说一下,从图中可以看到一个chart可以绘制多个ChartArea,每个ChartArea都可以绘制多条Series。ChartArea就是就是绘图区域,可以有多个ChartArea叠加在一起,series是画在ChartAarea上的,Series英文意思是“序列、连续”,其实就是数据线,它可以是曲线、点、柱形、条形、饼图...可以注意该chart当数据非常多的时候可以通过鼠标选择查看区域,进一步拖拽横纵向滚动条来缩小曲线图查看。

代码中的Chart控件的命名是chartData,数据源是dt,由于chart属性太多,不好一一解释,所以请仔细看截图,尤其重视本例用到的属性

一、数据源:

数据返回方式是DataSet.Tables[0],即DataTable,也是最基本的数据源方式。这里只介绍DataTable绑定数据源,很简单:

chartData.DataSource = dt;

chartData.DataBind();

二、Series:

Series是画在ChartArea上的线、点、柱形、条形、饼图,简单点儿说就是画在上面的数据,直接说属性,

1. “标记”:就是数据点,某个数据值的点。如下图所示:

MarkerBorderColor    数据点边框的颜色

MarkerBorderWidth    数据点边框的宽度

MarkColor            数据点的颜色

MakerSize            数据点的大小,默认值为0数据点不存在,建议代码控制

MarkerStep           数据点显示的频率

MarkerStyle          数据点的样式,可以是方块、圆圈、三角、叉子....

2. “标签”:就是现在是在数据点旁边数据值

IsValueShownAsLabel                    数据值是否显示,建议代码控制

SmartLabelStyle                        数据值样式

SmartLabelStyle.Enabled                直接控制可用不可用,建议不可用

SmartLabelStyle.AllowOutsidePloArea    数据值显示是否允许在外面

其他属性自己试吧

注意:如果要使用SmartLabelStyle的话,所有的数据点的值都会自动找位置显示出来,如果某一个区域数据点较多,就会直线指示;如果不用的话,数据点的值会在数据点旁边显示,不会有直线。如下图所示也可以看到AllowOutsidePlotArea的区别:

  • 5
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以通过Chart控件的MouseMove事件和HitTest方法来实现鼠标点击显示波形上相应点对应坐标轴的x,y值。 具体实现方法如下: 1. 在Chart控件的MouseMove事件中获取鼠标所在点的坐标值。 2. 使用Chart控件的HitTest方法获取鼠标所在点对应的Series和DataPoint对象。 3. 通过Series和DataPoint对象获取相应的x,y值,并在页面上显示出来。 下面是示例代码: ```csharp private void chart1_MouseMove(object sender, MouseEventArgs e) { // 获取鼠标所在点的坐标值 double xValue = chart1.ChartAreas[0].AxisX.PixelPositionToValue(e.Location.X); double yValue = chart1.ChartAreas[0].AxisY.PixelPositionToValue(e.Location.Y); // 使用HitTest方法获取鼠标所在点对应的Series和DataPoint对象 HitTestResult result = chart1.HitTest(e.X, e.Y); if (result.ChartElementType == ChartElementType.DataPoint) { // 获取相应的x,y值,并在页面上显示出来 Series series = result.Series; DataPoint dataPoint = series.Points[result.PointIndex]; string tooltip = string.Format("X: {0}, Y: {1}", dataPoint.XValue, dataPoint.YValues[0]); label1.Text = tooltip; } } ``` 在代码中,我们通过ChartAreas的PixelPositionToValue方法将鼠标所在点的屏幕坐标转换为相应的坐标值,然后使用HitTest方法获取对应的Series和DataPoint对象,最后将相应的x,y值显示在页面上。 注意:本示例代码假设Chart控件中只有一个ChartArea和一个Series,并且Series中的DataPoint只有一个Y值。如果您的情况不同,请根据实际情况作出相应调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值