Changeset 50b33d0 in sasview for src/sas/qtgui/Perspectives


Ignore:
Timestamp:
Mar 26, 2019 12:21:53 PM (5 years ago)
Author:
GitHub <noreply@…>
Branches:
ESS_GUI, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_opencl
Children:
c149fba
Parents:
5123512 (diff), f5e2a10a (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
git-author:
Piotr Rozyczko <piotr.rozyczko@…> (03/26/19 12:21:53)
git-committer:
GitHub <noreply@…> (03/26/19 12:21:53)
Message:

Merge pull request #215 from SasView?/ESS_GUI_plotpoly2d

show a polydispersity plot for 2D data as well

Location:
src/sas/qtgui/Perspectives
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • src/sas/qtgui/Perspectives/Fitting/FittingUtilities.py

    rb38c8c8 rf5e2a10a  
    590590        xunit = model.details[name][0] 
    591591        data1d.xaxis(r'\rm{{{}}}'.format(name.replace('_', '\_')), xunit) 
    592         data1d.yaxis(r'\rm{weight}', 'normalized') 
     592        data1d.yaxis(r'\rm{probability}', 'normalized') 
    593593        data1d.scale = 'linear' 
    594594        data1d.symbol = 'Line' 
  • src/sas/qtgui/Perspectives/Fitting/FittingWidget.py

    rd4c9242 rf5e2a10a  
    27372737        self.Calc2DFinishedSignal.emit(return_data) 
    27382738 
     2739    def _appendPlotsPolyDisp(self, new_plots, return_data, fitted_data): 
     2740        """ 
     2741        Internal helper for 1D and 2D for creating plots of the polydispersity distribution for 
     2742        parameters which have a polydispersity enabled. 
     2743        """ 
     2744        for plot in FittingUtilities.plotPolydispersities(return_data.get('model', None)): 
     2745            data_id = fitted_data.id.split() 
     2746            plot.id = "{} [{}] {}".format(data_id[0], plot.name, " ".join(data_id[1:])) 
     2747            data_name = fitted_data.name.split() 
     2748            plot.name = " ".join([data_name[0], plot.name] + data_name[1:]) 
     2749            self.createNewIndex(plot) 
     2750            new_plots.append(plot) 
     2751 
    27392752    def complete1D(self, return_data): 
    27402753        """ 
     
    27692782            self.communicate.deleteIntermediateTheoryPlotsSignal.emit(self.kernel_module.id) 
    27702783 
    2771         # Create plots for parameters with enabled polydispersity 
    2772         for plot in FittingUtilities.plotPolydispersities(return_data.get('model', None)): 
    2773             data_id = fitted_data.id.split() 
    2774             plot.id = "{} [{}] {}".format(data_id[0], plot.name, " ".join(data_id[1:])) 
    2775             data_name = fitted_data.name.split() 
    2776             plot.name = " ".join([data_name[0], plot.name] + data_name[1:]) 
    2777             self.createNewIndex(plot) 
    2778             new_plots.append(plot) 
     2784        self._appendPlotsPolyDisp(new_plots, return_data, fitted_data) 
    27792785 
    27802786        # Create plots for intermediate product data 
     
    28132819        if residuals is not None: 
    28142820            new_plots.append(residuals) 
     2821 
     2822        self._appendPlotsPolyDisp(new_plots, return_data, fitted_data) 
    28152823 
    28162824        # Update/generate plots 
  • src/sas/qtgui/Perspectives/Corfunc/CorfuncPerspective.py

    rdee9e5f r3beadede  
    77from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg \ 
    88    as FigureCanvas 
     9from matplotlib.backends.backend_qt5agg import NavigationToolbar2QT 
    910from matplotlib.figure import Figure 
    1011from numpy.linalg.linalg import LinAlgError 
     
    3536        self.data = None 
    3637        self.extrap = None 
     38        self.setMinimumSize(300, 300) 
    3739 
    3840    def draw_q_space(self): 
     
    4951        self.axes.set_xscale("log") 
    5052        self.axes.set_yscale("log") 
     53        self.axes.set_xlabel("Q [$\AA^{-1}$]") 
     54        self.axes.set_ylabel("I(Q) [cm$^{-1}$]") 
     55        self.axes.set_title("Scattering data") 
     56        self.fig.tight_layout() 
    5157 
    5258        qmin = float(self.model.item(W.W_QMIN).text()) 
     
    5561 
    5662        if self.data: 
    57             self.axes.plot(self.data.x, self.data.y) 
     63            # self.axes.plot(self.data.x, self.data.y, label="Experimental Data") 
     64            self.axes.errorbar(self.data.x, self.data.y, yerr=self.data.dy, label="Experimental Data") 
    5865            self.axes.axvline(qmin) 
    5966            self.axes.axvline(qmax1) 
     
    6168            self.axes.set_xlim(min(self.data.x) / 2, 
    6269                               max(self.data.x) * 1.5 - 0.5 * min(self.data.x)) 
     70            self.axes.set_ylim(min(self.data.y) / 2, 
     71                               max(self.data.y) * 1.5 - 0.5 * min(self.data.y)) 
     72 
    6373        if self.extrap: 
    64             self.axes.plot(self.extrap.x, self.extrap.y) 
     74            self.axes.plot(self.extrap.x, self.extrap.y, label="Extrapolation") 
     75 
     76        if self.data or self.extrap: 
     77            self.axes.legend() 
    6578 
    6679        self.draw() 
     
    7891        self.axes.set_xscale("linear") 
    7992        self.axes.set_yscale("linear") 
     93        self.axes.set_xlabel("Z [$\AA$]") 
     94        self.axes.set_ylabel("Correlation") 
     95        self.axes.set_title("Real Space Correlations") 
     96        self.fig.tight_layout() 
    8097 
    8198        if self.data: 
     
    85102            self.axes.plot(data_idf.x, data_idf.y, 
    86103                           label="Interface Distribution Function") 
    87             self.axes.set_xlim(min(data1.x), max(data1.x) / 4) 
     104            self.axes.set_xlim(0, max(data1.x) / 4) 
    88105            self.axes.legend() 
    89106 
     
    115132 
    116133        self._canvas = MyMplCanvas(self.model) 
    117         self.mainVerticalLayout.insertWidget(0, self._canvas) 
     134        self.plotLayout.insertWidget(0, self._canvas) 
     135        self.plotLayout.insertWidget(1, NavigationToolbar2QT(self._canvas, self)) 
     136        self._realplot = MyMplCanvas(self.model) 
     137        self.plotLayout.insertWidget(2, self._realplot) 
     138        self.plotLayout.insertWidget(3, NavigationToolbar2QT(self._realplot, self)) 
     139 
     140        self.gridLayout_8.setColumnStretch(0, 1) 
     141        self.gridLayout_8.setColumnStretch(1, 3) 
    118142 
    119143        # Connect buttons to slots. 
     
    238262        self.model.setItem(W.W_POLY, QtGui.QStandardItem("{:.3g}".format(params['A']))) 
    239263        self.model.setItem(W.W_PERIOD, QtGui.QStandardItem("{:.3g}".format(params['max']))) 
    240         #self._realplot.data = transforms 
     264        self._realplot.data = transforms 
    241265 
    242266        self.update_real_space_plot(transforms) 
    243267 
    244         #self._realplot.draw_real_space() 
     268        self._realplot.draw_real_space() 
    245269 
    246270    def update_real_space_plot(self, datas): 
     
    358382        self.cmdTransform.setEnabled(False) 
    359383 
    360         #self._realplot.data = None 
    361         #self._realplot.draw_real_space() 
     384        self._realplot.data = None 
     385        self._realplot.draw_real_space() 
    362386 
    363387    def setClosable(self, value=True): 
  • src/sas/qtgui/Perspectives/Corfunc/UI/CorfuncPanel.ui

    rcb4d219 r85503bc  
    1818    <layout class="QVBoxLayout" name="mainVerticalLayout"> 
    1919     <item> 
    20       <spacer name="verticalSpacer"> 
    21        <property name="orientation"> 
    22         <enum>Qt::Vertical</enum> 
    23        </property> 
    24        <property name="sizeHint" stdset="0"> 
    25         <size> 
    26          <width>20</width> 
    27          <height>38</height> 
    28         </size> 
    29        </property> 
    30       </spacer> 
    31      </item> 
    32      <item> 
    3320      <widget class="QGroupBox" name="groupBox"> 
    3421       <property name="title"> 
     
    322309          </item> 
    323310          <item row="0" column="1"> 
    324            <widget class="QLineEdit" name="txtLongPeriod"/> 
     311           <widget class="QLineEdit" name="txtLongPeriod" width="50"> 
     312             <property name="minimumSize" stdset="0"> 
     313               <size> 
     314                 <width>60</width> 
     315                 <height>20</height> 
     316               </size> 
     317             </property> 
     318           </widget> 
    325319          </item> 
    326320          <item row="0" column="2"> 
     
    332326          </item> 
    333327          <item row="0" column="3"> 
    334            <widget class="QLineEdit" name="txtAvgIntThick"/> 
     328           <widget class="QLineEdit" name="txtAvgIntThick"> 
     329             <property name="minimumSize" stdset="0"> 
     330               <size> 
     331                 <width>60</width> 
     332                 <height>20</height> 
     333               </size> 
     334             </property> 
     335           </widget> 
    335336          </item> 
    336337          <item row="1" column="0"> 
     
    417418      </layout> 
    418419     </item> 
     420     <item> 
     421        <spacer name="verticalSpacer"> 
     422        <property name="orientation"> 
     423            <enum>Qt::Vertical</enum> 
     424        </property> 
     425        <property name="sizeHint" stdset="0"> 
     426            <size> 
     427            <width>20</width> 
     428            <height>38</height> 
     429            </size> 
     430        </property> 
     431        </spacer> 
     432     </item> 
     433    </layout> 
     434   </item> 
     435   <item row="0" column="1"> 
     436    <layout class="QVBoxLayout" name="plotLayout"> 
    419437    </layout> 
    420438   </item> 
Note: See TracChangeset for help on using the changeset viewer.