QCustomPlot Demo 范例.docxVIP

  • 373
  • 0
  • 约6.28万字
  • 约 88页
  • 2017-06-11 发布于湖北
  • 举报
QCustomPlot Demo 范例

Plot Screenshots: Simple Demo// add two new graphs and set their look:customPlot-addGraph();customPlot-graph(0)-setPen(QPen(Qt::blue)); // line color blue for first graphcustomPlot-graph(0)-setBrush(QBrush(QColor(0, 0, 255, 20))); // first graph will be filled with translucent bluecustomPlot-addGraph();customPlot-graph(1)-setPen(QPen(Qt::red)); // line color red for second graph// generate some points of data (y0 for first, y1 for second graph):QVectordouble x(250), y0(250), y1(250);for(inti=0; i250; ++i){??x[i] = i;??y0[i] = qExp(-i/150.0)*qCos(i/10.0); // exponentially decaying cosine??y1[i] = qExp(-i/150.0);????????????? // exponential envelope}// configure right and top axis to show ticks but no labels:// (see QCPAxisRect::setupFullAxesBox for a quicker method to do this)customPlot-xAxis2-setVisible(true);customPlot-xAxis2-setTickLabels(false);customPlot-yAxis2-setVisible(true);customPlot-yAxis2-setTickLabels(false);// make left and bottom axes always transfer their ranges to right and top axes:connect(customPlot-xAxis, SIGNAL(rangeChanged(QCPRange)), customPlot-xAxis2, SLOT(setRange(QCPRange)));connect(customPlot-yAxis, SIGNAL(rangeChanged(QCPRange)), customPlot-yAxis2, SLOT(setRange(QCPRange)));// pass data points to graphs:customPlot-graph(0)-setData(x, y0);customPlot-graph(1)-setData(x, y1);// let the ranges scale themselves so graph 0 fits perfectly in the visible area:customPlot-graph(0)-rescaleAxes();// same thing for graph 1, but only enlarge ranges (in case graph 1 is smaller than graph 0):customPlot-graph(1)-rescaleAxes(true);// Note: we could have also just called customPlot-rescaleAxes(); instead// Allow user to drag axis ranges with mouse, zoom with mouse wheel and select graphs by clicking:customPlot-setInteractions(QCP::iRangeDrag| QCP::iRangeZoom| QCP::iSelectPlottables);Plot Screenshots: Sinc Scatter DemocustomPlot-legend-setVisible(true);customPlot-legend-setFont(QFont(Helvetica,9));// set locale to english, so we get english decimal separator:

文档评论(0)

1亿VIP精品文档

相关文档