由于工作需要,最近学习了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简单的圆柱案例的更多相关文章

  1. Python3+Dlib实现简单人脸识别案例

    Python3+Dlib实现简单人脸识别案例 写在前边 很早很早之前,当我还是一个傻了吧唧的专科生的时候,我就听说过人脸识别,听说过算法,听说过人工智能,并且也出生牛犊不怕虎般的学习过TensorFl ...

  2. 使用Java实现简单的斗地主案例

    使用Java实现简单的斗地主案例 案例说明:使用Java实现简单的斗地主洗牌发牌的操作: 具体规则: 共有54张牌,顺序打乱: 三个玩家参与游戏,三人交替摸牌,每人17张牌,最后留三张为底牌(地主牌) ...

  3. JavaScript图片库(简单的应用案例)

    这个图片库小例子的效果如图所示,点击网页上某个图片链接时你将看到两种效果:占位符图片呗替换成这个链接所指向的图片,同时描述性文字也被替换为这个链接的title属性值.     利用一个简单的图片库应用 ...

  4. 如何用DAX实现查看每个月中不同类别排名前一位,以及一个简单的svg案例

    现在给大家带来的是如何用DAX实现查看每个月中不同类别的排名前一位,最终完成效果如下!!! 首先我们需要两张简单的表 基数表 和类别表 当我们创建好表之后,我们再创建一个表格,然后我们将类别表里的列值 ...

  5. Linux SNAT/DNAT简单理解与案例分析。

      在计算机网络中,网络地址转换(Network Address Translation,缩写为NAT),也叫做网络掩蔽或者IP掩蔽(IP masquerading),是一种在IP数据包通过路由器或防 ...

  6. 图像处理 - ImageMagick 简单介绍与案例

    在客户端我们可以用 PhotoShop 等 GUI 工具处理静态图片或者动态 GIF 图片,不过在服务器端对于 WEB 应用程序要处理图片格式转换,缩放裁剪,翻转扭曲,PDF解析等操作, GUI 软件 ...

  7. javaweb学习总结(二十七)——jsp简单标签开发案例和打包

    一.开发标签库 1.1.开发防盗链标签 1.编写标签处理器类:RefererTag.java 1 package me.gacl.web.simpletag; 2 3 import java.io.I ...

  8. springCloud 微服务框架搭建入门(很简单的一个案例不喜勿扰)

    Spring cloud 实现服务注册及发现 服务注册与发现对于微服务系统来说非常重要.有了服务发现与注册,你就不需要整天改服务调用的配置文件了,你只需要使用服务的标识符,就可以访问到服务. clou ...

  9. SSM-SpringMVC-02:SpringMVC最简单的小案例

     ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 咱们这个案例做什么? 就是用处理器代替Servlet处理请求 开发步骤: 1.引入jar包 <!--单 ...

随机推荐

  1. 安装MySQLdb-python时无法找到-lprobes_mysql处理一则

    安装MySQLdb时,我已经做好了如下两点:1)配置好mysql_config    有两种方式可以做:    ① 做个软连接,把mysql_config链接到/usr/local/bin下    ② ...

  2. quick-cocos2d-x android返回键监听并实现原生退出对话框

    这两天最终闲了一下,就顺手又把quick捡起来又学了学,一直都认为quick比cocos2dx那套lua绑定要方便很多,今天试了下android返回键的监听,还是挺好弄的,所以就有了这篇. 首先说明一 ...

  3. .NETFramework类库

    .NET Framework 包括可加快和优化开发过程并提供对系统功能的访问的类.接口和值类型. 为了便于语言之间进行交互操作,大多数 .NET Framework 类型都符合 CLS,因而可在编译器 ...

  4. 图文讲解基于centos虚拟机的Hadoop集群安装,并且使用Mahout实现贝叶斯分类实例 (7)

    接下来,我们开启hadoop集群. 如果之前打开过Hadoop,可能会发生lock的问题,解决方案:http://blog.csdn.net/caoshichaocaoshichao/article/ ...

  5. C#钩子应用实例

    C#钩子应用实例一.写在最前 本文的内容只想以最通俗的语言说明钩子的使用方法,具体到钩子的详细介绍可以参照下面的网址: http://www.microsoft.com/china/community ...

  6. GridView事件DataBinding,DataBound,RowCreated,RowDataBound区别及执行顺序分析

    严格的说,DataBinding,DataBound并不是GridView特有的事件,其他的控件诸如ListBox等也有DataBinding,DataBound事件. DataBinding事件MS ...

  7. java 短信发送例子 tdy

    import java.io.IOException; import java.util.logging.Level;import java.util.logging.Logger;import or ...

  8. 232. Implement Queue using Stacks,225. Implement Stack using Queues

    232. Implement Queue using Stacks Total Accepted: 27024 Total Submissions: 79793 Difficulty: Easy Im ...

  9. Git学习笔记:Git基础

    一.Git与其他版本控制系统的差别 Git 只关心文件数据的整体是否发生变化,而大多数其他系统则只关心文件内容的具体差异.这类系统每次记录有哪些文件作了更新,以及都更新了哪些行的什么内容.如下图,其他 ...

  10. Sicily 1790. Single Round Match

    高进度求余 或者 将一个数奇位上的数字与偶位上的数字分别加起来,再求它们的差,如果这个差是11的倍数(包括0),那么,原来这个数就一定能被11整除. #include <iostream> ...