自定义MSChart Y轴间隔

转载 2011年01月17日 16:20:00

MS Chart Control的Y軸格線比率可以設AxisY.Interval的方式去定義每個格線的距離,但它是等比例的格線,如果要自訂格線位置,有另一種變通的方法.

 

今天欲做到的效果如下圖所示:

0~20 / 21~60 / 61~80 / 81~100 分為四等份.

image

因為原本的GridLine無法做這種不等比例的格線,所以就把它給Disable.並把Y軸數字給Hide起來.

chart1.ChartAreas[0].AxisY.MajorGrid.Enabled = false;

chart1.ChartAreas[0].AxisY.MajorTickMark.Enabled = false;

chart1.ChartAreas[0].AxisY.LabelStyle.ForeColor = System.Drawing.Color.Transparent; //這個只有第二種顯示方式才需要,第一種會直接蓋掉

chart1.ChartAreas[0].AxisY.Maximum = 100;

 

格線跟Y軸數字都拿掉後,圖表就像下例的樣子.

image

接下來把左邊Y軸的標題用CustomLabel取代.

chart1.ChartAreas[0].AxisY.CustomLabels.Add(0, 20, "0~20");

chart1.ChartAreas[0].AxisY.CustomLabels.Add(21, 60, "21~60");

chart1.ChartAreas[0].AxisY.CustomLabels.Add(61, 80, "61~80");

chart1.ChartAreas[0].AxisY.CustomLabels.Add(81, 100, "81~100");

第一個參數是開始位置,第二個參數為結束位置,第三個參數為顯示文字,所以執行後如下.

image

當然我們也可以換個方式顯示這個CustomLabel.

CustomLabel cl1 = new CustomLabel(0, 20, "0~20", 1, LabelMarkStyle.Box);

//參數依序為(開始位置,結束位置,顯示文字,位置Index(0就是靠近Y軸,數字愈大就往左移),顯示方式)

cl1.ForeColor = Color.Black;

chart1.ChartAreas[0].AxisY.CustomLabels.Add(cl1);


image

 

 

 

接下來再用StripLine的方式把格線給加上去.

StripLine sl1 = new StripLine();

sl1.BackColor = System.Drawing.Color.Black; //格線黑色

sl1.IntervalOffset = 20;//顯示在Y軸值=20的地方

sl1.StripWidth = 1;//線寬

chart1.ChartAreas[0].AxisY.StripLines.Add(sl1);//把它加到AxisY裡去

 

StripLine sl2 = new StripLine();

sl2.BackColor = System.Drawing.Color.Black; //格線黑色

sl2.IntervalOffset = 60;//顯示在Y軸值=60的地方

sl2.StripWidth = 1;//線寬

chart1.ChartAreas[0].AxisY.StripLines.Add(sl2);//把它加到AxisY裡去

其它依此類推,這樣的顯示結果就會變為下面圖例:

image

 

以上就是自行加入不定比例的Y軸格線方式,如果有其它方式,歡迎各位的交流~

转 mschart 自定义属性

 转自 http://blog.csdn.net/gaofeng2000/archive/2009/03/12/3985741.aspx  在MS Chart Control中,有一类属性并不能在VS...
  • gengxt2003
  • gengxt2003
  • 2010年06月07日 13:58
  • 4029

MSChart使用总结[转]

mschart总结:1. mschart的坐标轴默认类型为decimal,所以不能太大。2. 可以为每个点添加提示信息;    ///     /// 设置点提示信息    ///     ///  ...
  • zfyong
  • zfyong
  • 2010年12月02日 11:14
  • 3696

C# MSChart 中柱状图和X轴自定义标签

C#中MSChart 里面曲线、柱状图的样式选择是由 chart.Series["***"].ChartType = SeriesChartType.Column;   来控制的,SeriesChar...
  • vanezuo
  • vanezuo
  • 2011年08月25日 17:02
  • 9854

自定义MSChart Y轴间隔

MS Chart Control的Y軸格線比率可以設AxisY.Interval的方式去定義每個格線的距離,但它是等比例的格線,如果要自訂格線位置,有另一種變通的方法. 今天欲做到的效果如下圖所示:0...
  • philiplb
  • philiplb
  • 2011年01月17日 16:20
  • 2707

趨勢圖(MSChart)

使用MSChart元件制作1、確認.NET Framework是 3.5 SP1 以及以上版本 2、MSChart_VisualStudioAddOn.exe(開發環境安裝後才能在工具箱裏面看到)...
  • fengxu511
  • fengxu511
  • 2013年09月13日 10:23
  • 983

mschart如何显示x轴标题

Chart1.ChartAreas[0].AxisX.Interval = 1; //设置X轴坐标的间隔为1 Chart1.ChartAreas[0].AxisX.IntervalOffset = ...
  • Metal1
  • Metal1
  • 2016年04月05日 22:36
  • 1097

用mschart 终于实现了鼠标事件,显示X轴和Y轴数据

用mschart 终于实现了鼠标事件,显示X轴和Y轴数据 用vs2008 c# 语言 在它原有的代码基础上修改的 它的代码中 Chart Features --》Data Series -》 Cust...
  • gengxt2003
  • gengxt2003
  • 2010年06月08日 15:39
  • 6322

Mschart学习(MSchart介绍)

作者:MR_ke  来源:博客园  发布时间:2010-02-25 15:22  阅读:2081 次  原文链接 [收藏] 1.什么是MSChart          Chart: Microso...
  • ttgoo
  • ttgoo
  • 2010年06月08日 14:15
  • 1724

关于C# MSChart中如何添加右侧图例说明legend和生成百分比视图

(本文为Asp.Net开发,编译器为VS2013.) 1.首先从工具箱中的【数据】中拖入Chart. 会自动在页面头部,配置文件中加载相关信息如:...
  • TMaskBoy
  • TMaskBoy
  • 2016年03月27日 17:57
  • 4551

关于mschart的X轴时间显示问题,时间始终是从0到24小时排序,不是零点分界,错误解决办法

for (int SerCount = 1; SerCount                         {                             Series one ...
  • Theflybird
  • Theflybird
  • 2013年12月30日 13:21
  • 1952
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:自定义MSChart Y轴间隔
举报原因:
原因补充:

(最多只允许输入30个字)