Диаграмма Ганта с LiveCharts - Как построить несколько баров подряд - PullRequest
0 голосов
/ 29 сентября 2018

У меня относительно небольшой опыт работы с библиотекой 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()
            });
        }
    }
}
...