标题:C# 实现统计图
取消只看楼主
wangnannan
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:87
帖 子:2545
专家分:9359
注 册:2007-11-3
结帖率:80.91%
 问题点数:0 回复次数:3 
C# 实现统计图




最近研究DEVEXPRESS统计图 感觉很方便 给大家分享下使用经验
搜索更多相关主题的帖子: 统计 
2010-12-09 14:13
wangnannan
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:87
帖 子:2545
专家分:9359
注 册:2007-11-3
得分:0 
以柱状图为例 首先从工具箱托取一个ChartControl 可以设置它的数据源 在这里我准备在后台动态设置它的数据源

代码如下
程序代码:
using System;
using System.Collections.Generic;
using using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraCharts;

namespace WindowsApplication8
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private DataTable CreateChartData()
        {
            // Create an empty table.
            DataTable table = new DataTable("Table1");

            // Add three columns to the table.
            table.Columns.Add("Language", typeof(String));
            table.Columns.Add("Section", typeof(String));
            table.Columns.Add("Value", typeof(Decimal));

            // Add data rows to the table.
            table.Rows.Add(new object[] { "C#", "Section1", 10.123 });
            table.Rows.Add(new object[] { "JAVA", "Section2", 20 });
            table.Rows.Add(new object[] { "C++", "Section3", 20 });
            table.Rows.Add(new object[] { "F#", "Section4", 30 });
            table.Rows.Add(new object[] { "JAVASCRIPT", "Section5", 15 });
            table.Rows.Add(new object[] { "VB", "Section6", 25 });
            table.Rows.Add(new object[] { "", "Section7", 10.123 });
            table.Rows.Add(new object[] { "C", "Section8", 20 });
            table.Rows.Add(new object[] { "PHP", "Section9", 20 });
            table.Rows.Add(new object[] { "PB", "Section10", 30 });
            table.Rows.Add(new object[] { "VF", "Section11", 15 });

            return table;
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // Generate a data table and bind the chart to it.
            chartControl1.DataSource = CreateChartData();
            // Specify data members to bind the chart's series template.
            chartControl1.SeriesDataMember = "LANGUAGE";
            chartControl1.SeriesTemplate.ArgumentDataMember = "Section";
            chartControl1.SeriesTemplate.ValueDataMembers.AddRange(new string[] { "Value" });
            // Specify the template's series view
            chartControl1.SeriesTemplate.View = new StackedBarSeriesView();
            // Specify the template's name prefix.
            chartControl1.SeriesNameTemplate.BeginText = "LANGUAGE: ";
            // Dock the chart into its parent, and add it to the current form.
            chartControl1.Dock = DockStyle.Fill;

        }

    }
}

出来混,谁不都要拼命的嘛。 。拼不赢?那就看谁倒霉了。 。有机会也要看谁下手快,快的就能赢,慢。 。狗屎你都抢不到。 。还说什么拼命?
2010-12-09 14:17
wangnannan
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:87
帖 子:2545
专家分:9359
注 册:2007-11-3
得分:0 

可以设计图标的样式很多 这设计界面可以选择 样式可以自定义
也可以通过代码进行控制 例如
chartControl1.SeriesTemplate.View = new StackedBarSeriesView();
饼状图 柱状图 折现图 实现起来即方便又快捷


出来混,谁不都要拼命的嘛。 。拼不赢?那就看谁倒霉了。 。有机会也要看谁下手快,快的就能赢,慢。 。狗屎你都抢不到。 。还说什么拼命?
2010-12-09 14:20
wangnannan
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:87
帖 子:2545
专家分:9359
注 册:2007-11-3
得分:0 
曾经用过GDI+实现过统计图 效果不是很好看 有了DEVEXPRESS确实方便了很多 这是一个DEMO可以演变很多种效果 VS2010提供了图表控件 目前研究中 会进一步分享给大家交流

出来混,谁不都要拼命的嘛。 。拼不赢?那就看谁倒霉了。 。有机会也要看谁下手快,快的就能赢,慢。 。狗屎你都抢不到。 。还说什么拼命?
2010-12-09 14:25



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-328493-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.091075 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved