int SubjectID = 43;// Int32.Parse(Request.QueryString["vid"].ToString());
ExPower seach = new ExPower();
DataTable dtitem = seach.getItem(SubjectID);
int itemall = dtitem.Rows.Count; DataTable countman = seach.manmun(SubjectID);
string automan = Convert.ToString(countman.Rows[0][0]);
ChartSpace mychartSpace = new ChartSpace();
//在图表空间内添加一个图表对象
ChChart mychart = mychartSpace.Charts.Add(0);
mychart.Type = ChartChartTypeEnum.chChartTypeColumnClustered;//设置图表类型,本例使用柱形
//设置图表的一些属性
// mychart.HasLegend = true;//指定图表是否需要图例标注
mychart.HasTitle = true; //是否需要主题
mychart.Title.Caption = Convert.ToString(dtitem.Rows[0][4]); //主题内容
//设置x,y坐标
mychart.Axes[0].HasTitle = true;
mychart.Axes[0].Title.Caption = "选项";
mychart.Axes[1].HasTitle = true;
mychart.Axes[1].Title.Caption = "次数";
for (int i = 0; i <= itemall - 1; i++)
{
Image image = new Image();
mychart.HasTitle = true;
mychart.Title.Caption = Convert.ToString(dtitem.Rows[i][1]); int itemid = Convert.ToInt32(dtitem.Rows[i][0]);
DataTable getcount = seach.getcount(itemid);
int count = Convert.ToInt32(getcount.Rows[0][0]);
DataTable dtques = seach.getquesnum(SubjectID, itemid); DataTable xuanxiang = seach.getquestion(SubjectID, itemid);
int xuanxiangcunt = xuanxiang.Rows.Count;
for (int a = 0; a < xuanxiangcunt-1; a++)
{
int questionid = Convert.ToInt32(xuanxiang.Rows[a][0].ToString());
DataTable daancount = seach.getdaancount(questionid);//, itemid
int selectques = Convert.ToInt32(daancount.Rows[0][0].ToString());
string aa = xuanxiang.Rows[a][2].ToString(); mychart.SeriesCollection.Add(xuanxiangcunt);
//设置图表块的属性
//标题
mychart.SeriesCollection[0].GapWidth = 80;
mychart.SeriesCollection[a].Caption = xuanxiang.Rows[a][2].ToString();
//X坐标的值属性
int num = Convert.ToInt32(xuanxiang.Rows[a][1].ToString());
mychart.SeriesCollection[a].SetData(ChartDimensionsEnum.chDimSeriesNames, +(int)ChartSpecialDataSourcesEnum.chDataLiteral, aa);
mychart.SeriesCollection[a].SetData(ChartDimensionsEnum.chDimCategories, +(int)ChartSpecialDataSourcesEnum.chDataLiteral, aa); ChDataLabels objDataLabels = mychart.SeriesCollection[a].DataLabelsCollection.Add();
objDataLabels.HasValue = true; // 柱子上面的数字是否显示
objDataLabels.Font.Color = "Black"; // 柱子上面的数字颜色是黑色的
//y坐标的值属性
mychart.SeriesCollection[a].SetData(ChartDimensionsEnum.chDimValues, +(int)ChartSpecialDataSourcesEnum.chDataLiteral, selectques);
}
ChSeries objSeries = mychart.SeriesCollection.Add(0);//11
objSeries.GapWidth = 50; // 柱子之间的间隙//11
mychartSpace.ExportPicture(Server.MapPath(".") + "\\" + itemid + ".jpg", "jpg", 300, 250);
//加载图片Server.MapPath(".") +
image.ImageUrl = "~/ExPower/" + itemid + ".jpg";
Panel1.Controls.Add(image);
}
我这样做在图片出来后,第二个图上的最后总会加上前面那个土的那最后那列,有哪位大虾知道这样做的问题出在哪不啊。在线等
ExPower seach = new ExPower();
DataTable dtitem = seach.getItem(SubjectID);
int itemall = dtitem.Rows.Count; DataTable countman = seach.manmun(SubjectID);
string automan = Convert.ToString(countman.Rows[0][0]);
ChartSpace mychartSpace = new ChartSpace();
//在图表空间内添加一个图表对象
ChChart mychart = mychartSpace.Charts.Add(0);
mychart.Type = ChartChartTypeEnum.chChartTypeColumnClustered;//设置图表类型,本例使用柱形
//设置图表的一些属性
// mychart.HasLegend = true;//指定图表是否需要图例标注
mychart.HasTitle = true; //是否需要主题
mychart.Title.Caption = Convert.ToString(dtitem.Rows[0][4]); //主题内容
//设置x,y坐标
mychart.Axes[0].HasTitle = true;
mychart.Axes[0].Title.Caption = "选项";
mychart.Axes[1].HasTitle = true;
mychart.Axes[1].Title.Caption = "次数";
for (int i = 0; i <= itemall - 1; i++)
{
Image image = new Image();
mychart.HasTitle = true;
mychart.Title.Caption = Convert.ToString(dtitem.Rows[i][1]); int itemid = Convert.ToInt32(dtitem.Rows[i][0]);
DataTable getcount = seach.getcount(itemid);
int count = Convert.ToInt32(getcount.Rows[0][0]);
DataTable dtques = seach.getquesnum(SubjectID, itemid); DataTable xuanxiang = seach.getquestion(SubjectID, itemid);
int xuanxiangcunt = xuanxiang.Rows.Count;
for (int a = 0; a < xuanxiangcunt-1; a++)
{
int questionid = Convert.ToInt32(xuanxiang.Rows[a][0].ToString());
DataTable daancount = seach.getdaancount(questionid);//, itemid
int selectques = Convert.ToInt32(daancount.Rows[0][0].ToString());
string aa = xuanxiang.Rows[a][2].ToString(); mychart.SeriesCollection.Add(xuanxiangcunt);
//设置图表块的属性
//标题
mychart.SeriesCollection[0].GapWidth = 80;
mychart.SeriesCollection[a].Caption = xuanxiang.Rows[a][2].ToString();
//X坐标的值属性
int num = Convert.ToInt32(xuanxiang.Rows[a][1].ToString());
mychart.SeriesCollection[a].SetData(ChartDimensionsEnum.chDimSeriesNames, +(int)ChartSpecialDataSourcesEnum.chDataLiteral, aa);
mychart.SeriesCollection[a].SetData(ChartDimensionsEnum.chDimCategories, +(int)ChartSpecialDataSourcesEnum.chDataLiteral, aa); ChDataLabels objDataLabels = mychart.SeriesCollection[a].DataLabelsCollection.Add();
objDataLabels.HasValue = true; // 柱子上面的数字是否显示
objDataLabels.Font.Color = "Black"; // 柱子上面的数字颜色是黑色的
//y坐标的值属性
mychart.SeriesCollection[a].SetData(ChartDimensionsEnum.chDimValues, +(int)ChartSpecialDataSourcesEnum.chDataLiteral, selectques);
}
ChSeries objSeries = mychart.SeriesCollection.Add(0);//11
objSeries.GapWidth = 50; // 柱子之间的间隙//11
mychartSpace.ExportPicture(Server.MapPath(".") + "\\" + itemid + ".jpg", "jpg", 300, 250);
//加载图片Server.MapPath(".") +
image.ImageUrl = "~/ExPower/" + itemid + ".jpg";
Panel1.Controls.Add(image);
}
我这样做在图片出来后,第二个图上的最后总会加上前面那个土的那最后那列,有哪位大虾知道这样做的问题出在哪不啊。在线等
mychart.HasLegend = false;//指定图表是否需要图例标注