2011-03-15 151 views
15

有沒有人有一個很好的鏈接指導如何使用微軟內置圖表控件製作基本圖表?如何使用system.web.ui.datavisualization.charting.chart製作圖表?

如果可以的話,我想製作一個堆積條形圖。但是,如果沒有這個,一個普通的條形圖就足夠了。圖表的所有數據都是單個SQL調用的結果(一個結果集,1個標籤列和3個數據列,如果這有什麼不同)。

我的谷歌搜索引擎失敗了。提前致謝。

回答

15

我的谷歌福原來,我:-)

MS Chart ASP.Net Part 1

MS Chart ASP.Net Part 2

HTH

+0

謝謝。我需要的信息在第2部分。 – BoltBait 2011-03-15 05:08:22

+0

Glade我可以幫忙!與你的項目玩得開心! – 2011-03-15 06:44:20

+1

鏈接一個死亡現在:( – 2013-11-06 21:41:31

25

東西的文章kesun離開了正在生成圖表之前使用這兩個指南代碼:

下面是一個涵蓋大部分選項的簡單示例。

Chart c = new Chart(); 
c.AntiAliasing = AntiAliasingStyles.All; 
c.TextAntiAliasingQuality = TextAntiAliasingQuality.High; 
c.Width = 640; //SET HEIGHT 
c.Height = 480; //SET WIDTH 

ChartArea ca = new ChartArea(); 
ca.BackColor = Color.FromArgb(248, 248, 248); 
ca.BackSecondaryColor = Color.FromArgb(255, 255, 255); 
ca.BackGradientStyle = GradientStyle.TopBottom; 

ca.AxisY.IsMarksNextToAxis = true; 
ca.AxisY.Title = "Gigabytes Used"; 
ca.AxisY.LineColor = Color.FromArgb(157, 157, 157); 
ca.AxisY.MajorTickMark.Enabled = true; 
ca.AxisY.MinorTickMark.Enabled = true; 
ca.AxisY.MajorTickMark.LineColor = Color.FromArgb(157, 157, 157); 
ca.AxisY.MinorTickMark.LineColor = Color.FromArgb(200, 200, 200); 
ca.AxisY.LabelStyle.ForeColor = Color.FromArgb(89, 89, 89); 
ca.AxisY.LabelStyle.Format = "{0:0.0}"; 
ca.AxisY.LabelStyle.IsEndLabelVisible = false; 
ca.AxisY.LabelStyle.Font = new Font("Calibri", 4, FontStyle.Regular); 
ca.AxisY.MajorGrid.LineColor = Color.FromArgb(234, 234, 234); 

ca.AxisX.IsMarksNextToAxis = true; 
ca.AxisX.LabelStyle.Enabled = false; 
ca.AxisX.LineColor = Color.FromArgb(157, 157, 157); 
ca.AxisX.MajorGrid.LineWidth = 0; 
ca.AxisX.MajorTickMark.Enabled = true; 
ca.AxisX.MinorTickMark.Enabled = true; 
ca.AxisX.MajorTickMark.LineColor = Color.FromArgb(157, 157, 157); 
ca.AxisX.MinorTickMark.LineColor = Color.FromArgb(200, 200, 200); 

c.ChartAreas.Add(ca); 

Series s = new Series(); 
s.Font = new Font("Lucida Sans Unicode", 6f); 
s.Color = Color.FromArgb(215, 47, 6); 
s.BorderColor = Color.FromArgb(159, 27, 13); 
s.BackSecondaryColor = Color.FromArgb(173, 32, 11); 
s.BackGradientStyle = GradientStyle.LeftRight; 

int i = 0; 
foreach (DataRow dr in sourceData.Rows) 
{ 
    DataPoint p = new DataPoint(); 
    p.XValue = i; 
    p.YValues = new Double[] { Convert.ToDouble(dr[0]) }; 
    s.Points.Add(p); 
    i++; 
} 

c.Series.Add(s); 

c.SaveImage(Server.MapPath("~/output.png"), ChartImageFormat.Png); 

這輸出到一個文件,但你可以寫在一個HttpHandler中,並直接寫入響應流。

+0

謝謝,我選擇了kesun的答案,因爲我需要的信息在第二個鏈接上,你提供了有用的信息,但爲了節省時間,我只是在開發環境中做了所有事情 – BoltBait 2011-03-15 05:07:46

+0

謝謝,真的很好回答! – Dani 2012-04-27 19:18:08

+0

哪個命名空間用於'Color'? – IAbstract 2015-08-10 21:34:09

相關問題