элемент управления c # chart удаляет пробелы между столбцами в гистограмме - PullRequest
5 голосов
/ 27 июля 2011

У меня есть гистограмма, созданная с помощью элемента управления c # .net, которая выглядит следующим образом: enter image description here

Как видите, между каждой парой красных и синих полос на графике есть пробел. Есть ли способ удалить эти пробелы?

Заранее спасибо!

EDIT:

Вот строки от дизайнера

 chartArea1.Name = "ChartArea1";
            this.CHRT_DPS_HPS.ChartAreas.Add(chartArea1);
            legend1.Name = "Legend1";
            this.CHRT_DPS_HPS.Legends.Add(legend1);
            this.CHRT_DPS_HPS.Location = new System.Drawing.Point(3, 271);
            this.CHRT_DPS_HPS.Name = "CHRT_DPS_HPS";
            series1.ChartArea = "ChartArea1";
            series1.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Bar;
            series1.Color = System.Drawing.Color.Red;
            series1.Legend = "Legend1";
            series1.MarkerBorderWidth = 0;
            series1.Name = "DPS";
            series1.XValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.String;
            series1.YValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Double;
            series2.ChartArea = "ChartArea1";
            series2.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Bar;
            series2.Legend = "Legend1";
            series2.MarkerBorderWidth = 0;
            series2.Name = "HPS";
            series2.XValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.String;
            series2.YValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Double;
            this.CHRT_DPS_HPS.Series.Add(series1);
            this.CHRT_DPS_HPS.Series.Add(series2);
            this.CHRT_DPS_HPS.Size = new System.Drawing.Size(1199, 300);
            this.CHRT_DPS_HPS.TabIndex = 1;
            this.CHRT_DPS_HPS.Text = "CHRT_DPS_HPS";
            title1.Name = "Title1";
            title1.Text = "DPS Chart";
            this.CHRT_DPS_HPS.Titles.Add(title1);

1 Ответ

11 голосов
/ 27 июля 2011

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

Используйте это для каждой серии (мой код указывает серию ноль):

chart1.Series[0]["PointWidth"] = "1";

Замените ноль названием и индексами вашей серии.

Между прочим - поскольку у него есть свои ограничения здесь и там - Microsoft Charting - довольно способная библиотека графиков! Вам просто нужно прочитать документацию. В этом случае этот тип диаграммы имеет специальные пользовательские свойства, которые вы можете использовать.

Это сработало в моем тестовом приложении. Дайте мне знать, если это не сработает с вашим, и я буду выполнять дальнейшее устранение неполадок.

Поскольку я новичок и пытаюсь получить репутацию, пожалуйста, пометьте мой ответ как ответ, если он правильный. Спасибо.

...