文章出處
文章列表
圖表在一個系統中是必須的,MVC架構把它當然是一個擴展集成了進來,通過簡單的幾句話就可以生成一個風格多樣的圖表,這給報表的開發帶來了很大的方便,大叔的項目中也做了一個測試,把主要的代碼貼出來,和大家分享一下。
首先一個Action,返回你需要的圖表
public void Chart(string type = "Column") { new Chart(width: 600, height: 400, theme: ChartTheme.Green) .AddTitle("人員流動情況") .AddSeries(name: "Employee" , chartType: type//Column,Pie , xValue: new[] { "一月份", "二月份", "三月份", "四月份", "五月份", "六月份", "七月份", "八月份", "九月份" } , yValues: new[] { "2", "6", "4", "5", "3", "4", "9", "2", "5" }) .Write(); }
代碼中的cartType表示圖表的類型,一般也就是Column(柱狀),Pie(餅狀),Range(范圍)等等。
幾種常用的圖表截圖
柱形
餅形
范圍
如果你希望將數據庫的數據生成圖表,需要將名稱字段和統計字段放到一個匿名的IEnumerable<T>集合里,例如
/// <summary> /// 通過數據生成圖表 /// </summary> /// <param name="type"></param> public void DataChart(string type) { var total = productList.Select(i => new { Name = i.Name, Price = i.UnitPrice }).ToList();//必須要ToList()操作 new Chart(width: 600, height: 400, theme: ChartTheme.Green) .AddTitle("人員流動情況") .AddSeries(name: "Employee" , chartType: string.IsNullOrWhiteSpace(type) ? "Column" : type)//Column,Pie,Range,Stock,Point,Area .DataBindTable(total, "Name") .Write(); }
結果如下
當然如果你要設計多維度報表,你需要讓你的IEnumerable<T>對象存在多個元素即可,也就是說,它里面的元素除了一個"X-Field",其它的都是維度字段,所以要根據情況去使用。
而如果各位還需要其它的圖表類型,還可以參數下拉的參數列表
說明 | |
---|---|
Area |
面積圖類型。 |
Bar |
條形圖類型。 |
BoxPlot |
盒須圖類型。 |
Bubble |
氣泡圖類型。 |
Candlestick |
K 線圖類型。 |
Column |
柱形圖類型。 |
Doughnut |
圓環圖類型。 |
ErrorBar |
誤差條形圖類型。 |
FastLine |
快速掃描線圖類型。 |
FastPoint |
快速點圖類型。 |
Funnel |
漏斗圖類型。 |
Kagi |
卡吉圖類型。 |
Line |
折線圖類型。 |
Pie |
餅圖類型。 |
Point |
點圖類型。 |
PointAndFigure |
點數圖類型。 |
Polar |
極坐標圖類型。 |
Pyramid |
棱錐圖類型。 |
Radar |
雷達圖類型。 |
Range |
范圍圖類型。 |
RangeBar |
范圍條形圖類型。 |
RangeColumn |
范圍柱形圖類型。 |
Renko |
磚形圖類型。 |
Spline |
樣條圖類型。 |
SplineArea |
樣條面積圖類型。 |
SplineRange |
樣條范圍圖類型。 |
StackedArea |
堆積面積圖類型。 |
StackedArea100 |
百分比堆積面積圖類型。 |
StackedBar |
堆積條形圖類型。 |
StackedBar100 |
百分比堆積條形圖類型。 |
StackedColumn |
堆積柱形圖類型。 |
StackedColumn100 |
百分比堆積柱形圖類型。 |
StepLine |
階梯線圖類型。 |
Stock |
股價圖類型。 |
ThreeLineBreak |
新三值圖類型。 |
感謝各位的閱讀!
文章列表
全站熱搜