有没有人有一个很好的链接指导如何使用微软内置图表控件制作基本图表?如何使用system.web.ui.datavisualization.charting.chart制作图表?
如果可以的话,我想制作一个堆积条形图。但是,如果没有这个,一个普通的条形图就足够了。图表的所有数据都是单个SQL调用的结果(一个结果集,1个标签列和3个数据列,如果这有什么不同)。
我的谷歌搜索引擎失败了。提前致谢。
有没有人有一个很好的链接指导如何使用微软内置图表控件制作基本图表?如何使用system.web.ui.datavisualization.charting.chart制作图表?
如果可以的话,我想制作一个堆积条形图。但是,如果没有这个,一个普通的条形图就足够了。图表的所有数据都是单个SQL调用的结果(一个结果集,1个标签列和3个数据列,如果这有什么不同)。
我的谷歌搜索引擎失败了。提前致谢。
东西的文章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中,并直接写入响应流。
谢谢。我需要的信息在第2部分。 – BoltBait 2011-03-15 05:08:22
Glade我可以帮忙!与你的项目玩得开心! – 2011-03-15 06:44:20
链接一个死亡现在:( – 2013-11-06 21:41:31