Thanks, Uwe.
Now I have some question about the initraster() function. Should I reimplement the whole function (similar to value) or should I just call it with particular QRectF and QSize values? This is my rendition SpectrogramData:
Qt Code:
  1. class SpectrogramData: public QwtRasterData
  2. {
  3. public:
  4. SpectrumData *Data;
  5. double dx, dy;
  6. SpectrogramData(SpectrumData *InputData)
  7. {
  8. Data = InputData;
  9. setInterval( Qt::XAxis, QwtInterval( Data->.first(), Data->XData.last() ) );
  10. setInterval( Qt::YAxis, QwtInterval( Data->YData.first(), Data->YData.last() ) );
  11. setInterval( Qt::ZAxis, QwtInterval( Data->MinZ, Data->MaxZ ) );
  12. dx = (Data->XData.last()-Data->XData.first())/(Data->XData.size()-1);
  13. dy = (Data->YData.last()-Data->YData.first())/(Data->YData.size()-1);
  14. }
  15.  
  16. virtual double value(double x, double y) const
  17. {
  18. int i = (x-Data->XData.first())/dx, j = (y-Data->YData.first())/dy;
  19. return Data->ZData[j][i];
  20. }
  21. }
To copy to clipboard, switch view to plain text mode 
I tried to experiment with your suggestion and added these lines to the end of the constructor (lines 14+):
Qt Code:
  1. QSize QS(Data->LengthOfX,Data->LengthOfY);
  2. QRectF QR(0,0,500,500); // Some random numbers to initialize QRectF
  3. initRaster(QR,QS);
To copy to clipboard, switch view to plain text mode 
but this implementation doesn't seem to yield any difference. Could you elaborate a bit more on initraster()? I searched this forum, but I can't find a good example of its usage.
Thanks in advance.