大家上午好,我是最近开始学习使用oxyplot图表的,我是要将数据库里面的数据导入导入到图表中以折线图的形式看他们的变化趋势,在oxyplot中我的横坐标轴为日期时间轴对应的实现是如下
// 定义X轴为日期轴
DateTime startdata = Convert.ToDateTime(StartTime); //startdata和enddata都等于类似2023/2/6 9:52:28这样格式的DataTime
DateTime enddata = Convert.ToDateTime(EndTime); //
var minValue = DateTimeAxis.ToDouble(startdata);
var maxValue = DateTimeAxis.ToDouble(enddata);
var ax = new DateTimeAxis()
{
Minimum = minValue,
Maximum = maxValue,
StringFormat = "yyyy-MM-dd日",
Position = AxisPosition.Bottom,
IsZoomEnabled = true,
IsPanEnabled = true,
};
model.Axes.Add(ax);
我往里面添加的数据也是如2023/2/6 9:52:28这中形式
这是我声明的折线
// 定义三折线图序列,指定数据轴为Y2轴
var passedRateSeries = new ThreeColorLineSeries();
for (int i = 0; i < used.Count; i++)
{
passedRateSeries.Title = used[i].ToString();
}
passedRateSeries.YAxisKey = "y2";
// 设置颜色阈值范围
passedRateSeries.LimitHi = EndRange;
passedRateSeries.LimitLo = StartRange;
// 设置数据绑定源和字段
passedRateSeries.ItemsSource = list;
passedRateSeries.DataFieldX = "Date"; //他的横坐标绑定的也是一个对象对应的Date字段,一般也是2023/2/6 10:02:14这种形式
passedRateSeries.DataFieldY = "isc";
// 添加图标资源
//model.Series.Add(totalBarSeries);
model.Series.Add(passedRateSeries);
model.Axes.Add(ay2);
// 设置图形边框
model.PlotAreaBorderThickness = new OxyThickness(1, 0, 1, 1);
我的折线图最终显示
它的点都会挤在一起十分难看,而且我的数据基本隔一秒有一条,可能是因为数据点之间时间间隔都是一秒一个,导致数据点之间横向偏移很小,看着挤在一起,中间有的时间也没有数据,oxyplot图表也会将我断开的部分连起来,我就是想请教各位有没有什么办法能让这些点别挤在一起,看着数据点能清楚一点,而且我的数据在一天里面会有很多个点,该怎么拉大他的点与点之间横向间距,谢谢了