自定义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軸格線方式,如果有其它方式,歡迎各位的交流~

相关文章推荐

HelloCharts自定义Y轴

  • 2016-12-29 14:47
  • 40.89MB
  • 下载

C# 画坐标,graphics,C# 坐标自定义X轴、Y轴

先看效果: 其中X轴,Y轴都是可以自定义的,可以从零开始,也可以从任意位置开始。 看坐标的画法:, 下面通过五个函数,来分别说明,注意这里坐标的定位是通过外层的Panel来实现的。 usi...

多重折线图自定义X轴间隔与自定义title名称—R语言

InputData Rcode library(ggplot2) data<-read.csv("D:\\rwork\MSN\\indexbyminutes.csv",header = T...

自定义二维码y样式的demo

  • 2017-03-07 00:16
  • 25.69MB
  • 下载

android:最简单的方式实现自定义选择时间分钟间隔,非滚轮方式

目前项目只需要分钟的间隔,所以小时和月的间隔没有做,spiner有坑,做的不好,以后有空再重写一下; 效果图 private int MAX_LIMITE_DAY = 30;//最大可选日期 priv...

Android 实现自定义时间间隔,文字颜色的TimePicker

最近项目中有个要求,要求实现一个时间设置控件,要求可以设置的时间间隔为15分钟。怎么实现呢?首先,Android自带了一个TimePicker控件,但是其默认时间间隔为1分钟,而且没有提供修改间隔的接...

Spark Streaming从Kafka自定义时间间隔内实时统计行数、TopN并将结果存到hbase中

一、统计kafka的topic在10秒间隔内生产数据的行数并将统计结果存入到hbase中 先在hbase中建立相应的表: create 'linecount','count' 开启kafka集群并建...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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