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实现了.找资料的过程中没有发现有系统的文章, ...
随机推荐
- IIC总线协议
前言:年前给老师做个红外抄表系统,,现在对当中用到的一些模块总结一下. 1.只有在总线空闲时才允许启动数据传送. 2.在数据传送过程中,当时钟线为高电平时,数据线必须保持稳定状态,不允许有跳变.时钟线 ...
- autotrace显示Statistics很多信息为0(转)
一朋友使用autotrace查看数据库执行计划发现结果如下,Statistics中很多信息为0,这个肯定是不正常现象,什么都可以为0,consistent gets也不可能为0. SQL> se ...
- 【面试&笔试】ASP.NET的相关问题
1. 介绍ASP.NET 答:ASP.NET不是一种语言,而是创建动态web页的一种强大的服务器端技术,它是Microsoft.NETFramework中一套用于生成Web应用程序和Web服 ...
- Linux2.6内核--内存管理(2)--区
由于硬件的限制,内核不能对所有的页一视同仁.有些页位于内存中的特定物理地址上,所以,不能将其用于一些特别的任务.(关于内存分页机制可以查看:http://blog.csdn.net/dlutbruce ...
- COJ 0047 20702最大乘积
20702最大乘积 难度级别:B: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 输入n个元素组成的序列s,你需要找出一个乘积最大的连续子序列 ...
- winsock 收发广播包
☛广播包的概念 广播包通常为了如下两个原因使用:1 一个应用程序希望在本地网络中找到一个资源,而应用程序对于该资源的地址又没有任何先验的知识. 2 一些重要的功能,例如路由要求把它们的信息发送给所有找 ...
- Eclipse启动jboss局域网无法访问的问题
在启动jboss的时候加上参数 -b 0.0.0.0(本地用localhost也能访问,用ip也能访问)
- 动态规划——C编辑最短距离
C - 编辑距离 时间限制: 1000女士 内存限制: 65536KB 64位输入输出格式: %I64d & %I64u 提交 状态 描述 Let x and y be two strings ...
- MVC4 中Remote的使用
相信当你看到这篇文章的时候对remote是有一些了解了, 起码知道这个东西是来干嘛用的. 这里也就不废话了 直接上代码 看看Remote的一些使用方式. 1.判断表单上输入的数据是否存在 [Syst ...
- poj2245
题目分析: 抽奖 在德国乐透你需要从49个数(1,2,3......49)里面选择6个数,玩德国乐透一个流行的策略-尽管他不会增加你获奖的机会-选择一个子集S包含k(k>6)个数从这49个数字里 ...