花了近一周时间专门研究.net 3.5平台提供的Chart控件的使用方法,感觉该控件的功能很强大,做出的图表效果也很美观,使用方法也并不复杂。如今先讲下Chart控件的部署及一些基本使用方法。

一、安装Chart控件所需的一些组件:

以上组件在MS站点上均有下载

安装完后打开VS2008,在工具箱中右键选项,加入关于MSCHART组件的两个选项,工具箱中即出现Chart组件。

PS:可下载MSChart.rar,Chart控件的学习手冊,内容很全面,涵盖全部关于Chart的用法

二、基本使用方法:

1.构建一个最简单的图表

%@ Page Language="C#" AutoEventWireup="true" CodeFile="1.aspx.cs" Inherits="ChartTest_1" %>

<html>
<head>
<title>WebForm1</title>
<meta content="Microsoft Visual Studio 7.0" name="GENERATOR"/>
<meta content="C#" name="CODE_LANGUAGE"/>
<meta content="JavaScript" name="vs_defaultClientScript"/>
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema"/>
<link media="all" href="../../samples.css" mce_href="samples.css" type="text/css" rel="stylesheet" />
</head>
<body>
<p><asp:Chart ID="chart1" runat=server Height="296px" Width="595px"
ImageLocation="~/TempImages/ChartPic_#SEQ(300,3)" Palette=BrightPastel
ImageType=Png BackSecondaryColor=White BackGradientStyle=TopBottom
BackColor="#D3DFF0" BorderlineColor="26,59,105" >
<Legends>
<asp:Legend IsTextAutoFit=false Name="Default" BackColor="Transparent" Font="Trebuchet MS,8.25pt,style=Bold"></asp:Legend>
</Legends>
<BorderSkin SkinStyle=Emboss />
<Series>
<asp:Series Name="Column" BorderColor="180,26,59,105">
<Points>
<asp:DataPoint YValues="45" />
<asp:DataPoint YValues="34" />
<asp:DataPoint YValues="67" />
<asp:DataPoint YValues="31" />
<asp:DataPoint YValues="27" />
<asp:DataPoint YValues="87" />
<asp:DataPoint YValues="45" />
<asp:DataPoint YValues="32" />

</Points>
</asp:Series>
</Series>
<ChartAreas>
<asp:ChartArea Name="ChartArea1" BorderColor="64,64,64,64" BorderDashStyle=Solid BackSecondaryColor=White BackColor="64,165,191,228" ShadowColor=Transparent BackGradientStyle=TopBottom>
<Area3DStyle Rotation="10" Perspective="10" Inclination="15" IsRightAngleAxes=false WallWidth="0" IsClustered=false />
<AxisY LineColor="64,64,64,64">
<LabelStyle Font="Trebuchet MS,8.25pt,style=Bold" />
<MajorGrid LineColor="64,64,64,64" />
</AxisY>
<AxisX LineColor="64,64,64,64">
<LabelStyle Font="Trebuchet MS,8.25pt,style=Bold" />
<MajorGrid LineColor="64,64,64,64" />
</AxisX>
</asp:ChartArea>
</ChartAreas>
</asp:Chart>
</p>
</body>
</html>

.cs代码

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Web.UI.DataVisualization.Charting;

public partial class ChartTest_1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Series series = new Series("Spline");
series.ChartType = SeriesChartType.Spline;
series.BorderWidth = 3;
series.ShadowOffset = 2;

series.Points.AddY(45);
series.Points.AddY(34);
series.Points.AddY(67);
series.Points.AddY(31);
series.Points.AddY(27);
series.Points.AddY(87);
series.Points.AddY(45);
series.Points.AddY(32);

chart1.Series.Add(series);
}
}

2.直接在.cs代码中构建图表

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Web.UI.DataVisualization.Charting;

public partial class ChartTest_2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Chart Chart1 = new Chart();
Chart1.Width = 600;
Chart1.Height = 400;
Chart1.RenderType = RenderType.ImageTag;
//此属性决定MSChart生成的图形以何种方式送到client,有三种:
//ImageTag,图形在服务端保存为暂时文件,并将暂时文件的URL作为HTML中<IMG>标签的SRC属性值。而此暂时文件的URL规则及暂时文件怎样生成可由ImageLocation属性确定。
//BinaryStreaming,不在服务端生成图形文件,<IMG>标签的SRC属性值将指向还有一个负责生成图形的.aspx页面
//ImageMap,不显示实际的图形,仅创建图片热区(image map)。
//默认值是ImageTag,就是会在服务端生成暂时文件。
Chart1.ImageLocation = "..//..//TempImages//ChartPic_#SEQ(200,30)";
Chart1.Palette = ChartColorPalette.BrightPastel;
Title t = new Title("灰常好", Docking.Top, new System.Drawing.Font("Trebuchet MS", 14, System.Drawing.FontStyle.Bold), System.Drawing.Color.FromArgb(26, 59, 105));
Chart1.Titles.Add(t);
Chart1.ChartAreas.Add("Series 1");
Chart1.Series.Add("Series 1");
Chart1.Series.Add("Series 2");

Chart1.Series["Series 1"].Points.AddY(5);
Chart1.Series["Series 1"].Points.AddY(8);
Chart1.Series["Series 1"].Points.AddY(12);
Chart1.Series["Series 1"].Points.AddY(6);
Chart1.Series["Series 1"].Points.AddY(9);
Chart1.Series["Series 1"].Points.AddY(4);

Chart1.Series["Series 2"].Points.AddY(2);
Chart1.Series["Series 2"].Points.AddY(6);
Chart1.Series["Series 2"].Points.AddY(18);
Chart1.Series["Series 2"].Points.AddY(16);
Chart1.Series["Series 2"].Points.AddY(21);
Chart1.Series["Series 2"].Points.AddY(14);

Chart1.Series["Series 1"].ChartType = SeriesChartType.Bar;
Chart1.Series["Series 2"].ChartType = SeriesChartType.Bar;
//图表横向排列

Chart1.Series["Series 1"]["PointWidth"] = "0.6";
Chart1.Series["Series 2"]["PointWidth"] = "0.6";
//图表条柱粗细

Chart1.Series["Series 1"].IsValueShownAsLabel = true;
Chart1.Series["Series 2"].IsValueShownAsLabel = true;
//显示条柱代表数字

Chart1.Series["Series 1"]["BarLabelStyle"] = "Center";
Chart1.Series["Series 2"]["BarLabelStyle"] = "Center";
//数字显示在条柱中间

Chart1.ChartAreas["Series 1"].Area3DStyle.Enable3D = true;
//显示3D效果

Chart1.Series["Series 1"]["DrawingStyle"] = "Cylinder";
Chart1.Series["Series 2"]["DrawingStyle"] = "Cylinder";
//更改条柱形状

Chart1.ChartAreas["Series 1"].Area3DStyle.IsRightAngleAxes = true;
//更改图表视角

Chart1.ChartAreas["Series 1"].Area3DStyle.IsClustered = true;
//更改条柱长度

Chart1.ChartAreas["Series 1"].AxisX.LabelStyle.IsEndLabelVisible = false;
//去掉Y轴多余数字

Chart1.ChartAreas["Series 1"].Area3DStyle.Inclination = 80;
//控制条柱粗细

Chart1.BorderSkin.SkinStyle = BorderSkinStyle.Emboss;
Chart1.BorderlineColor = System.Drawing.Color.FromArgb(26, 59, 105);
Chart1.BorderlineDashStyle = ChartDashStyle.Solid;
Chart1.BorderlineWidth = 2;
Chart1.Legends.Add("Legend1");
Chart1.Page = this;
HtmlTextWriter writer = new HtmlTextWriter(Page.Response.Output);
Chart1.RenderControl(writer);

}
}

Chart控件的多种使用方法的更多相关文章

  1. Chart控件使用初步

    学习了Chart控件的初步使用方法,生成柱形图和饼图.    <asp:Chart ID="Chart1" runat="server" Width=&q ...

  2. winform Chart控件 获取鼠标处坐标值方法

    Chart控件本身功能强大,应用广泛,因此其属性.方法也很多.此处介绍在很多应用中需要查看鼠标位置处坐标值的一些方法 1,调用Chart事件  GetToolTip 利用ToolTipEventArg ...

  3. 常量,字段,构造方法 调试 ms 源代码 一个C#二维码图片识别的Demo 近期ASP.NET问题汇总及对应的解决办法 c# chart控件柱状图,改变柱子宽度 使用C#创建Windows服务 C#服务端判断客户端socket是否已断开的方法 线程 线程池 Task .NET 单元测试的利剑——模拟框架Moq

    常量,字段,构造方法   常量 1.什么是常量 ​ 常量是值从不变化的符号,在编译之前值就必须确定.编译后,常量值会保存到程序集元数据中.所以,常量必须是编译器识别的基元类型的常量,如:Boolean ...

  4. 这可能是目前最轻量级、最支持MVVM、可定制性最高的开源Chart控件!

    由于项目中经常用到Series Chart,而目前市面又实在找不到既支持MVVM,又轻量级的开源Chart控件,于是干脆就花了两周时间随手写了一个.昨天感觉还比较满意,就发布到了Github上:htt ...

  5. C# Chart控件,chart、Series、ChartArea曲线图绘制的重要属性

    http://blog.sina.com.cn/s/blog_621e24e20101cp64.html 为避免耽误不喜欢这种曲线图效果的亲们的时间,先看一下小DEMO效果图: 先简单说一下,从图中可 ...

  6. chart控件怎么使x轴标签全部显示出来

    在vs2012中使用chart控件事,x轴的标签过多,致使默认只能显示其中的一部分,如图 当然,我们可以通过设置,使得x轴标签全部显示. 首先,通过chart控件属性,找到   “ChartAreas ...

  7. 用Chart控件绘制动态图表

    进行程序设计时,选用一个合适的ActiveX控件,有时可大大减少编程工作量.ActiveX 控件(又称OCX)基于COM技术,作为独立的软件模块,它可以在任何程序设计语言中插入使用.本文仅以VC++为 ...

  8. 使用WinForm Chart控件 制作饼装,柱状,折线图

    http://blog.csdn.net/dream2050csdn/article/details/53510340 chart控件的属性很多,主要用到Chart控件图表区域的属性有五个属性 1.A ...

  9. C# Chart控件教程

    一.什么是Micosoft.Chart.Controls Micosoft.Chart.Controls是微软自带的一个图形可视化的组件,可以在Web程序和窗体程序中(Windowsform)中使用. ...

随机推荐

  1. 【HDOJ】4056 Draw a Mess

    这题用线段树就MLE.思路是逆向思维,然后每染色一段就利用并查集将该段移除,均摊复杂度为O(n*m). /* 4056 */ #include <iostream> #include &l ...

  2. poj 3041 Asteroids (二分图的最大匹配 第一题)

    题目:http://poj.org/problem?id=3041 题意:在某个n*n的空间内,分布有一些小行星,某人在里面打炮,放一枪后某一行或某一列的行星就都没了,让求最少的打炮数. 然后把每行x ...

  3. 【转】Android开发调试工具ADB的使用

    原文网址:http://www.cnblogs.com/meil/archive/2012/05/24/2516055.html ADB(Android Debug Bridge)是Android S ...

  4. 【转】10分钟搭建NDK的Android开发环境

    原文网址:http://blog.csdn.net/u012176591/article/details/23018913 作者:金良(golden1314521@gmail.com) csdn博客: ...

  5. 如何卸载eclipse中的ADT

    卸载ADT的方法,方法如下: 1.选择 Help > Install New Software: 2.在"Details" 面板中, 点击"What is alre ...

  6. 初识NuGet - 概念, 安装和使用

    1. NuGet是什么? NuGet is a Visual Studio 2010 extension that makes it easy to add, remove, and update l ...

  7. JVM内存结构之一--总体介绍

    Java 虚拟机在执行Java程序的时候会把它管理的内存区域划为几部分,这一节我们就来解析一下Java的内存区域. 有的人把JVM管理的内存简单地分为堆内存和栈内存,这样分未免有些太肤浅了. Java ...

  8. [Irving]SqlServer 标量函数 详解【转】

    --创建用户定义函数.这是一个已保存 Transact-SQL 或公共语言运行时 (CLR) 例程,--该例程可返回一个值.用户定义函数不能用于执行修改数据库状态的操作.--与系统函数一样,用户定义函 ...

  9. 浏览器插件 - Chrome 对 UserScript 的声明头(metadata)兼容性一览

    1.这里的UserScript指的是,油猴插件或者Tampermonkey插件等支持的格式如下例子: // ==UserScript== // @name // @namespace http://A ...

  10. 浅谈reverse_iterator的base()函数

    非原创,原文链接:http://blog.csdn.net/shuchao/article/details/3705252 调用reverse_iterator的base成员函数可以产生"对 ...