ASP.NET画图系列之实现Bar图(柱状图)

本文详细介绍了一种使用C#绘制柱状图的方法,包括页面设置、数据源获取及图表生成的具体步骤。通过实例代码展示了如何定义图表样式、设置数据源,并最终生成可视化的柱状图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

前面已经实现了Pie和Curve图,今天我们来实现Bar,就是柱状图,这个的实现和前面2种基本上差不多,还是让我们先看看效果再说.

效果图:

下面开始页面部分:

页面最简单了,还是放一个<asp:Image ID="Image1" runat="server" />

我们看cs部分:

using System.Data.SqlClient;
using System.Drawing;
using System.Drawing.Imaging;
using SkyNet.Chart;
using SkyNet.OA.OAWebUtility;

public partial class SkyNetChart_MyBar : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

if (!IsPostBack)
{
InitChart();
}
}
private void InitChart()
{

Bar barImg
= new Bar(); //定义一个画图类实例

barImg.Title
= "2008年销售情况统计表";
barImg.TextColor
= Color.Red;
barImg.DS
= GetDSBySale(); //这里若不设置,则采用默认的

string imgPath = "../ChartImages/" + "MyBar.jpg";
ChartHelper.CreateChartByBar(barImg, imgPath, ImageFormat.Jpeg);
this.Image1.ImageUrl = imgPath;
}
private DataSet GetDSBySale()
{
string constr = ""; //这里请大家自行设置

SqlConnection con
= new SqlConnection(constr);
con.Open();
    //注意前面第一个字段对应Keys,第二个字段为Values

string cmdStr = "select CountryName,SaleSum from SaleOfCountry ";
        SqlDataAdapter da = new SqlDataAdapter(cmdStr, con);
DataSet ds
= new DataSet();
da.Fill(ds,
"SaleOfCountry");
return ds;
}

}

 

接下来我们看看Bar里面有什么:

 

Code

 

最后是一个CreateChartByBar方法,我们来看

 

 /// <summary>
/// 创建一个Bar图--柱状图
/// </summary>
/// <param name="barImg">Bar类的实例(设置标题、宽度、高度等)</param>
/// <param name="imgPath">生成Bar图的图片路径(相对路径)</param>
/// <param name="imgFormat">生成Bar图的图片格式(如:ImageFormat.Jpeg)</param>
public static void CreateChartByBar(Bar barImg, string imgPath,
    ImageFormat imgFormat)
{
try
{
if (barImg == null)
{
barImg.Title
= "Bar图统计表示例";
barImg.TextColor
= Color.Red;
}

Bitmap bmp
= barImg.CreateImage();
string savePath = HttpContext.Current.Server.MapPath(imgPath);
bmp.Save(savePath, imgFormat);
}
catch (Exception ee)
{
throw ee;
}
}


好了,效果已经出来了,大家可以拿下来自己测试下,若有什么问题请留言或Email给我

我的邮件地址是:gfreesky@gmail.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值