图表显示
QChart
图表类QChart主要包括QChartView/QChart/QPolarChart
QChart继承于QGraphicsItem->QGraphicsObject->QGraphicsWidget-QChart->QPolarChart
主要包括:
样条曲线图
面积图
散点图
条形图
饼图
方块胡须图
极坐标图等
要使用图表类,需要在pro加入
QT +=...... charts
需要引用头文件
#include<QCharts>
#include<QChartView>
#include<QMath>
#include<QLineSeries>
QT_CHARTS_USE_NAMESPACE//宏定义
使用代码示例
QChartView * cv = new QChartView(this);//图表显示区
QChart *ch = new QChart();//图表主体
cv->setChart(ch);//显示绑定
ch->setTitle("图表标题内容");
//用窗口的中心区域显示 它
this->setCentralWidget(cv);
QLineSeries * s1=new QLineSeries;//曲线1
QLineSeries * s2=new QLineSeries;//曲线2
s1->setName("正弦曲线");
s2->setName("余弦曲线");
//将曲线放入图表主体ch
ch->addSeries(s1);
ch->addSeries(s2);
//将数据放入曲线中
qread t=0;
for(int i=0;i<360;i++)
{
s1->append(t,qSin(t));
s2->append(t,qCos(t));
t+=0.1;
}
//设置坐标轴
QValueAxis *x=new QValueAxis;
x->setRange(0,10);
//绑定轴
ch->setAxisX(x,s1);
ch->setAxisX(x,s2);
QValueAxis *y=new QValueAxis;
y->setRange(-1,1);
//绑定轴
ch->setAxisY(y,s1);
ch->setAxisY(y,s2);
//这样的话,就得到了一个双曲线的图标,一条是正弦曲线,一条是余弦曲线。
示例中不难看出。在制作曲线过程,还用了到
QLineSeries线类,QValueAxis轴类
其中数据点类还有其他如下多种:
QLineSeries属于QXYSeries,同级的还有QScatterSeries
QLineSeries还有QSplineSeries
与QXYSeries同级的还有QAresSeries/QBoxPlotSeries/QAbstractBarSeries(
QBarSeries/QHorizontalBarSerices/QHorizontalStackedBarSeries/QPercentBarSeries/QstackedBarSeries)
因此,这些上面这些类,主要是呈现不同的图表样子。使用方法大同小异。
坐标类包括如下多种:
QValueAxis->子类有QCategoryAxis
QLogValueAxis
QBarCategoryAxis
QDataTimeAxis
上面只用到了一个QValueAxis轴和数据QLineSeries