I'm not 100% sure if I understand your initial mail exactly, but it looks like all you want to is to display a 500x500 matrix of values inside an area of a different size ( f.e 100x200 ) in plot coordinates :

Qt Code:
  1. rasterdata->setInterval( Qt::XAxis, QwtInterval( 0.0, 100 ) );
  2. rasterdata->setInterval( Qt::YAxis, QwtInterval( 0.0, 200 ) );
To copy to clipboard, switch view to plain text mode 
If you are using QwtMatrixRaterData this would be all, otherwise it might be a good idea to implement YourRasterData::pixelHint() returning the size of one data pixel.

With using your label transformation you are faking a different coordinate system to the user, than the one that is used by the plot. You will have effects, that the ticks are not aligned to your faked coordinate system, labels at other places ( picker/zoom ) might be wrong etc.

Uwe