带有LiveCharts的甘特图-如何连续绘制多个条形图

时间:2018-09-29 20:20:22

标签: c# winforms gantt-chart livecharts

我对LiveCharts库的经验相对较少,想向您寻求帮助。我要解决的任务是以甘特图的形式绘制一种时间图。 值bar1_1,bar1_2和bar1_3应该绘制在同一行中。在我的示例程序中,将它们绘制在三个不同的行中。为什么?此外,我无法向自己解释为什么第一个条形不是从0绘制到3,而是从2绘制到3。 值bar2_1和bar2_2应该绘制在第二行中。 是否可以找到演示程序或详细说明?感谢您的帮助!

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
//
using LiveCharts;
using LiveCharts.Defaults;
using LiveCharts.Wpf;

namespace GanttChart1
{
    public partial class GanttChartForm1 : Form
    {

        // First row
        GanttPoint bar1_1 = new GanttPoint(0, 3);
        GanttPoint bar1_2 = new GanttPoint(4, 4.5);
        GanttPoint bar1_3 = new GanttPoint(6, 7);


        //Second row
        GanttPoint bar2_1 = new GanttPoint(3, 4);
        GanttPoint bar2_2 = new GanttPoint(5, 8);

        public GanttChartForm1()
        {
            InitializeComponent();

            // First row
            ChartValues<GanttPoint> ValuesRow_1 = new ChartValues<GanttPoint> { };
            ValuesRow_1.Add(bar1_1);
            ValuesRow_1.Add(bar1_2);
            ValuesRow_1.Add(bar1_3);

            //Second row
            ChartValues<GanttPoint> ValuesRow_2 = new ChartValues<GanttPoint> { };
            ValuesRow_2.Add(bar2_1);
            ValuesRow_2.Add(bar2_2);

            GanttChart1.Series = new SeriesCollection
            {
                //First row
                new RowSeries
                {
                    Values = ValuesRow_1,
                    DataLabels = false
                },

                // Second row
                new RowSeries
                {
                    Values = ValuesRow_2,
                    DataLabels = false
                }
            };

            //Y-Axis
            var labels = new List<string>();
            labels.Add("Row 1");
            labels.Add("Row 2");

            GanttChart1.AxisY.Add(new Axis
            {
                Labels = labels.ToArray()
            });
        }
    }
}

0 个答案:

没有答案