1、绘图类:
QCPGraph :
QCPCurve:用于曲线图,可以有循环
QCPBars:柱形图,如果有多个QCPBars ,可以依次重叠
QCPStatisticalBox(需实例化):
QCPColorMap(实例化):
QCPFinancial(实例化):
2、绘图的基本函数:
QCustomPlot有四个QCPAxis成员变量,四个坐标轴:xAxis(下)yAxis(左)xAxis2(上)yAxis2(右)
- setBasePen:设置基础画笔
- setTickPen:设置刻度画笔
- setTickLength:设置刻度长度
- setSubTickLength:
- setSubTickPen:
- setTickLabelFont:设置刻度label字体
- setTickLabelPadding:设置标签间距
- setLabelPadding:设置标签
- setRangeReversed:
- setLineStyle((QCPGraph::LineStyle)i);//设置线性
- setScatterStyle(QCPScatterStyle(QCPScatterStyle::ssCircle, 5));//设置每个节点数据绘制风格,默认是空,这里设置为空心圆
- rescaleAxes(true);//坐标轴自适应
- setTicks(true);//y轴显示刻度
- setTickLabels(false);//x轴不显示文本
- setTickLabels(true);//y轴显示文本
- setupFullAxesBox();一个默认的坐标轴矩形配置,包括:顶部坐标轴跟随底部坐标轴同步、右侧坐标轴跟随左侧坐标轴同步,不仅仅是坐标轴范围跟随同步,包括文本精度、文本格式、坐标轴类型、是否自动生成刻度、刻度间距等等
- setTextAlignment(Qt::AlignLeft);//设置文本在矩形区域的位置
- setTextAlignment(Qt::AlignLeft);//设置文本在矩形区域的位置
- setFont(QFont(font().family(), 9));//设置文本的字体
- 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
);
文章来源: Qt之qcustomplot绘图总结