Панель с накоплением в серии С#

Я создаю систему, для которой требуется что-то вроде гистограммы с накоплением в С#. Я искал учебник по гистограмме с накоплением, экспериментировал с кодами и т. Д., Но, похоже, я не могу получить результат, который я хочу, большинство руководств, которые я искал, предназначены для базовая гистограмма. прямо сейчас я сделал это в datagridview (цветные ячейки), но кажется глупым делать гистограмму с накоплением из datagridview.

ссылка на изображение: http://tinypic.com/r/v8oe8k/8

вот мой вопрос, взгляните на эту картинку, возможно ли это сделать в гистограмме с накоплением?

1.) Ряд может продолжаться до другого столбца без другого стека из первого столбца? (Серия 2)

2.) Серия может складываться на пустом месте? (серия 5)

3.) если два вышеуказанных пункта возможны, возможно ли это также для гистограммы с несколькими рядами? (необязательный)

если это возможно, пожалуйста, помогите мне (предоставление примера фрагмента кода будет действительно большим подспорьем)

Спасибо и хорошего дня

редактировать: вот мой код:

        chart1.Series.Add("Series 1");
        chart1.Series.Add("Series 2");
        chart1.Series.Add("Series 3");
        chart1.Series.Add("Series 4");
        chart1.Series.Add("Series 5");
        chart1.Series["Series 1"].ChartType = SeriesChartType.StackedColumn;
        chart1.Series["Series 2"].ChartType = SeriesChartType.StackedColumn;
        chart1.Series["Series 3"].ChartType = SeriesChartType.StackedColumn;
        chart1.Series["Series 4"].ChartType = SeriesChartType.StackedColumn;
        chart1.Series["Series 5"].ChartType = SeriesChartType.StackedColumn;

        chart1.Series["Series 1"].Points.AddXY(1, 50);
        chart1.Series["Series 2"].Points.AddXY(1, 100);
        chart1.Series["Series 2"].Points.AddXY(2, 50);
        chart1.Series["Series 3"].Points.AddXY(2, 200);            
        chart1.Series["Series 3"].Points.AddXY(3, 100);
        chart1.Series["Series 4"].Points.AddXY(3, 50);
        chart1.Series["Series 5"].Points.AddXY(5, 150);

person Blitz    schedule 24.02.2014    source источник
comment
Привет, Blitz, добро пожаловать в SO, можете ли вы опубликовать код, который у вас есть?   -  person Fiver    schedule 24.02.2014
comment
привет @Fiver, спасибо, я добавил свой текущий код в вопрос, я пытался добавить разные данные в другие столбцы, используя ту же серию   -  person Blitz    schedule 24.02.2014


Ответы (2)


Чтобы удалить пустое пространство, вы должны иметь одинаковое количество точек во всех сериях для каждого значения X:

    chart1.Series["Series 1"].Points.AddXY(1, 50);
    chart1.Series["Series 2"].Points.AddXY(1, 100);
    chart1.Series["Series 3"].Points.AddXY(1, 0);   
    chart1.Series["Series 4"].Points.AddXY(1, 0);
    chart1.Series["Series 5"].Points.AddXY(1, 0); 

    chart1.Series["Series 1"].Points.AddXY(2, 0);     
    chart1.Series["Series 2"].Points.AddXY(2, 50);
    chart1.Series["Series 3"].Points.AddXY(2, 200);   
    chart1.Series["Series 4"].Points.AddXY(2, 0); 
    chart1.Series["Series 5"].Points.AddXY(2, 0); 

    chart1.Series["Series 1"].Points.AddXY(3, 0);
    chart1.Series["Series 2"].Points.AddXY(3, 0);         
    chart1.Series["Series 3"].Points.AddXY(3, 100);
    chart1.Series["Series 4"].Points.AddXY(3, 50);
    chart1.Series["Series 5"].Points.AddXY(3, 0);

    chart1.Series["Series 1"].Points.AddXY(5, 0);
    chart1.Series["Series 2"].Points.AddXY(5, 0);
    chart1.Series["Series 3"].Points.AddXY(5, 0);
    chart1.Series["Series 4"].Points.AddXY(5, 0);
    chart1.Series["Series 5"].Points.AddXY(5, 150);
person user5778288    schedule 12.01.2016
comment
Примечание. Нежелательные точки данных можно пометить как IsEmpty. - person TaW; 28.08.2016

Попробуйте создать пользовательский элемент управления для рисования гистограммы. Посмотрите несколько руководств по созданию собственных элементов управления. Затем переопределите краску элемента управления и нарисуйте диаграмму.

Учебник по пользовательскому элементу управления: http://techymedia.com/post/2013/04/21/How-to-create-custom-Control-In-C-Sharp-Tutorial-Step-By-Step.aspx (При создании элемента управления вы можете добавить свои собственные переменные, а затем нарисовать диаграмму в методе рисования.)

Управление графиком: http://www.codeproject.com/Articles/5431/A-flexible-charting-library-for-NET

person Captain Picard    schedule 24.02.2014