Chart控件的多种使用方法
花了近一周时间专门研究.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控件的多种使用方法的更多相关文章
- Chart控件使用初步
学习了Chart控件的初步使用方法,生成柱形图和饼图. <asp:Chart ID="Chart1" runat="server" Width=&q ...
- winform Chart控件 获取鼠标处坐标值方法
Chart控件本身功能强大,应用广泛,因此其属性.方法也很多.此处介绍在很多应用中需要查看鼠标位置处坐标值的一些方法 1,调用Chart事件 GetToolTip 利用ToolTipEventArg ...
- 常量,字段,构造方法 调试 ms 源代码 一个C#二维码图片识别的Demo 近期ASP.NET问题汇总及对应的解决办法 c# chart控件柱状图,改变柱子宽度 使用C#创建Windows服务 C#服务端判断客户端socket是否已断开的方法 线程 线程池 Task .NET 单元测试的利剑——模拟框架Moq
常量,字段,构造方法 常量 1.什么是常量 常量是值从不变化的符号,在编译之前值就必须确定.编译后,常量值会保存到程序集元数据中.所以,常量必须是编译器识别的基元类型的常量,如:Boolean ...
- 这可能是目前最轻量级、最支持MVVM、可定制性最高的开源Chart控件!
由于项目中经常用到Series Chart,而目前市面又实在找不到既支持MVVM,又轻量级的开源Chart控件,于是干脆就花了两周时间随手写了一个.昨天感觉还比较满意,就发布到了Github上:htt ...
- C# Chart控件,chart、Series、ChartArea曲线图绘制的重要属性
http://blog.sina.com.cn/s/blog_621e24e20101cp64.html 为避免耽误不喜欢这种曲线图效果的亲们的时间,先看一下小DEMO效果图: 先简单说一下,从图中可 ...
- chart控件怎么使x轴标签全部显示出来
在vs2012中使用chart控件事,x轴的标签过多,致使默认只能显示其中的一部分,如图 当然,我们可以通过设置,使得x轴标签全部显示. 首先,通过chart控件属性,找到 “ChartAreas ...
- 用Chart控件绘制动态图表
进行程序设计时,选用一个合适的ActiveX控件,有时可大大减少编程工作量.ActiveX 控件(又称OCX)基于COM技术,作为独立的软件模块,它可以在任何程序设计语言中插入使用.本文仅以VC++为 ...
- 使用WinForm Chart控件 制作饼装,柱状,折线图
http://blog.csdn.net/dream2050csdn/article/details/53510340 chart控件的属性很多,主要用到Chart控件图表区域的属性有五个属性 1.A ...
- C# Chart控件教程
一.什么是Micosoft.Chart.Controls Micosoft.Chart.Controls是微软自带的一个图形可视化的组件,可以在Web程序和窗体程序中(Windowsform)中使用. ...
随机推荐
- C#获取本地打印机列表,并将指定打印机设置为默认打印机
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.W ...
- C++静态成员变量和静态成员函数小结
静态类成员包括静态数据成员和静态函数成员两部分. 一 静态数据成员: 类体中的数据成员的声明前加上static关键字,该数据成员就成为了该类的静态数据成员.和其他数据成员一样,静态数据成员也遵守pub ...
- net remoting 服务器端订阅客户端(附源代码)
remoting 在分布式应用中逐渐在企业级应用发展开来,最初提出分布式应用,主要目的是为了降低服务器的压力,将耗性能的处理放在另外一个程序中,然后将计算结果发送到另外一个应用中.而remoting就 ...
- [swustoj 856] Huge Tree
Huge Tree(0856) 问题描述 There are N trees in a forest. At first, each tree contains only one node as it ...
- 架构版本与 NuGet 的版本不兼容 解决方案
VS的NuGet管理在大大提高了开发效率,一直都在使用但今天在遇到了一个问题,引用一个所需要的NuGet包VS缺提示如下错误
- apache开源项目--TIKA
Tika是一个内容抽取的工具集合(a toolkit for text extracting).它集成了POI, Pdfbox 并且为文本抽取工作提供了一个统一的界面.其次,Tika也提供了便利的扩展 ...
- 【Java基础之容器】Iterator
Iterator: ->所有实现了Collection接口的容器类都有一个iterator方法用以返回一个实现了Iterator接口的对象 ->Iterator对象称作迭代器,用以方便的实 ...
- HDU 4237 The Rascal Triangle
The Rascal Triangle Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Othe ...
- Python脚本控制的WebDriver 常用操作 <二十八> 超时设置和cookie操作
超时设置 测试用例场景 webdriver中可以设置很多的超时时间 implicit_wait.识别对象时的超时时间.过了这个时间如果对象还没找到的话就会抛出异常 Python脚本 ff = webd ...
- C++关键字(static-register-atuo-extern-volatile-const)
转自:http://blog.163.com/fengxuedong_fxd/blog/static/71926306201173151854964/ 下面关于C++的几个关键字是经常和我们打交道的而 ...