Skip to content
Snippets Groups Projects
Unverified Commit aaca714d authored by Pete Peterson's avatar Pete Peterson Committed by GitHub
Browse files

Merge pull request #23788 from rosswhitfield/samplelogs_plots

Change figure creation in SampleLogs
parents 04b9d5b9 8bfdd682
No related branches found
No related tags found
No related merge requests found
"""
You can run this widget independently by for example:
from workbench.widgets.samplelogs.presenter import SampleLogs
from mantidqt.widgets.samplelogs.presenter import SampleLogs
from mantid.simpleapi import Load
from qtpy.QtWidgets import QApplication
......
......@@ -33,6 +33,8 @@ class SampleLogs(object):
log = self.model.get_log(log_text)
print('# {}'.format(log.name))
print(log.valueAsPrettyStr())
if self.model.is_log_plottable(log_text):
self.view.new_plot_log(self.model.get_ws(), self.model.get_exp(), log_text)
def changeExpInfo(self):
selected_rows = self.view.get_selected_row_indexes()
......
......@@ -14,6 +14,7 @@ from qtpy.QtWidgets import (QTableView, QHBoxLayout, QVBoxLayout,
QSizePolicy, QSpinBox, QSplitter, QFrame)
from qtpy.QtCore import QItemSelectionModel, Qt
from matplotlib.backends.backend_qt5agg import FigureCanvas
from matplotlib.figure import Figure
import matplotlib.pyplot as plt
......@@ -53,9 +54,10 @@ class SampleLogsView(QSplitter):
layout_right.addLayout(layout_options)
# Sample log plot
self.fig, self.ax = plt.subplots(subplot_kw={'projection': 'mantid'})
self.fig = Figure()
self.canvas = FigureCanvas(self.fig)
self.canvas.setSizePolicy(QSizePolicy.Expanding,QSizePolicy.Expanding)
self.ax = self.fig.add_subplot(111, projection='mantid')
layout_right.addWidget(self.canvas)
# Sample stats
......@@ -102,6 +104,14 @@ class SampleLogsView(QSplitter):
self.ax.legend()
self.fig.canvas.draw()
def new_plot_log(self, ws, exp, log_text):
fig, ax = plt.subplots(subplot_kw={'projection': 'mantid'})
ax.plot(ws,
LogName=log_text,
FullTime=not self.full_time.isChecked(),
ExperimentInfo=exp)
fig.show()
def get_row_log_name(self, i):
return str(self.model.item(i, 0).text())
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment