0
嗨我正在使用qwtspectrogram來繪製我的數組數據,但我遇到的問題是縮放.. qwt縮放分佈在區間x和y和軸取決於像素。例如,如果我有一個數據集矢量(500x500),並且我想爲500mm x500mm繪製它的完美圖像,因爲它是在像素上進行平移的,但是如果我想爲300mmx300mm繪製500x500的點數,這是一團糟,它顯示在情節500x500我知道我必須管理x和y軸,但我不知道該怎麼做。我設法玩了一下,爲250mmx250mm的區域顯示500x500,但不能爲其他人做。 我的代碼如下所示qwtspectrogram軸調整區域不是像素
class mydata: public QwtRasterData
{
char filepath[35];
QFile myfile;
QVector<qint16> fileBuf;
int pixel =500; // it represents the number of pixels in one row or column
int dial =1000;
public:
mydata()
{
setInterval(Qt::XAxis, QwtInterval(0, (pixel)-1));
setInterval(Qt::YAxis, QwtInterval(0, (pixel)-1));
setInterval(Qt::ZAxis, QwtInterval(-dial, dial));
{
sprintf_s(filepath, "c:\\myfile.bin");
myfile.setFileName(filepath);
if(!myfile.open(QIODevice::ReadOnly)) return;
QDataStream data(&myfile);
data.setByteOrder(QDataStream::LittleEndian);
while(!data.atEnd()) {
qint16 x;
data >> x;
fileBuf.append(x);
}
myfile.close();
}
}
virtual double value(double x, double y) const//shifted
{
int x_pos = static_cast<int>(x);
int y_pos = static_cast<int>(y);
double c = (fileBuf[ ((x_pos)+((pixel-(y_pos))*pixel))]);
return c;
}
}
在短我有相同數量的不同的區域的像素的,但是我有在情節軸的相同的表示。