ASP.NET MVC2 chart图表
来源:互联网 发布:bandizip和7zip 知乎 编辑:程序博客网 时间:2024/05/01 15:02
1 创建一个Chart
2 添加标题
3 添加数据源
3.1 反复调用AddSeries可以添加多个
3.2 重复绑定 3.3 使用xml作为数据源
4 数据绑定
5 添加图注
6 保存数据
7 图表与缓存
8 保存到文件
9 其他
1创建一个Chart
public Chart(
int width,宽度
int height,高度
string theme = null,主题由System.Web.Helpers.ChartTheme 静态类提供
string themePath = null 主题地址 xml格式
);
new Chart(width: 600, height: 400 , theme: ChartTheme.Green ,themePath:null )
2添加标题
public Chart AddTitle(
string text = null, 添加标题
string name = null
//设置唯一标示 System.Web.UI.DataVisualization.Charting.Title object.
);
.AddTitle(text:"chat title",name:"chat1")
3添加数据源
public Chart AddSeries(string name = null,
string chartType = "Column",
//System.Web.UI.DataVisualization.Charting.SeriesChartType 下的枚举值
string chartArea = null,
//获取或设置用于绘制数据系列的 ChartArea 对象(如果有)的名称。
string axisLabel = null, 获取或设置系列的轴标签文本。
string legend = null, 获取或设置与 Legend 对象关联的系列的名称。
int markerStep = 1, //获取或设置用于决定数据点标记的显示频率的值。
IEnumerable xValue = null, x轴的数据源
string xField = null, x轴的数据绑定的字段。
IEnumerable yValues = null, Y轴的数据源
string yFields = null Y轴的数据绑定的字段。
);
.AddSeries(
name: "Stuednt"
, xValue: new[] { "Peter", "Andrew", "Julie", "Mary", "张1" }
,yValues: new[] { "2", "6", "4", "5", "3" }
, chartType: type.ToString()
, axisLabel: "获取或设置系列的轴标签文本"
, legend: xVal[3]
, markerStep :3
)
3.1反复调用AddSeries可以添加多个
3.2重复绑定
如果同时指定 yValues 和yFields ,会同时显示
同时指定 xValues 和xFields ,xFields优先。
3.3使用xml作为数据源
@using System.Data;@{var dataSet = new DataSet(); dataSet.ReadXmlSchema(Server.MapPath("/App_Data/data.xsd")); dataSet.ReadXml(Server.MapPath("/App_Data/data.xml")); var dataView = new DataView(dataSet.Tables[0]); new Chart(width: 400, height: 300 , theme: ChartTheme.Vanilla ) .AddSeries("Default", chartType: "Pie", xValue: dataView, xField: "Name", yValues: dataView, yFields: "Sales") .Write();}
4数据绑定
public Chart DataBindTable(IEnumerable dataSource, 数据源
string xField = null ,x轴字段
);
List<CMS5_Razor.Models.Test> list = new List<CMS5_Razor.Models.Test>(); for (int i = 0; i < 5; i++) { list.Add(new CMS5_Razor.Models.Test() { Name = "name" + i, Order = i, Content = "Content"+i }); }//----------------------------.DataBindTable(list, xField: "Name")
5添加图注
.AddLegend(title:"添加图注")
6保存数据
string xmlPath = "savedchart.xml";chart.SaveXml(xmlPath);
7图表与缓存
1保存图表到缓存
public string SaveToCache(string key = null,
int minutesToCache = 20,缓存时间,分钟为单位
bool slidingExpiration = true 是否平滑显示
);
2从缓存中读出
Chart.GetFromCache( string key = null ); @{ //保存到缓存 var mychart = Chart.GetFromCache("mychartkey"); if (mychart != null) { mychart.AddTitle("从缓存中读出"+DateTime.Now); mychart.Write(); } else { mychart = new Chart(width: 600, height: 400) .AddTitle("保存进缓存"+DateTime.Now) .AddSeries( name: "Employee", xValue: new[] { "Peter", "Andrew", "Julie", "Mary", "Dave" }, yValues: new[] { "2", "6", "4", "5", "3" }) .Write() ; mychart.SaveToCache(key: "mychartkey", minutesToCache: 11, slidingExpiration: false); } }
8保存到文件
@{//保存到文件 var mychart = new Chart(width: 400, height: 300) .AddTitle("保存到文件再从文件中读取") .AddSeries( name: "Employee", xValue: new[] { "Peter", "Andrew", "Julie", "Mary", "Dave" }, yValues: new[] { "2", "6", "4", "5", "3" }); var path = "~/Content/Image/mychart.jpg"; var imgpath = Server.MapPath(path); mychart.Save(path: imgpath, format: "jpeg"); }<img src="@Href(path)" />
9其他
1 更多图表的样式
成员名称
说明
Point
点图类型。
FastPoint
快速点图类型。
Bubble
气泡图类型。
Line
折线图类型。
Spline
样条图类型。
StepLine
阶梯线图类型。
FastLine
快速扫描线图类型。
Bar
条形图类型。
StackedBar
堆积条形图类型。
StackedBar100
百分比堆积条形图类型。
Column
柱形图类型。
StackedColumn
堆积柱形图类型。
StackedColumn100
百分比堆积柱形图类型。
Area
面积图类型。
SplineArea
样条面积图类型。
StackedArea
堆积面积图类型。
StackedArea100
百分比堆积面积图类型。
Pie
饼图类型。
Doughnut
圆环图类型。
Stock
股价图类型。
Candlestick
K 线图类型。
Range
范围图类型。
SplineRange
样条范围图类型。
RangeBar
范围条形图类型。
RangeColumn
范围柱形图类型。
Radar
雷达图类型。
Polar
极坐标图类型。
ErrorBar
误差条形图类型。
BoxPlot
盒须图类型。
Renko
砖形图类型。
ThreeLineBreak
新三值图类型。
Kagi
卡吉图类型。
PointAndFigure
点数图类型。
Funnel
漏斗图类型。
Pyramid
棱锥图类型。
http://msdn.microsoft.com/zh-cn/library/system.web.ui.datavisualization.charting.seriescharttype.aspx
2参考
Series 成员
http://msdn.microsoft.com/zh-cn/library/system.web.ui.datavisualization.charting.series_members.aspx
3源码下载
http://files.cnblogs.com/facingwaller/learn2UseRazor3.rar
之前的是
http://files.cnblogs.com/facingwaller/learn2UseRazor1-2.rar
4尚未完成的问题
1 themePath的使用。
2 各种图表的具体使用,有些能兼容。
3 来自同学的提醒,似乎还不能精确控制。 在到处的xml中似乎可以比较精确的控制,
但是由于时间问题,不做深入探究。欢迎大家交流。
- ASP.NET MVC2 chart图表
- ASP.NET Chart Control (ASP.NET图表)
- ASP.NET的chart图表控件
- 图表ASP:Chart
- asp.net MVC2 验证
- asp.net MVC2 验证
- asp.net MVC2 学习
- ASP.NET MVC2 安装配置
- ASP.NET MVC2.0介绍
- ASP.NET MVC2示例1
- Asp.net MVC2实现分页
- ASP.NET MVC2 Model验证
- Asp.net MVC2实现分页
- ASP.NET 4.0的七大新特性之图表控件(Chart Control)
- 五款ASP.NET图表控件优缺分析(上):Ms Chart和TeeChart
- 五款ASP.NET图表控件优缺分析(上):Ms Chart和TeeChart
- Dundas Chart for asp.net 在win7 64位系统下发布图表不能显示
- vb.net chart图表使用技巧之一
- linux while循环
- shell中的括号(小括号,大括号/花括号)
- String to Integer (atoi) -- leetcode
- 实验室第十四周工作报告
- 转义字符的使用
- ASP.NET MVC2 chart图表
- js json格式 与 直接在js写
- 关于CString剖析,"strcmp": 不能将参数1从"CString”"转换为"const char *"问题
- IT痴汉的工作现状27-高冷MM与奶茶姑娘
- 黑马程序员:单例模式学习心得
- NS3 中Attribute 学习
- log4j日志的使用与配置
- 更流网络seo专家分析百度快照不更新情况
- Swift-数组&集合