求在asp.net页面上画饼状图的代码
3个回答
2014-01-14
展开全部
找插件 网上很多
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我给你一个吧用的是微软的owc做的
记得引用
using Microsoft.Office.Interop.Owc11;
/// <summary>
/// 生成折线图
/// </summary>
private void ShowChartTypeLine()
{
//创建图形容器对象
ChartSpace chartSpace = new ChartSpace();
//添加图象对象
ChChart chChart = chartSpace.Charts.Add(0);
chChart.Type = ChartChartTypeEnum.chChartTypeLine;//折线图
//chChart.Legend.Position = ChartLegendPositionEnum.chLegendPositionBottom;
ChSeries chSeries = chChart.SeriesCollection.Add(0);
//给定series的名字
chSeries.SetData(ChartDimensionsEnum.chDimSeriesNames, (int)ChartSpecialDataSourcesEnum.chDataLiteral, "1\t2\t3\t4");
//给定分类
chSeries.SetData(ChartDimensionsEnum.chDimCategories,(int)ChartSpecialDataSourcesEnum.chDataLiteral,"1\t2\t3\t4\t5\t6\t7\t8\t9\t10\t11\t12");
//给定值
chSeries.SetData(ChartDimensionsEnum.chDimValues, (int)ChartSpecialDataSourcesEnum.chDataLiteral, "300\t100\t643\t200\t300\t100\t643\t200\t300\t100\t643\t200");
//chSeries.DataLabelsCollection[0].HasValue = true;
chChart.Axes[0].HasTitle = true;
chChart.Axes[0].Title.Caption = "月份";
chChart.Axes[1].HasTitle = true;
chChart.Axes[1].Title.Caption = "销量";
chChart.SeriesCollection[0].DataLabelsCollection.Add();
chChart.SeriesCollection[0].DataLabelsCollection[0].HasValue = true;
//设置要保存的图片的名字
string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + "Line.jpg";
//设置图片的保存路径
string filePath = Server.MapPath("~/images/") + fileName;
//将当前图形对象导出成图片文件保存到磁盘上
chartSpace.ExportPicture(filePath, "jpg", 300, 300);
//设置Image控件的Url地址以便显示
imgLine.ImageUrl = "../images/" + fileName;
}
/// <summary>
/// 生成饼图
/// </summary>
private void ShowChartTypePie()
{
//创建图形容器对象
ChartSpace chartSpace = new ChartSpace();
//添加图象对象
ChChart chChart = chartSpace.Charts.Add(0);
chChart.Type = ChartChartTypeEnum.chChartTypePie;//饼图
//chChart.Border.Color = "green";
//设置图形对象具有标题
chChart.HasTitle = true;
//设置图形对象的标题
chChart.Title.Caption = "上网方式统计";
//设置图形对象的标题字体大小
chChart.Title.Font.Size = 12;
//设置图形对象的标题字体加粗
chChart.Title.Font.Bold = true;
//设置图形对象的标题颜色
chChart.Title.Font.Color = "Blue";
//设置是否显示图形
chChart.HasLegend = true;
//设置图形对象的字体大小
chChart.Legend.Font.Size = 10;
//设置图形对象的关联的文字位置
chChart.Legend.Position = ChartLegendPositionEnum.chLegendPositionBottom;
ChSeries chSeries = chChart.SeriesCollection.Add(0);
//设置系列的值,注意各个数值之间必须以'\t'分隔,否则会被当作一个数据
chSeries.SetData(ChartDimensionsEnum.chDimValues, (int)ChartSpecialDataSourcesEnum.chDataLiteral, "16.3\t59.3\t8.3\t16.1");
//设置系列关联的名字,注意各个数值之间必须以'\t'分隔,否则会被当作一个数据
chSeries.SetData(ChartDimensionsEnum.chDimCategories, (int)ChartSpecialDataSourcesEnum.chDataLiteral, "拨号\tASDL\t光纤\t小区宽带");
chSeries.DataLabelsCollection.Add();
//chSeries.DataLabelsCollection[0].HasValue = true;
chSeries.DataLabelsCollection[0].HasPercentage = true;
//设置要保存的图片的名字
string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + "Pie.jpg";
//设置图片的保存路径
string filePath = Server.MapPath("~/images/") + fileName;
//将当前图形对象导出成图片文件保存到磁盘上
chartSpace.ExportPicture(filePath, "jpg", 300, 300);
//设置Image控件的Url地址以便显示
imgPie.ImageUrl = "../images/" + fileName;
}
/// <summary>
/// 生成柱状图
/// </summary>
protected void ShowChartTypeColumnClustered()
{
//创建图形容器对象
ChartSpace chartSpace = new ChartSpace();
//添加图象对象
ChChart chChart = chartSpace.Charts.Add(0);
//设置图形对象图例类型,这里设置成柱状图,
//注意:图形类型不同,所用到的属性可能就不会相同,比如饼图就不能设置X,Y轴的属性
chChart.Type = ChartChartTypeEnum.chChartTypeColumnClustered;//柱状图
//chChart.Type = ChartChartTypeEnum.chChartTypeLine;//折线图
//chChart.Type = ChartChartTypeEnum.chChartTypeArea;//面积图
//chChart.Type = ChartChartTypeEnum.chChartTypeBarClustered;//条形图
//chChart.Type = ChartChartTypeEnum.chChartTypePie;//饼图
//设置图形对象的边框颜色
chChart.Border.Color = "Red";
//设置图形对象具有标题
chChart.HasTitle = true;
//设置图形对象的标题
chChart.Title.Caption = "周公的OWC测试";
//设置图形对象的标题字体大小
chChart.Title.Font.Size = 12;
//设置图形对象的标题字体加粗
chChart.Title.Font.Bold = true;
//设置图形对象的标题颜色
chChart.Title.Font.Color = "Blue";
//设置是否显示图形
chChart.HasLegend = true;
//设置图形对象的字体大小
chChart.Legend.Font.Size = 10;
//设置图形对象的关联的文字位置
chChart.Legend.Position = ChartLegendPositionEnum.chLegendPositionBottom;
//设置显示X轴上的标题
chChart.Axes[0].HasTitle = true;
//设置X轴标题
chChart.Axes[0].Title.Caption = "人物";
//设置显示Y轴上的标题
chChart.Axes[1].HasTitle = true;
//设置Y轴标题
chChart.Axes[1].Title.Caption = "数量";
ChSeries chSeries = chChart.SeriesCollection.Add(0);
//设置系列的名字
chSeries.SetData(ChartDimensionsEnum.chDimSeriesNames, (int)ChartSpecialDataSourcesEnum.chDataLiteral, "战斗力");
//设置系列的值,注意各个数值之间必须以'\t'分隔,否则会被当作一个数据
chSeries.SetData(ChartDimensionsEnum.chDimValues, -1, "800\t998\t990\t234");
//设置系列关联的名字,注意各个数值之间必须以'\t'分隔,否则会被当作一个数据
chSeries.SetData(ChartDimensionsEnum.chDimCategories, (int)ChartSpecialDataSourcesEnum.chDataLiteral, "周公\t关公\t张公\t朱公");
//在柱状图里显示数值
chSeries.DataLabelsCollection.Add();
chSeries.DataLabelsCollection[0].HasValue = true;
chSeries = chChart.SeriesCollection.Add(1);
//设置系列的名字
chSeries.SetData(ChartDimensionsEnum.chDimSeriesNames, (int)ChartSpecialDataSourcesEnum.chDataLiteral, "幽默指数");
chSeries.SetData(ChartDimensionsEnum.chDimValues, (int)ChartSpecialDataSourcesEnum.chDataLiteral, "999\t580\t320\t960");
//在柱状图里显示数值
chSeries.DataLabelsCollection.Add();
chSeries.DataLabelsCollection[0].HasValue = true;
//设置要保存的图片的名字
string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + "ColumnClustered.jpg";
//设置图片的保存路径
string filePath = Server.MapPath("~/images/") + fileName;
//将当前图形对象导出成图片文件保存到磁盘上
chartSpace.ExportPicture(filePath, "jpg", 300, 300);
//设置Image控件的Url地址以便显示
imgChartTypeColumnClustered.ImageUrl = "../images/" + fileName;
}
protected void Page_Load(object sender, EventArgs e)
{
ShowChartTypeColumnClustered();
ShowChartTypePie();
ShowChartTypeLine();
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ASP.NET有一个图标控件 MSCHAT,官网有很多它的实例。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询