diff --git a/GUI/Model/Device/RealItem.cpp b/GUI/Model/Device/RealItem.cpp index 4f9bf64a13fbc421476317011248e9753dade190..8bcbf99deebcef0120ace3a84627973a4032ef2c 100644 --- a/GUI/Model/Device/RealItem.cpp +++ b/GUI/Model/Device/RealItem.cpp @@ -13,9 +13,11 @@ // ************************************************************************************************ #include "GUI/Model/Device/RealItem.h" +#include "Base/Axis/Scale.h" #include "Device/Coord/ICoordSystem.h" #include "Device/Data/DataUtil.h" #include "Device/Data/Datafield.h" +#include "GUI/Model/Axis/AmplitudeAxisItem.h" #include "GUI/Model/Data/DataItemUtil.h" #include "GUI/Model/Data/IntensityDataItem.h" #include "GUI/Model/Data/ProjectionItems.h" @@ -259,7 +261,14 @@ void RealItem::rotateData() // -- now rotate data const Datafield* input = intensityDataItem()->c_field(); - intensityDataItem()->setDatafield(DataUtil::Data::createRearrangedDataSet(*input, 1).release()); + Datafield* output = DataUtil::Data::createRearrangedDataSet(*input, 1).release(); + + // upd AxesItems + intensityDataItem()->xAxisItem()->setBinCount(output->xAxis().size()); + intensityDataItem()->yAxisItem()->setBinCount(output->yAxis().size()); + + // apply rotated data + intensityDataItem()->setDatafield(output); intensityDataItem()->setAxesRangeToData(); } diff --git a/GUI/View/PlotUtil/ColorMap.cpp b/GUI/View/PlotUtil/ColorMap.cpp index 4b2b196eac61a48118e422f147c9bccdabef3523..1679c3c2193079203749f14aa5d0dc5e393e0d73 100644 --- a/GUI/View/PlotUtil/ColorMap.cpp +++ b/GUI/View/PlotUtil/ColorMap.cpp @@ -365,6 +365,8 @@ void ColorMap::setDataFromItem() int nx(intensityItem()->xSize()); // outside of the loop because of slow retrieval int ny(intensityItem()->ySize()); + m_colorMap->data()->setSize(nx, ny); + for (int ix = 0; ix < nx; ++ix) for (int iy = 0; iy < ny; ++iy) m_colorMap->data()->setCell(ix, iy, (*data)[iy + ny * ix]);