MSChart使用之双Y轴使用

protected void SearchChart()
{
Chart1.ChartAreas.Clear();
Chart1.Series.Clear(); ChartArea _ChartArea = null;
Series _SeriesJRATE = null;
Series _SeriesDRATE = null;
Series _SeriesDCL = null; #region 循环添加 ChartArea
_ChartArea = new ChartArea();
//主X轴样式设置
_ChartArea.AxisX.MajorGrid.LineColor = System.Drawing.Color.FromArgb(, , ); //主X轴主网格线颜色
_ChartArea.AxisX.MajorGrid.LineDashStyle = ChartDashStyle.Dash;//主X轴主网格线虚线
_ChartArea.Position.Auto = true;
_ChartArea.Name = "ChartName";//设定ChartName
_ChartArea.AxisX.Title = "";//主X轴坐标标题
_ChartArea.AxisX.TitleAlignment = StringAlignment.Far;//主X轴坐标标题位置
_ChartArea.AxisX.Interval = ;//间隔
_ChartArea.AxisX.IntervalType = DateTimeIntervalType.Number;//间隔类型指定
//_ChartArea.AxisX.LabelStyle
//主Y轴样式设置
_ChartArea.AxisY.Title = "Commit";
_ChartArea.AxisY.TitleAlignment = StringAlignment.Far;
_ChartArea.AxisY.MajorGrid.LineColor = System.Drawing.Color.FromArgb(, , );
_ChartArea.AxisY.MajorGrid.LineDashStyle = ChartDashStyle.Dash;
//副Y轴样式设置
_ChartArea.AxisY2.Title = "达成率";
_ChartArea.AxisY2.TitleAlignment = StringAlignment.Near;
_ChartArea.AxisY2.MajorGrid.LineColor = System.Drawing.Color.FromArgb(, , );
_ChartArea.AxisY2.MajorGrid.LineDashStyle = ChartDashStyle.Dash; //_ChartArea.AxisX.LabelStyle.Interval = 1; //X文本间隔
//_ChartArea.AxisX.LabelStyle.Font = new System.Drawing.Font("隶书", 12);
//_ChartArea.AxisX.MajorGrid.Interval = 1; //X主要辅助线间隔
//_ChartArea.AxisX.MinorGrid.Interval = 1;//X次要辅助线间隔
//_ChartArea.AxisX.MinorTickMark.Interval = 1;//X次要刻度线间隔
//_ChartArea.AxisX.MajorTickMark.Interval = 1;//X主要刻度线间隔
//_ChartArea.AxisY.MinorGrid.Interval = 1;//Y次要辅助线间隔
//_ChartArea.AxisY.MajorGrid.Interval = 5;//Y主要辅助线间隔
//_ChartArea.AxisY.LabelStyle.Interval = 0.5;
Chart1.ChartAreas.Add(_ChartArea); System.Drawing.Font F=new Font("宋体",);
Title title = new Title("过程总体统计", Docking.Top,F,Color.Black);
Chart1.Titles.Add(title);
title.DockedToChartArea = _ChartArea.Name;
title.IsDockedInsideChartArea = false;
title.Alignment = ContentAlignment.TopCenter; _SeriesJRATE = new Series();
_SeriesJRATE.ChartType = SeriesChartType.Column;
_SeriesJRATE.Name = "Commit";
_SeriesJRATE.ChartArea = _ChartArea.Name;
//_SeriesJRATE.BorderColor = System.Drawing.Color.Blue;
_SeriesJRATE.Color = Color.Blue;
_SeriesJRATE.BorderWidth = ;
_SeriesJRATE.ShadowOffset = ;
_SeriesJRATE.IsValueShownAsLabel = true;
_SeriesJRATE.MarkerStyle = MarkerStyle.Triangle;
_SeriesJRATE.LegendText = "Commit";
_SeriesJRATE.YAxisType = AxisType.Primary;//设为主Y轴
Chart1.Series.Add(_SeriesJRATE); //加入Series _SeriesDRATE = new Series();
_SeriesDRATE.ChartType = SeriesChartType.Column;
_SeriesDRATE.Name = "AvgDate";
_SeriesDRATE.ChartArea = _ChartArea.Name;
//_SeriesDRATE.BorderColor = System.Drawing.Color.Green;
_SeriesDRATE.Color = Color.Green;
_SeriesDRATE.BorderWidth = ;
_SeriesDRATE.ShadowOffset = ;
_SeriesDRATE.IsValueShownAsLabel = true;
_SeriesDRATE.MarkerStyle = MarkerStyle.Square;
_SeriesDRATE.LegendText = "平均工作日";
_SeriesDRATE.XAxisType = AxisType.Primary;//设为主X轴
Chart1.Series.Add(_SeriesDRATE); //加入Series _SeriesDCL = new Series();
_SeriesDCL.ChartType = SeriesChartType.Spline;
_SeriesDCL.Name = "Rate";
_SeriesDCL.ChartArea = _ChartArea.Name;
//_SeriesDRATE.BorderColor = System.Drawing.Color.Green;
_SeriesDCL.Color = Color.Yellow;
_SeriesDCL.BorderWidth = ;
_SeriesDCL.ShadowOffset = ;
_SeriesDCL.IsValueShownAsLabel = true;
_SeriesDCL.MarkerStyle = MarkerStyle.Square;
_SeriesDCL.LegendText = "达成率";
_SeriesDCL.YAxisType = AxisType.Secondary;//设为副Y轴
Chart1.Series.Add(_SeriesDCL); //加入Series
#endregion Chart1.Legends[].Docking = Docking.Top;
Chart1.Legends[].DockedToChartArea = "ChartName";
Chart1.Legends[].Alignment = StringAlignment.Center;
Chart1.Legends[].IsDockedInsideChartArea = false; //1 序号,'一月' 月份,15.00 Commit,9.69 平均工作日,92.98 达成率
DataTable dtChart = this.Getdt();
if (dtChart != null && dtChart.Rows.Count > )
{
for (int j = ; j < dtChart.Rows.Count; j++)
{
string YF = dtChart.Rows[j]["月份"].ToString();
double dC = double.Parse(dtChart.Rows[j]["Commit"].ToString());
double dA = double.Parse(dtChart.Rows[j]["平均工作日"].ToString());
double dD = double.Parse(dtChart.Rows[j]["达成率"].ToString()); Chart1.Series["Commit"].Points.AddXY(YF, dC);
Chart1.Series["AvgDate"].Points.AddXY(YF, dA);
Chart1.Series["Rate"].Points.AddXY(YF, dD);
}
}
} protected DataTable Getdt()
{
StringBuilder sb = new StringBuilder();
sb.Append(@"select 1 序号,'一月' 月份,15.00 Commit,9.69 平均工作日,92.98 达成率 from dual
union
select 2 序号,'二月' 月份,15.00 Commit,11.69 平均工作日,86.62 达成率 from dual
union
select 3 序号,'三月' 月份,15.00 Commit,9.77 平均工作日,95.71 达成率 from dual
union
select 4 序号,'四月' 月份,15.00 Commit,10.53 平均工作日,90.06 达成率 from dual
union
select 5 序号,'五月' 月份,15.00 Commit,12.17 平均工作日,90.06 达成率 from dual
union
select 6 序号,'六月' 月份,15.00 Commit,10.14 平均工作日,100.00 达成率 from dual
union
select 7 序号,'七月' 月份,15.00 Commit,0.00 平均工作日,0.00 达成率 from dual
union
select 8 序号,'八月' 月份,15.00 Commit,0.00 平均工作日,0.00 达成率 from dual
union
select 9 序号,'九月' 月份,15.00 Commit,0.00 平均工作日,0.00 达成率 from dual
union
select 10 序号,'十月' 月份,15.00 Commit,0.00 平均工作日,0.00 达成率 from dual
union
select 11 序号,'十一月' 月份,15.00 Commit,0.00 平均工作日,0.00 达成率 from dual
union
select 12 序号,'十二月' 月份,15.00 Commit,0.00 平均工作日,0.00 达成率 from dual
union
select 13 序号,'平均值' 月份,15.00 Commit,9.14 平均工作日,93.85 达成率 from dual ");
DataSet ds = OraHelper.GetDateDS(sb.ToString()); if (ds != null && ds.Tables.Count > )
{
DataTable dtChart = ds.Tables[];
return dtChart;
}
else return null;
}
MSChart使用之双Y轴使用:效果如图:
MSChart使用之双Y轴使用的更多相关文章
- highchart 设置双Y轴坐标 双x轴坐标方法
我们的图表一旦引入了两种不同单位或者数量级相差很大的数据以后,这时候需要两种坐标对其进行计量. 下面以设置双Y轴为例, y轴坐标的参数设置成: yAxis: [{ title: { text: '坐标 ...
- 绘制复数图形和双y轴图形
clearclct=0:0.1:2*pi;x=sin(t);y=cos(t);z=x+i*y;subplot(1,3,1)plot(t,z,'r') %注:这种方式下,不论参数t,z哪个是复数,都将忽 ...
- Jqplot使用总结之二(双Y轴)
最近需要用Jqplot做双Y轴的Chart图,首先我找到了文档上的例子并对数据做了一些调整: 1.例子展示: var s1 = [["2002-01-01", 112000], [ ...
- echarts使用笔记四:双Y轴
1.双Y轴显示数量和占比 app.title = '坐标轴刻度与标签对齐'; option = { title : { //标题 x : 'center', y : 5, text : '数量和占比图 ...
- Python科学计算技巧积累四——双y轴图像绘制
双y轴图像具有单y轴图像没有的对比效果,在MATLAB中有plotyy函数可以实现,Python的实现方式没有MATLAB那样方便,不过实现效果却也不见得差. 以往我常用的绘图命令是import ma ...
- 【Python】matplotlib 双y轴绘制及合并图例
1.双y轴绘制 关键函数:twinx() 问题在于此时图例会有两个. # -*- coding: utf-8 -*- import numpy as np import matplotlib.pypl ...
- matlab画二维直方图以及双y轴坐标如何修改另一边y轴的颜色
1.首先讲一下如何用hist画二维直方图 x=[- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ...
- Python教程:matplotlib 绘制双Y轴曲线图
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:数据皮皮侠 双X轴的可以理解为共享y轴 ax1=ax.twiny() ...
- Python实现双X轴双Y轴绘图
诈尸人口回归.这一年忙着灌水忙到头都掉了,最近在女朋友的提醒下终于想起来博客的账号密码,正好今天灌水的时候需要画一个双X轴双Y轴的图,研究了两小时终于用Py实现了.找资料的过程中没有发现有系统的文章, ...
随机推荐
- Building a Space Station
poj2031:http://poj.org/problem?id=2031 题意:就是给出三维坐标系上的一些球的球心坐标和其半径,搭建通路,使得他们能够相互连通.如果两个球有重叠的部分则算为已连通, ...
- LA 3521 Joseph's Problem
题意:给你正整数n和k,然后计算从i到n k%i的和: 思路:如果n小于1000000,直接暴力计算,然后大于1000000的情况,然后在讨论n和k的大小,根据k%i的情况,你会发现规律,是多个等差数 ...
- 把CSV文件导入到SQL Server表中
保存数据库数据直接查询select * from tableName 在数据表格的左上角右击——将结果另存为选择路劲保存好的就是.csv格式的数据 有时候我们可能会把CSV中的数据导入到某个数据库的表 ...
- 线性代数(高斯消元):JSOI2008 球形空间产生器sphere
JSOI2008 球形空间产生器sphere [题目描述] 有一个球形空间产生器能够在n维空间中产生一个坚硬的球体.现在,你被困在了这个n维球体中,你只知道球面上n+1个点的坐标,你需要以最快的速度确 ...
- 数据结构:(平衡树,链表)BZOJ 1588[HNOI2002]营业额统计
1588: [HNOI2002]营业额统计 Time Limit: 5 Sec Memory Limit: 162 MBSubmit: 12173 Solved: 4354[Submit][Sta ...
- 【扩展欧几里德】Vijos P1009 清帝之惑之康熙
题目链接: https://vijos.org/p/1009 题目大意: 两个人,一个在坐标x,每天走m,一个在坐标y,每天走n,坐标长L,问几天后碰面. 题目思路: [扩展欧几里德] 根据同余方程的 ...
- DFS序 参考许昊然《数据结构漫谈》
网上特别讲DFS序的东西好像很少 太简单了? 实用性不大? 看了论文中 7个经典问题, 觉得挺有用的 原文 "所谓DFS序, 就是DFS整棵树依次访问到的结点组成的序列" &quo ...
- POJ 3280 Cheapest Palindrome(水题)
题意:给定一个完全由小写字母组成的字符串s,对每个字母比如x(或a,b,c...z),在字符串中添加或者删除它分别需要花费c1['x']和c2['x']的代价,问将给定字符串变成回文串所需要的最少代价 ...
- UVa 674: Coin Change
动态规划题.对于1,5,10,25,50五种币值的硬币,编号为0~4,存入数组cent中.数组iWay的元素iWay[k][i]表示仅使用0~i的硬币凑出k分钱的方法数,按是否使用编号为i的硬币分类, ...
- 缓存淘汰算法 (http://flychao88.iteye.com/blog/1977653)
1. LRU1.1. 原理 LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”. ...