Qt之qcustomplot绘图总结

匿名 (未验证) 提交于 2019-12-03 00:19:01

1、绘图类:

QCPGraph :

QCPCurve:用于曲线图,可以有循环

QCPBars:柱形图,如果有多个QCPBars ,可以依次重叠

QCPStatisticalBox(需实例化):

QCPColorMap(实例化):

QCPFinancial(实例化):


2、绘图的基本函数:

QCustomPlot有四个QCPAxis成员变量,四个坐标轴:xAxis(下)yAxis(左)xAxis2(上)yAxis2(右)

  1. setBasePen:设置基础画笔
  2. setTickPen:设置刻度画笔
  3. setTickLength:设置刻度长度
  4. setSubTickLength:
  5. setSubTickPen:
  6. setTickLabelFont:设置刻度label字体
  7. setTickLabelPadding:设置标签间距
  8. setLabelPadding:设置标签
  9. setRangeReversed:
  10. setLineStyle((QCPGraph::LineStyle)i);//设置线性
  11. setScatterStyle(QCPScatterStyle(QCPScatterStyle::ssCircle, 5));//设置每个节点数据绘制风格,默认是空,这里设置为空心圆
  12. rescaleAxes(true);//坐标轴自适应
  13. setTicks(true);//y轴显示刻度
  14. setTickLabels(false);//x轴不显示文本
  15. setTickLabels(true);//y轴显示文本
  16. setupFullAxesBox();一个默认的坐标轴矩形配置,包括:顶部坐标轴跟随底部坐标轴同步、右侧坐标轴跟随左侧坐标轴同步,不仅仅是坐标轴范围跟随同步,包括文本精度、文本格式、坐标轴类型、是否自动生成刻度、刻度间距等等
  17. setTextAlignment(Qt::AlignLeft);//设置文本在矩形区域的位置
  18. setTextAlignment(Qt::AlignLeft);//设置文本在矩形区域的位置
  19. setFont(QFont(font().family(), 9));//设置文本的字体
  20. setPositionAlignment(Qt::AlignRight | Qt::AlignBottom);//设置位置在矩形区域的位置
实例:

// 添加数据
pCustomPlot->graph(0)->setData(x, y);
// 设置坐标轴名称
pCustomPlot->xAxis->setLabel("x");
pCustomPlot->yAxis->setLabel("y");
// 设置背景色
pCustomPlot->setBackground(QColor(50, 50, 50));
pGraph->setPen(QPen(QColor(32, 178, 170)));
// 设置x/y轴文本色、轴线色、字体等
pCustomPlot->xAxis->setTickLabelColor(Qt::white);
pCustomPlot->xAxis->setLabelColor(QColor(0, 160, 230));
pCustomPlot->xAxis->setBasePen(QPen(QColor(32, 178, 170)));
pCustomPlot->xAxis->setTickPen(QPen(QColor(128, 0, 255)));
pCustomPlot->xAxis->setSubTickPen(QColor(255, 165, 0));
QFont xFont = pCustomPlot->xAxis->labelFont();
xFont.setPixelSize(20);
pCustomPlot->xAxis->setLabelFont(xFont);
pCustomPlot->yAxis->setTickLabelColor(Qt::white);
pCustomPlot->yAxis->setLabelColor(QColor(0, 160, 230));
pCustomPlot->yAxis->setBasePen(QPen(QColor(32, 178, 170)));
pCustomPlot->yAxis->setTickPen(QPen(QColor(128, 0, 255)));
pCustomPlot->yAxis->setSubTickPen(QColor(255, 165, 0));
QFont yFont = pCustomPlot->yAxis->labelFont();
yFont.setPixelSize(20);
pCustomPlot->yAxis->setLabelFont(yFont);
// 设置坐标轴显示范围,否则只能看到默认范围
pCustomPlot->xAxis->setRange(-11, 11);
pCustomPlot->yAxis->setRange(-1100, 1100);


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!