我对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()
});
}
}
}