欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ASP.NET MVC中图表控件的使用方法

程序员文章站 2023-12-19 14:10:28
微软发布了一个强大的asp.net的图表控件,支持丰富的图表选项设置-包括列,点,泡沫,饼图,圆环图,金字塔,漏斗,盒形图,面积,范围,ajax的互动,以及更多。micro...

微软发布了一个强大的asp.net的图表控件,支持丰富的图表选项设置-包括列,点,泡沫,饼图,圆环图,金字塔,漏斗,盒形图,面积,范围,ajax的互动,以及更多。microsoft图表控件示例项目包括asp.net页的图表样本超过200个。在这篇文章中,我将展示如何在asp.net mvc中使用图表控件。

这里介绍一个非常简单的项目,显示了一个类的结果比较。两个字段 - id(这是唯一的一个学生)和gpa(平均成绩) - 代表一个特定的学生的结果。各种图表结果显示,学生的结果进行比较。我希望把重点放在如何轻松地显示相同的数据不同的结果。在这个项目中,您可以添加,编辑和删除学生的成绩,并动态显示的变化。

要运行该项目,必须安装以下微软net framework 3.5的microsoft图表控件组件

代码开始,你将需要引用的system.web.ui.datavisualization程序集

一旦你这样做,这是相当多的简单图表添加到视图页面。

<img src="/chart/createchart?charttype=<%=system.web.ui.datavisualization.charting.seriescharttype.column%>" alt="" />

首先定义一个controller,提供以下方法实现

#region chart component 

public fileresult createchart(seriescharttype charttype) 
{ 
ilist<resultmodel> peoples = _resultservice.getresults(); 
chart chart = new chart(); 
chart.width = 700; 
chart.height = 300; 
chart.backcolor = color.fromargb(211, 223, 240); 
chart.borderlinedashstyle = chartdashstyle.solid; 
chart.backsecondarycolor = color.white; 
chart.backgradientstyle = gradientstyle.topbottom; 
chart.borderlinewidth = 1; 
chart.palette = chartcolorpalette.brightpastel; 
chart.borderlinecolor = color.fromargb(26, 59, 105); 
chart.rendertype = rendertype.binarystreaming; 
chart.borderskin.skinstyle = borderskinstyle.emboss; 
chart.antialiasing = antialiasingstyles.all; 
chart.textantialiasingquality = textantialiasingquality.normal; 
chart.titles.add(createtitle()); 
chart.legends.add(createlegend()); 
chart.series.add(createseries(peoples,charttype)); 
chart.chartareas.add(createchartarea()); 

memorystream ms = new memorystream(); 
chart.saveimage(ms); 
return file(ms.getbuffer(), @"image/png"); 
} 

[nonaction] 
public title createtitle() 
{ 
title title = new title(); 
title.text = "result chart"; 
title.shadowcolor = color.fromargb(32, 0, 0, 0); 
title.font = new font("trebuchet ms", 14f, fontstyle.bold); 
title.shadowoffset = 3; 
title.forecolor = color.fromargb(26, 59, 105); 

return title; 
} 

[nonaction] 
public legend createlegend() 
{ 
legend legend = new legend(); 
legend.name = "result chart"; 
legend.docking = docking.bottom; 
legend.alignment = stringalignment.center; 
legend.backcolor = color.transparent; 
legend.font = new font(new fontfamily("trebuchet ms"), 9); 
legend.legendstyle = legendstyle.row; 

return legend; 
} 

[nonaction] 
public series createseries(ilist<resultmodel> results, seriescharttype charttype) 
{ 
series seriesdetail = new series(); 
seriesdetail.name = "result chart"; 
seriesdetail.isvalueshownaslabel = false; 
seriesdetail.color = color.fromargb(198, 99, 99); 
seriesdetail.charttype = charttype; 
seriesdetail.borderwidth = 2; 
seriesdetail["drawingstyle"] = "cylinder"; 
seriesdetail["piedrawingstyle"] = "softedge"; 
datapoint point; 

foreach (resultmodel result in results) 
{ 
point = new datapoint(); 
point.axislabel =result.id; 
point.yvalues = new double[] {double.parse(result.gpa) }; 
seriesdetail.points.add(point); 
} 
seriesdetail.chartarea = "result chart"; 

return seriesdetail; 
} 

[nonaction] 
public chartarea createchartarea() 
{ 
chartarea chartarea = new chartarea(); 
chartarea.name = "result chart"; 
chartarea.backcolor = color.transparent; 
chartarea.axisx.islabelautofit = false; 
chartarea.axisy.islabelautofit = false; 
chartarea.axisx.labelstyle.font = new font("verdana,arial,helvetica,sans-serif", 8f, fontstyle.regular); 
chartarea.axisy.labelstyle.font = new font("verdana,arial,helvetica,sans-serif", 8f, fontstyle.regular); 
chartarea.axisy.linecolor = color.fromargb(64, 64, 64, 64); 
chartarea.axisx.linecolor = color.fromargb(64, 64, 64, 64); 
chartarea.axisy.majorgrid.linecolor = color.fromargb(64, 64, 64, 64); 
chartarea.axisx.majorgrid.linecolor = color.fromargb(64, 64, 64, 64); 
chartarea.axisx.interval = 1; 

return chartarea; 
} 

#endregion

图表类的各种属性,可以控制宽度,高度,边框颜色,背景颜色,皮肤,调色板,等。最终形成图片格式展现在页面。

这里介绍的项目是asp.net mvc的图表控件的一个小demo示例,最终展示如下:

ASP.NET MVC中图表控件的使用方法

以上就是告诉大家如何使用asp.net mvc中的图表控件,希望对大家的学习有所帮助。

上一篇:

下一篇: