找回密码
 立即注册

QQ登录

只需一步,快速开始

婧友521

银牌会员

28

主题

59

帖子

3423

积分

银牌会员

积分
3423

活字格认证

婧友521
银牌会员   /  发表于:2012-6-22 15:23  /   查看:5897  /  回复:3
如下图所示: 我的这个柱形图y轴显示的是数量, x轴显示的分类的产品名称, 右边LegendArea区域怎样使它显示为如图所示的样子?
1.gif

3 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2012-6-25 14:57:00
沙发
回复 1楼婧友521的帖子

你好,Legend 标签对应的值为 Series 下属性 SeriesName 属性,测试代码如下:
  1.    
  2.             System.Data.DataTable dt = new System.Data.DataTable("Test");
  3.             System.Data.DataRow dr = default(System.Data.DataRow);
  4.             dt.Columns.Add("Series0");
  5.             dt.Columns.Add("Series1");
  6.             dr = dt.NewRow();
  7.             dr[0] = 2;
  8.             dr[1] = 1;
  9.             dt.Rows.Add(dr);
  10.             dr = dt.NewRow();
  11.             dr[0] = 4;
  12.             dr[1] = 2;
  13.             dt.Rows.Add(dr);
  14.             dr = dt.NewRow();
  15.             dr[0] = 3;
  16.             dr[1] = 2;
  17.             dt.Rows.Add(dr);

  18.             FarPoint.Web.Chart.BarSeries series = new FarPoint.Web.Chart.BarSeries();
  19.             series.SeriesName = "系列1";
  20.             series.CategoryNames.Add("电器");
  21.             series.CategoryNames.Add("家具");
  22.             series.CategoryNames.Add("药品");
  23.             series.Values.DataSource = dt;
  24.             series.Values.DataField = dt.Columns[0].ColumnName;

  25.             FarPoint.Web.Chart.BarSeries series1 = new FarPoint.Web.Chart.BarSeries();
  26.             series1.SeriesName = "系列2";
  27.             series1.Values.DataSource = dt;
  28.             series1.Values.DataField = dt.Columns[1].ColumnName;

  29.             LegendArea legend = new LegendArea();
  30.             legend.Location = new PointF(0.98f, 0.5f);
  31.             legend.AlignmentX = 1.0f;
  32.             legend.AlignmentY = 0.5f;

  33.             FarPoint.Web.Chart.YPlotArea plotArea = new FarPoint.Web.Chart.YPlotArea();
  34.             plotArea.Location = new System.Drawing.PointF(0.2F, 0.2F);
  35.             plotArea.Size = new System.Drawing.SizeF(0.6F, 0.6F);
  36.             plotArea.Series.Add(series);
  37.             plotArea.Series.Add(series1);

  38.             FarPoint.Web.Chart.ChartModel model = new FarPoint.Web.Chart.ChartModel();
  39.             model.PlotAreas.Add(plotArea);
  40.             model.LegendAreas.Add(legend);

  41.             FarPoint.Web.Spread.Chart.SpreadChart chart = new FarPoint.Web.Spread.Chart.SpreadChart();
  42.             chart.Model = model;

  43.             FpSpread1.Sheets[0].Charts.Add(chart);
复制代码
回复 使用道具 举报
婧友
论坛元老   /  发表于:2012-6-26 09:33:00
板凳
如何能够使下面X轴的字体如图上的一样,变成倾斜的
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-6-27 09:08:00
地板
回复 3楼婧友的帖子

你好,Spread for ASP.NET 目前无法实现此功能。
如果标签过多可以设置 PlotArea 的大小进行全部显示完整。
  1. plotArea.Size = new SizeF(1F, 1F);
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部