Как создать кластерную диаграмму с накоплением с помощью Web.UI.DataVisualization.Charting - PullRequest
0 голосов
/ 17 апреля 2019

Мне было предложено извлечь скорость появления определенных параметров в разных местах за несколько лет. Теперь пользователь хочет выбрать каждый конкретный сайт и сравнить его с общими значениями. Он хочет что-то вроде следующей диаграммы, которую я создал с помощью Excel:

Excel Изображение локального и общего

В Excel, чтобы получить 2 метки оси уровня, я включил 2 столбца в набор ячеек, которые я выбрал (=Sheet2!$A$10:$B$19).

В своем коде я объявил этот объект:

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 %";

К сожалению, это не то, что мне нужно.

Я ищу те кластерные столбцы (2 в год), которые есть в Excel. Моей первой мыслью было объявить _AYear в виде массива для имитации 2 столбцов, которые я выбираю в Excel, но DataPointCollection.DataBind(IEnumerable, String, String, String) не принимает массив.

Как я могу создать кластеризованную и сложенную гистограмму?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...