关注点:
设置背景、增加文字图层、第二坐标显示控制、设置label显示位置
auto customPlot = plot; customPlot->axisRect()->setBackground(QPixmap("./solarpanels.jpg")); customPlot->addGraph(); customPlot->graph()->setLineStyle(QCPGraph::lsLine); QPen pen; pen.setColor(QColor(255, 200, 20, 200)); pen.setStyle(Qt::DashLine); pen.setWidthF(2.5); customPlot->graph()->setPen(pen); customPlot->graph()->setBrush(QBrush(QColor(255,200,20,70))); customPlot->graph()->setScatterStyle(QCPScatterStyle(QPixmap("./sun.png"))); // set graph name, will show up in legend next to icon: customPlot->graph()->setName("Data from Photovoltaic\nenergy barometer 2011"); // set data: QVector<double> year, value; year << 2005 << 2006 << 2007 << 2008 << 2009 << 2010 << 2011; value << 2.17 << 3.42 << 4.94 << 10.38 << 15.86 << 29.33 << 52.1; customPlot->graph()->setData(year, value); // set title of plot: customPlot->plotLayout()->insertRow(0); customPlot->plotLayout()->addElement(0, 0, new QCPTextElement(customPlot, "Regenerative Energies", QFont("sans", 12, QFont::Bold))); // axis configurations: customPlot->xAxis->setLabel("Year"); customPlot->yAxis->setLabel("Installed Gigawatts of\nphotovoltaic in the European Union"); // customPlot->xAxis2->setVisible(true); // customPlot->yAxis2->setVisible(true); // customPlot->xAxis2->setTickLabels(false); // customPlot->yAxis2->setTickLabels(false); // customPlot->xAxis2->setTicks(false); // customPlot->yAxis2->setTicks(false); // customPlot->xAxis2->setSubTicks(false); // customPlot->yAxis2->setSubTicks(false); customPlot->xAxis->setRange(2004.5, 2011.5); customPlot->yAxis->setRange(0, 52); // setup legend: customPlot->legend->setFont(QFont(font().family(), 7)); customPlot->legend->setIconSize(50, 20); customPlot->legend->setVisible(true); customPlot->axisRect()->insetLayout()->setInsetAlignment(0, Qt::AlignLeft | Qt::AlignTop);
标签:false,customPlot,graph,yAxis2,qcustomplot,pen,绘图,legend From: https://www.cnblogs.com/kingkaixuan/p/17487343.html