梯形折线虽然不常用,但是偶尔也是会用到的。像那QCustomPlot、echart就实现了这个功能。所以决定用QtCharts实现梯形折线图(QML实现的)。
效果如下
代码如下
import QtQuick 2.9
import QtQuick.Window 2.2
import QtCharts 2.2
//实现梯形折线
//原理:在同一个点给不同值,一个值是前面值,一个是后面值
//注意事项:在点的个数会加倍,使用at方法时可能不是你想要的点的值
/////////////////////////////////////////////////////
Window {
visible: true
width: 640
height: 480
title: qsTr("梯形折线图")
ChartView {
title: "Line"
anchors.fill: parent
antialiasing: true
LineSeries {
id : lineseries
name: "LineSeries"
pointsVisible: true
XYPoint { x: 0; y: 0 }
XYPoint { x: 20; y: 6 }
}
Component.onCompleted: {
lineseries.clear();
for (var i = 1; i < 21; i++)
{
var p = Math.random()*5;
lineseries.append(i-1,p);
lineseries.append(i,p);
//lineseries.append(i+1,p);
}
// for (var i = 1; i < 21; i++)
// {
// var p = Math.random()*2+6;
// lineseries.append(i-1,p);
// lineseries.append(i,p);
// //lineseries.append(i+1,p);
// }
console.log(lineseries.at(1),lineseries.at(2))
console.log(lineseries.count);
}
}
}