打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
DevExpress.XtraCharts 使用心得

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraCharts;

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

private Dictionary<string, double> chartPieDataDic = new Dictionary<string, double>();
private Dictionary<string, double> chartBarDataDic = new Dictionary<string, double>();
private void Form1_Load(object sender, EventArgs e)
{
comboBox1.SelectedIndex = 0;
InitPieChartData();
InitBarChartData();
showPie();

}
private void showPie()
{
ChartTitle title = new ChartTitle();
title.Text = "全省话务分析饼图-话务类型分布";

chartControl1.Titles.Clear();
chartControl1.Titles.Add(title);

Series series1 = new Series("话务类型", ViewType.Pie);
((PiePointOptions)series1.PointOptions).PointView = PointView.ArgumentAndValues;

foreach (KeyValuePair<string, double> keyvalue in chartPieDataDic)
{
series1.Points.Add(new SeriesPoint(keyvalue.Key, new double[] { keyvalue.Value }));
}

chartControl1.Series.Clear();
chartControl1.Series.Add(series1);
}

private void InitPieChartData()
{
try
{
chartPieDataDic.Add("大连", 0.2);
chartPieDataDic.Add("沈阳", 0.26);
chartPieDataDic.Add("锦州", 0.15);
chartPieDataDic.Add("盘锦", 0.15);
chartPieDataDic.Add("本溪", 0.1);
chartPieDataDic.Add("抚顺", 0.12);
chartPieDataDic.Add("营口", 0.02);
}
catch { }
}
private void InitBarChartData()
{
try
{
chartBarDataDic.Add("2001", 0.05);
chartBarDataDic.Add("2002", 0.02);
chartBarDataDic.Add("2003", 0.08);
chartBarDataDic.Add("2004", 0.15);
chartBarDataDic.Add("2005", 0.1);
chartBarDataDic.Add("2006", 0.3);
chartBarDataDic.Add("2007", 0.2);
chartBarDataDic.Add("2008", 0.1);
}
catch { }
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBox1.Text.IndexOf("饼图") != -1)
{
showPie();
}
else if (comboBox1.Text.IndexOf("柱图") != -1)
{
showBar();
}
else if (comboBox1.Text.IndexOf("线图") != -1)
{
showLine();
}
else if (comboBox1.Text.IndexOf("点图") != -1)
{
showPoint();
}
}

private void showBar()
{
try
{
ChartTitle title = new ChartTitle();
title.Text = "市网元容量增长率统计分析柱图";

chartControl1.Titles.Clear();
chartControl1.Titles.Add(title);

Series series2 = new Series("大连", ViewType.Bar);
Series series3 = new Series("沈阳", ViewType.Bar);
Series series4 = new Series("本溪", ViewType.Bar);
foreach (KeyValuePair<string, double> kvp in chartBarDataDic)
{
series2.Points.Add(new SeriesPoint(kvp.Key, new double[] {kvp.Value}));
series3.Points.Add(new SeriesPoint(kvp.Key, new double[] {kvp.Value + 0.08}));
series4.Points.Add(new SeriesPoint(kvp.Key, new double[] {kvp.Value + 0.02}));
}


chartControl1.Series.Clear();
chartControl1.Series.Add(series2);
chartControl1.Series.Add(series3);
chartControl1.Series.Add(series4);

chartControl1.Legend.Visible = true; // 显示标签(旁边的标注哪个颜色代表哪个城市)
}
catch { }
}

private void showLine()
{
ChartTitle title = new ChartTitle();
title.Text = "线图";
chartControl1.Titles.Clear();
chartControl1.Titles.Add(title);

Series series1 = new Series("辽宁", ViewType.Line);
series1.ArgumentScaleType = ScaleType.Numerical;

series1.Points.Add(new SeriesPoint(1, new double[] { 10 }));
series1.Points.Add(new SeriesPoint(2, new double[] { 12 }));
series1.Points.Add(new SeriesPoint(3, new double[] { 14 }));
series1.Points.Add(new SeriesPoint(4, new double[] { 17 }));
series1.Points.Add(new SeriesPoint(5, new double[] { 21 }));
series1.Points.Add(new SeriesPoint(6, new double[] { 26 }));
series1.Points.Add(new SeriesPoint(7, new double[] { 29 }));
series1.Points.Add(new SeriesPoint(8, new double[] { 30 }));

((PointSeriesView)series1.View).PointMarkerOptions.Kind = MarkerKind.Triangle;


Series series2 = new Series("山东", ViewType.Line);
series2.ArgumentScaleType = ScaleType.Numerical; //这句话必须有,否则点画不出来.
((LineSeriesView)series2.View).LineStyle.DashStyle = DashStyle.DashDotDot;
series2.Points.Add(new SeriesPoint(1, new double[] { 4 }));
series2.Points.Add(new SeriesPoint(2, new double[] { 14 }));
series2.Points.Add(new SeriesPoint(3, new double[] { 17 }));
series2.Points.Add(new SeriesPoint(4, new double[] { 22 }));
series2.Points.Add(new SeriesPoint(5, new double[] { 20 }));
series2.Points.Add(new SeriesPoint(6, new double[] { 15 }));
series2.Points.Add(new SeriesPoint(7, new double[] { 18 }));
series2.Points.Add(new SeriesPoint(8, new double[] { 11 }));

((PointSeriesView)series2.View).PointMarkerOptions.Kind = MarkerKind.Cross;

chartControl1.Series.Clear();
chartControl1.Series.Add(series1);
chartControl1.Series.Add(series2);
chartControl1.Legend.Visible = true;
}
private void showPoint()
{
ChartTitle title = new ChartTitle();
title.Text = "点图";
chartControl1.Titles.Clear();
chartControl1.Titles.Add(title);

Series series1 = new Series("上线人数", ViewType.Point);
series1.ArgumentScaleType = ScaleType.Numerical;

series1.Points.Add(new SeriesPoint(1, new double[] { 20 }));
series1.Points.Add(new SeriesPoint(2, new double[] { 12 }));
series1.Points.Add(new SeriesPoint(3, new double[] { 11 }));
series1.Points.Add(new SeriesPoint(4, new double[] { 17 }));
series1.Points.Add(new SeriesPoint(5, new double[] { 21 }));
series1.Points.Add(new SeriesPoint(6, new double[] { 21 }));
series1.Points.Add(new SeriesPoint(7, new double[] { 29 }));
series1.Points.Add(new SeriesPoint(8, new double[] { 30 }));

((PointSeriesView)series1.View).PointMarkerOptions.Kind = MarkerKind.Triangle;


Series series2 = new Series("下线人数", ViewType.Point);
series2.ArgumentScaleType = ScaleType.Numerical; //这句话必须有,否则点画不出来.

series2.Points.Add(new SeriesPoint(1, new double[] { 4 }));
series2.Points.Add(new SeriesPoint(2, new double[] { 14 }));
series2.Points.Add(new SeriesPoint(3, new double[] { 17 }));
series2.Points.Add(new SeriesPoint(4, new double[] { 22 }));
series2.Points.Add(new SeriesPoint(5, new double[] { 20 }));
series2.Points.Add(new SeriesPoint(6, new double[] { 15 }));
series2.Points.Add(new SeriesPoint(7, new double[] { 18 }));
series2.Points.Add(new SeriesPoint(8, new double[] { 11 }));

((PointSeriesView)series2.View).PointMarkerOptions.Kind = MarkerKind.Cross;

chartControl1.Series.Clear();
chartControl1.Series.Add(series1);
chartControl1.Series.Add(series2);
chartControl1.Legend.Visible = true;
}
}
}

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
DevXpress控件: 第二篇
c#-Oxyplot中断DateTimeAxis系列
Dev之 ChartControl的简单使用
DevExpress之ChartControl实现饼状图百分比演示实例_C#教程_脚本之家
C# WPF中用ChartControl绘制柱形图
chart 控件的各种数据绑定(…
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服