C# c系列叠层钢筋

C# c系列叠层钢筋,c#,charts,bar-chart,stacked-chart,C#,Charts,Bar Chart,Stacked Chart,我正在制作一个需要像c中的堆叠条形图这样的东西的系统# 我搜索了一些堆叠条形图教程,尝试了代码等,但似乎达不到我想要的输出,我搜索的大多数教程都是基本条形图。现在我在datagridview(彩色单元格)中这样做了,但是用datagridview制作堆叠条形图似乎有点愚蠢 图像链接: 这是我的问题,看看这张图片,在堆叠条形图中可以这样做吗 1.)序列可以继续到另一列,而不需要从第一列开始的其他堆栈?(系列2) 2.)一个系列可以堆叠在一个空白空间上?(系列5) 3.)如果上述两项都可行,多系列条

我正在制作一个需要像c中的堆叠条形图这样的东西的系统# 我搜索了一些堆叠条形图教程,尝试了代码等,但似乎达不到我想要的输出,我搜索的大多数教程都是基本条形图。现在我在datagridview(彩色单元格)中这样做了,但是用datagridview制作堆叠条形图似乎有点愚蠢

图像链接:

这是我的问题,看看这张图片,在堆叠条形图中可以这样做吗

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);

尝试创建自定义控件以绘制条形图。查阅一些有关创建自己控件的教程。然后覆盖控件的绘制并绘制图表

自定义控件教程: (在创建控件时,可以添加自己的变量,然后使用paint方法绘制图表。)

图形控制:

要删除空白,每个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);

您好Blitz,欢迎访问SO,您能发布您目前拥有的代码吗?您好@5谢谢,我将当前代码添加到了问题中,我尝试使用相同的序列向其他列添加不同的数据注:不需要的数据点可以标记为
IsEmpty