我被要求提取某些参数在过去几年中在不同地方的发生率。现在,用户希望选择每个特定站点,并将其与常规值进行比较。他想要的是类似于我使用Excel创建的以下图表:
excel Chart Image local vs general
在Excel中,为了获得2个水平轴标签,我在我选择的单元格集中(=Sheet2!$A$10:$B$19
)中添加了2列。
在我的代码中,我声明了这个对象:
public partial class rptRateReportChartResult
{
private string _AYear;
private System.Nullable<decimal> _A;
private System.Nullable<decimal> _B;
private System.Nullable<decimal> _C;
public rptRateReportChartResult()
{
}
[Column(Storage = "_AYear", DbType = "NVarChar(12)")]
public string AYear
{
get
{
return this._AYear;
}
set
{
if ((this._AYear != value))
{
this._AYear = value;
}
}
}
[Column(Storage = "_A", DbType = "Decimal(0,0)")]
public System.Nullable<decimal> A
{
get
{
return this._A;
}
set
{
if ((this._A != value))
{
this._A = value;
}
}
}
(...)
}
当我绑定系列时,效果很好
Series series = new Series("SA");
series.ChartType = SeriesChartType.StackedColumn;
ActiveChart.Series.Add(series);
ActiveChart.Series["SA"].Points.DataBind(ChartResult, "Year", "A", "Label=A{0.00'%'}");
ActiveChart.Series["SA"].LegendText = "A %";
不幸的是,这不是我所需要的。
我正在寻找Excel中具有的这些聚集列(每年2个)。我的第一个想法是将_AYear
声明为数组,以模拟我在Excel中选择的2列,但是DataPointCollection.DataBind(IEnumerable, String, String, String)
不接受数组。
如何创建群集和堆叠的条形图?