asp.net制作图形:使用amcharts(.net版)实现图形报表(2)
柱型图
<cc1:ColumnChart runat="server" ID="ColumnChart1"></cc1:ColumnChart>
后台代码
Code
protected void Page_Load(object sender, EventArgs e)
{
DataSet ds = new DataSet("column");
DataTable dt = new DataTable("columnTable");
DataColumn dc_y = new DataColumn("year");
DataColumn dc_v = new DataColumn("val");
DataColumn dc_v1 = new DataColumn("val1");
dt.Columns.Add(dc_y);
dt.Columns.Add(dc_v);
dt.Columns.Add(dc_v1);
Random rd = new Random();
for (int i = 2000; i < 2010; i++)
{
DataRow dr = dt.NewRow();
dr[dc_y] = i.ToString();
dr[dc_v] = (rd.NextDouble() * i).ToString();
dr[dc_v1] = (rd.NextDouble() * (i + i / 3)).ToString();
dt.Rows.Add(dr);
}
ds.Tables.Add(dt);
//立体感觉深度
ColumnChart1.Depth = 10;
//动态升长时间
ColumnChart1.ColumnGrowTime = 5;
ColumnChart1.Width = new Unit(600);
ColumnChart1.Height = new Unit(500);
ColumnChart1.PlotAreaBackgroundColor = Color.Yellow;
ColumnChart1.ChartDirectory = "~/amcharts/amcolumn/";
//柱型1
ColumnChartGraph ccg = new ColumnChartGraph();
ccg.DataSource = ds;
ccg.DataSeriesItemIDField = "year";
ccg.Title = "测试";
ccg.DataValueField = "val";
//形状,可以是柱型,也可以是线型
ccg.GraphType = ColumnChartGraphTypes.Column;
ColumnChart1.Graphs.Add(ccg);
ColumnChartGraph ccg1 = new ColumnChartGraph();
ccg1.DataSource = ds;
ccg1.DataSeriesItemIDField = "year";
ccg1.Title = "测试1";
ccg1.DataValueField = "val1";
ccg1.GraphType = ColumnChartGraphTypes.Column;
ColumnChart1.Graphs.Add(ccg1);
//设置上面显示的文字格式
ColumnChart1.ColumnDataLabelFormatString = "{value}";
ColumnChart1.LineBalloonTextFormatString = "{value}";
ColumnChart1.DataSource = ds;
ColumnChart1.DataSeriesIDField = "year";
ColumnChart1.DataBind();
}
线型图
<cc1:LineChart runat="server" ID="LineChart1"></cc1:LineChart>
后台
Code
protected void Page_Load(object sender, EventArgs e)
{
//自己添加一个数据
DataSet ds = new DataSet("Line");
DataTable dt = new DataTable("LineTable");
DataColumn dc_y = new DataColumn("year");
DataColumn dc_v = new DataColumn("val");
DataColumn dc_v1 = new DataColumn("val1");
dt.Columns.Add(dc_y);
dt.Columns.Add(dc_v);
dt.Columns.Add(dc_v1);
Random rd = new Random();
for (int i = 1987; i < 2010; i++)
{
DataRow dr = dt.NewRow();
dr[dc_y] = i.ToString();
dr[dc_v] = (rd.NextDouble() * i).ToString();
dr[dc_v1] = (rd.NextDouble() * (i + i / 3)).ToString();
dt.Rows.Add(dr);
}
ds.Tables.Add(dt);
//设置图形的长高
LineChart1.Width = new Unit(600);
LineChart1.Height = new Unit(400);
//添加一个线条
LineChartGraph lcg = new LineChartGraph();
//这里是线条峰点的形状(正方形):实心圆,空心圆.
lcg.Bullet = LineChartBulletTypes.Square;
//这里是线条的颜色
//lcg.BulletColor = Color.Yellow;
//向下面积的颜色
lcg.FillColor = Color.Yellow;
//向下面积的透明度
lcg.FillAlpha = Convert.ToByte(40);
//Y轴值在右边(默认在左边)
lcg.Axis = LineChartAxes.Right;
lcg.DataSource = ds;
lcg.DataSeriesItemIDField = "year";
lcg.DataValueField = "val";
lcg.Title = "测试1";
LineChart1.Graphs.Add(lcg);
//添加第二个线条
LineChartGraph lcg1 = new LineChartGraph();
lcg1.Bullet = LineChartBulletTypes.RoundOutline;
lcg1.DataSource = ds;
lcg1.DataSeriesItemIDField = "year";
lcg1.DataValueField = "val1";
lcg1.Title = "测试2";
LineChart1.Graphs.Add(lcg1);
LineChart1.DataSource = ds;
LineChart1.DataSeriesIDField = "year";
LineChart1.DataBind();
}
代码下载
http://files.cnblogs.com/liuju150/amCharts.rar