Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/155.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为什么QCPColorMap没有为QCPRange设置我的值?_C++_Qt_Qcustomplot - Fatal编程技术网

C++ 为什么QCPColorMap没有为QCPRange设置我的值?

C++ 为什么QCPColorMap没有为QCPRange设置我的值?,c++,qt,qcustomplot,C++,Qt,Qcustomplot,我对颜色贴图大小有问题。 我设置了最大和最小x尺寸,但绘制地图时,地图的右边框大于我在代码中输入的最大x尺寸: qMap->data()->setRange(QCPRange(data->m_xmin, data->m_xmax), QCPRange(data->m_ymin, data->m_ymax)); 为什么我的变量m_xmax的值等于3004.86,而图中显示的边框大于3005,可能是3005.5? 与左侧类似 auto plot=ui->pCu

我对颜色贴图大小有问题。 我设置了最大和最小x尺寸,但绘制地图时,地图的右边框大于我在代码中输入的最大x尺寸:

qMap->data()->setRange(QCPRange(data->m_xmin, data->m_xmax), QCPRange(data->m_ymin, data->m_ymax));
为什么我的变量m_xmax的值等于3004.86,而图中显示的边框大于3005,可能是3005.5? 与左侧类似

auto plot=ui->pCustomPlot;
QSize size=data->getSize();
plot->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom);
plot->clearPlottables();
QCPColorMap*qMap=新的QCPColorMap(plot->xAxis,plot->yAxis);
qMap->data()->setSize(size.width(),size.height());
qMap->data()->setRange(QCPRange(data->m_xmin,data->m_xmax),QCPRange(data->m_ymin,data->m_ymax));
QVector arr(数据->获取矩阵();
对于(int i=0;idata()->setCell(i,j,arr[j][i].a);
}
}
qMap->setGradient(QCPColorGradient::gpHot);
qMap->rescaleDataRange();
绘图->x轴->设置标签(“x”);
plot->yAxis->setLabel(“y”);
打印->重新缩放轴();
重新缩放CustomPlot();
plot->replot();

您尝试过使用吗?

您还可以创建一个从AxisTicker继承的新类,并覆盖
getTickLabel
方法。。。
auto plot = ui->pCustomPlot;
QSize size = data->getSize();

plot->setInteractions(QCP::iRangeDrag|QCP::iRangeZoom);


plot->clearPlottables();

QCPColorMap *qMap = new QCPColorMap(plot->xAxis, plot->yAxis);
qMap->data()->setSize(size.width(),size.height());

qMap->data()->setRange(QCPRange(data->m_xmin, data->m_xmax), QCPRange(data->m_ymin, data->m_ymax));

QVector<QVector<PointRS>> arr(data->getMatrix();



for (int i = 0; i < size.width(); i++)
{
    for (int j = 0; j < size.height(); j++)
    {
        qMap->data()->setCell(i, j, arr[j][i].a);
    }
}

qMap->setGradient(QCPColorGradient::gpHot);
qMap->rescaleDataRange();

plot->xAxis->setLabel("x");

plot->yAxis->setLabel("y");


plot->rescaleAxes();

RescaleCustomPlot();

plot->replot();