ChartControl简单的圆柱案例
由于工作需要,最近学习了DevExpress控件中的ChartControl,并做了简单尝试,通过程序动态添加数据源到chartControl控件中,绘制了如下的条形图。
条形图的颜色等外观可在chartControl控件的RunWizard中编辑,也可以在RunWizard中添加静态的Series,并对条形图的各种属性进行设置。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using DevExpress.XtraCharts;
namespace DXWindowsApplication1
{
public partial class Form4 : DevExpress.XtraEditors.XtraForm
{
public Form4()
{
InitializeComponent();
InitChartDataSource();
}
public void InitChartDataSource()
{
Series Series1 = new Series(" Series1", DevExpress.XtraCharts.ViewType.Bar);
Series1.DataSource = CreateDataSource();
Series1.ArgumentScaleType = ScaleType.Qualitative;
Series1.ArgumentDataMember = "模块名"; //以数据源的哪一行为参数
Series1.ValueScaleType = ScaleType.Numerical;
//以数据的形式展示
Series1.ValueDataMembers.AddRange(new string[] { "剩余值" }); //需要展示的数据
chartControl1.Series.Add(Series1); //添加至chartControl1
XYDiagram diagram = (XYDiagram)chartControl1.Diagram;
//获取chartControl的diagram对象
diagram.AxisY.MinorCount = 10; //设置Y轴的间隔
// diagram.AxisY.NumericOptions.Format = NumericFormat.Percent;
//以百分数显示
diagram.AxisY.Range.MaxValueInternal = 100;
//最大值为100
diagram.AxisY.Range.Auto = false; //不允许自动设定间隔值
diagram.AxisY.Range.MinValueInternal = 0;
//最小值从0开始
diagram.AxisY.Tickmarks.MinorVisible = false;
//不显示间隔标示符
diagram.AxisX.Tickmarks.MinorVisible = false;
ChartTitle ct = new ChartTitle(); //添加标题
ct.Text = "剩余值图示";
ct.TextColor = Color.Black;//颜色
ct.Font = new Font("Tahoma", 16);//字体
ct.Dock = ChartTitleDockStyle.Top;//停靠在上方
ct.Alignment = StringAlignment.Center;//居中显示
chartControl1.Titles.Add(ct);
}
public DataTable CreateDataSource()
{
DataTable Dt = new DataTable();
DataColumn column1 = new DataColumn();
column1.DataType = System.Type.GetType("System.String");
column1.ColumnName = "模块名";
column1.Caption = "模块名";
Dt.Columns.Add(column1);
DataColumn column2 = new DataColumn();
column2.DataType = System.Type.GetType("System.Double");
column2.ColumnName = "剩余值";
column2.Caption = "剩余值";
Dt.Columns.Add(column2);
DataRow row1 = chezhanDt.NewRow();
row1["模块名"] = "模块1";
row1["剩余值"] = 98;
Dt.Rows.Add(row1);
DataRow row2 = chezhanDt.NewRow();
row2["模块名"] = "模块2";
row2["剩余值"] = 98;
chezhanDt.Rows.Add(row2);
DataRow row3 = chezhanDt.NewRow();
row3["模块名"] = "模块3";
row3["剩余值"] = 99;
Dt.Rows.Add(row3);
DataRow row4 = chezhanDt.NewRow();
row4["模块名"] = "模块4";
row4["SPD模块剩余寿命百分比"] = 98;
Dt.Rows.Add(row4);
DataRow row5 = chezhanDt.NewRow();
row5["模块名"] = "模块5";
row5["剩余值"] = 98;
Dt.Rows.Add(row5);
DataRow row6 = chezhanDt.NewRow();
row6["模块名"] = "模块6";
row6["剩余值"] = 98;
Dt.Rows.Add(row6);
return Dt;
}
}
}
ChartControl简单的圆柱案例的更多相关文章
- Python3+Dlib实现简单人脸识别案例
Python3+Dlib实现简单人脸识别案例 写在前边 很早很早之前,当我还是一个傻了吧唧的专科生的时候,我就听说过人脸识别,听说过算法,听说过人工智能,并且也出生牛犊不怕虎般的学习过TensorFl ...
- 使用Java实现简单的斗地主案例
使用Java实现简单的斗地主案例 案例说明:使用Java实现简单的斗地主洗牌发牌的操作: 具体规则: 共有54张牌,顺序打乱: 三个玩家参与游戏,三人交替摸牌,每人17张牌,最后留三张为底牌(地主牌) ...
- JavaScript图片库(简单的应用案例)
这个图片库小例子的效果如图所示,点击网页上某个图片链接时你将看到两种效果:占位符图片呗替换成这个链接所指向的图片,同时描述性文字也被替换为这个链接的title属性值. 利用一个简单的图片库应用 ...
- 如何用DAX实现查看每个月中不同类别排名前一位,以及一个简单的svg案例
现在给大家带来的是如何用DAX实现查看每个月中不同类别的排名前一位,最终完成效果如下!!! 首先我们需要两张简单的表 基数表 和类别表 当我们创建好表之后,我们再创建一个表格,然后我们将类别表里的列值 ...
- Linux SNAT/DNAT简单理解与案例分析。
在计算机网络中,网络地址转换(Network Address Translation,缩写为NAT),也叫做网络掩蔽或者IP掩蔽(IP masquerading),是一种在IP数据包通过路由器或防 ...
- 图像处理 - ImageMagick 简单介绍与案例
在客户端我们可以用 PhotoShop 等 GUI 工具处理静态图片或者动态 GIF 图片,不过在服务器端对于 WEB 应用程序要处理图片格式转换,缩放裁剪,翻转扭曲,PDF解析等操作, GUI 软件 ...
- javaweb学习总结(二十七)——jsp简单标签开发案例和打包
一.开发标签库 1.1.开发防盗链标签 1.编写标签处理器类:RefererTag.java 1 package me.gacl.web.simpletag; 2 3 import java.io.I ...
- springCloud 微服务框架搭建入门(很简单的一个案例不喜勿扰)
Spring cloud 实现服务注册及发现 服务注册与发现对于微服务系统来说非常重要.有了服务发现与注册,你就不需要整天改服务调用的配置文件了,你只需要使用服务的标识符,就可以访问到服务. clou ...
- SSM-SpringMVC-02:SpringMVC最简单的小案例
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 咱们这个案例做什么? 就是用处理器代替Servlet处理请求 开发步骤: 1.引入jar包 <!--单 ...
随机推荐
- 采用标准c进行目录文件遍历
图像处理的时候经常需要对一个目录的所有图像进行处理,遍历文件得c代码: 在windows中需要使用到宽字符. 另外,可以使用opencv封装的目录访问操作,下次给出. // DirTraverse.c ...
- Elon Musk:同一时候颠覆几个行业的科技狂人
在苹果著名的"不同凡想"广告中,赞扬了那些改变世界的疯狂家伙们."他们不喜欢墨守成规,也不愿安于现状","他们改变了事物","他们 ...
- NGUI研究之制作转圈的技能CD特效
昨天想做一个技能CD转圈的特效,花了大把的时间去用meshRender组件想通过三角形依据数学算法来绘制一个圆形的网格.通过动态绘制圆形网格的方法来实现技能CD特效.奶奶的昨天我研究了一晚上,最 ...
- 用Jfree实现条形柱状图表,java代码实现
用Jfree实现条形柱状图表,java代码实现.可经经常使用于报表的制作,代码自己主动生成后能够自由查看.能够自由配置图表的各个属性,用来达到自己的要求和目的 package test1; impor ...
- sshd安全性能优化
sshd服务是远程登录服务,默认端口为22,对于其优化一是为了增加服务器的安全,避免暴力破解:二是为了加快速度连接,减少不必要的带宽的浪费. sshd服务的配置文件为/etc/ssh/sshd_con ...
- Java集合框架:Set、List、Map等介绍
目录 1.Java集合类基本概念 2.Java集合类架构层次关系 1.Java集合类基本概念 在编程中,常常需要集中存放多个数据.从传统意义上来讲,数组是我们一个很好的选择,前提是我们事先已经明确知道 ...
- Java程序读取tomcat下的properties配置文件
代码如下: //找到tomcat/etc/wx文件夹 private static String getPropFolderPath() { /* Properties p = Syst ...
- uboot相关命令及用法
进入uboot时,在命令行上敲“?” ,回车就会打印出在uboot里可用的命令: #?? - alias for 'help'base - print or set address ...
- mysql事件调度器功能
一.前言 自MySQL5.1.6起,增加了一个非常有特色的功能–事件调度器(Event Scheduler),可以用做定时执行某些特定任务(例如:删除记录.对数据进行汇总等等),来取代原先只能由操作系 ...
- 轻松背后的N+疲惫——系统日志
相信很多coder都有这样的癖好:“自恋”!!对自己编写的code总是那么的自信,自豪,Always believe it to be so perfect!! 不喜欢做单元测试(总觉得它就那样了能出 ...