本文整理汇总了Python中pyworkflow.em.plotter.EmPlotter.show方法的典型用法代码示例。如果您正苦于以下问题:Python EmPlotter.show方法的具体用法?Python EmPlotter.show怎么用?Python EmPlotter.show使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pyworkflow.em.plotter.EmPlotter
的用法示例。
在下文中一共展示了EmPlotter.show方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: createCtfPlot
# 需要导入模块: from pyworkflow.em.plotter import EmPlotter [as 别名]
# 或者: from pyworkflow.em.plotter.EmPlotter import show [as 别名]
def createCtfPlot(ctfSet, ctfId):
from pyworkflow.utils.path import removeExt
ctfModel = ctfSet[ctfId]
psdFn = ctfModel.getPsdFile()
fn = removeExt(psdFn) + "_avrot.txt"
gridsize = [1, 1]
xplotter = EmPlotter(x=gridsize[0], y=gridsize[1], windowTitle='CTF Fitting')
plot_title = "CTF Fitting"
a = xplotter.createSubPlot(plot_title, 'pixels^-1', 'CTF', yformat=False)
legendName = []
for i in range(1, 5):
_plotCurve(a, i, fn)
if i == 1:
legendName.append('rotational avg. No Astg')
elif i == 2:
legendName.append('rotational avg.')
elif i == 3:
legendName.append('CTF Fit')
elif i == 4:
legendName.append('Cross Correlation')
elif i == 5:
legendName.append('2sigma cross correlation of noise')
xplotter.showLegend(legendName)
a.grid(True)
xplotter.show()
示例2: visualize
# 需要导入模块: from pyworkflow.em.plotter import EmPlotter [as 别名]
# 或者: from pyworkflow.em.plotter.EmPlotter import show [as 别名]
def visualize(self, obj, **kwargs):
model = PKPDAllometricScale()
model.load(obj.fnScale.get())
x = np.log10(np.asarray(model.X))
xlabel = "%s [%s]" % (model.predictor, model.predictorUnits)
for varName, varUnits in model.scaled_vars:
plotter = EmPlotter()
y = np.log10(np.asarray(model.Y[varName]))
ylabel = "%s [%s]" % (varName, varUnits)
ax = plotter.createSubPlot(varName, xlabel, ylabel)
ax.plot(x, y, '.', label='Species')
ax.plot(x, np.log10(model.models[varName][0])+x*model.models[varName][1],'r', label='R2=%f'%model.qualifiers[varName][0])
leg = ax.legend(loc='upper right')
if leg:
leg.draggable()
plotter.show()
for varName, varUnits in model.averaged_vars:
plotter = EmPlotter()
y = np.asarray(model.Y[varName])
ylabel = "%s [%s]" % (varName, varUnits)
ax = plotter.createSubPlot("Scatter Plot", xlabel, ylabel)
ax.plot(x, y, '.', label='Species')
ax.plot(x, model.models[varName][0]*np.ones(x.shape),'r',label='Std=%f'%model.qualifiers[varName][0])
leg = ax.legend(loc='upper right')
if leg:
leg.draggable()
plotter.show()
示例3: press
# 需要导入模块: from pyworkflow.em.plotter import EmPlotter [as 别名]
# 或者: from pyworkflow.em.plotter.EmPlotter import show [as 别名]
def press(self,event):
sys.stdout.flush()
if event.key == 'S':
self.stop = True
self.ax.set_title('Plot is Stopped. Press C to continue plotting')
elif event.key == 'C':
self.ax.set_title(self._getTitle())
self.stop = False
self.animate()
EmPlotter.show(self)
示例4: paint
# 需要导入模块: from pyworkflow.em.plotter import EmPlotter [as 别名]
# 或者: from pyworkflow.em.plotter.EmPlotter import show [as 别名]
def paint(self, labels):
for label in labels:
self.lines[label], = self.ax.plot([], [], '-', label=label)
anim = animation.FuncAnimation(
self.fig, self.animate,
interval=self.monitor.samplingInterval * 1000) # miliseconds
self.fig.canvas.mpl_connect('scroll_event', self.onscroll)
self.fig.canvas.mpl_connect('key_press_event', self.press)
EmPlotter.show(self)
示例5: _plot
# 需要导入模块: from pyworkflow.em.plotter import EmPlotter [as 别名]
# 或者: from pyworkflow.em.plotter.EmPlotter import show [as 别名]
def _plot(varLabelX, varLabelY, x, y, yp):
plotter = EmPlotter()
ax = plotter.createSubPlot("Plot", varLabelX, varLabelY)
xValues = _values(x, useLog=self.useTimeLog())
ax.plot(xValues, _values(y), 'x', label="Observations")
idx = np.argsort(xValues)
ypValues = _values(yp)
ax.plot(np.asarray(xValues)[idx], np.asarray(ypValues)[idx], 'g', label="Fit")
leg = ax.legend()
if leg:
leg.draggable()
plotter.show()
示例6: onscroll
# 需要导入模块: from pyworkflow.em.plotter import EmPlotter [as 别名]
# 或者: from pyworkflow.em.plotter.EmPlotter import show [as 别名]
def onscroll(self, event):
if event.button == 'up':
self.win += self.step
else:
self.win -= self.step
if self.win < self.step:
self.win = self.step
if self.oldWin != self.win:
self.ax.set_title(self._getTitle())
self.oldWin= self.win
self.animate()
EmPlotter.show(self)
示例7: createCtfPlot
# 需要导入模块: from pyworkflow.em.plotter import EmPlotter [as 别名]
# 或者: from pyworkflow.em.plotter.EmPlotter import show [as 别名]
def createCtfPlot(ctfSet, ctfId):
ctfModel = ctfSet[ctfId]
psdFn = ctfModel.getPsdFile()
fn = removeExt(psdFn) + "_avrot.txt"
gridsize = [1, 1]
xplotter = EmPlotter(x=gridsize[0], y=gridsize[1], windowTitle='CTF Fitting')
plot_title = "CTF Fitting"
a = xplotter.createSubPlot(plot_title, 'pixels^-1', 'CTF', yformat=False)
legendName = ['rotational avg. No Astg',
'rotational avg.',
'CTF Fit',
'Cross Correlation',
'2sigma cross correlation of noise']
for i in range(1, 6):
_plotCurve(a, i, fn)
xplotter.showLegend(legendName)
a.grid(True)
xplotter.show()
示例8: _onPlotSummaryClick
# 需要导入模块: from pyworkflow.em.plotter import EmPlotter [as 别名]
# 或者: from pyworkflow.em.plotter.EmPlotter import show [as 别名]
def _onPlotSummaryClick(self, e=None):
sampleKeys = self.samplesTree.selection()
n = len(sampleKeys)
if n == 1:
self.showInfo("Please select several samples to plot.")
else:
if n > 1:
samples = [self.experiment.samples[k] for k in sampleKeys]
else:
samples = self.experiment.samples.values()
dataDict = {} # key will be time values
for s in samples:
xValues, yValues = self.getPlotValues(s)
for x, y in izip(xValues, yValues):
if x in dataDict:
dataDict[x].append(y)
else:
dataDict[x] = [y]
sortedTime = sorted(dataDict.keys())
# We will store five values (min, 25%, 50%, 75%, max)
# for each of the time entries computed
percentileList = [0, 25, 50, 75, 100]
Y = np.zeros((len(sortedTime), 5))
for i, t in enumerate(sortedTime):
Y[i,:] = np.percentile(dataDict[t], percentileList)
plotter = EmPlotter()
ax = plotter.createSubPlot("Summary Plot", self.getTimeLabel(),
self.getMeasureLabel())
ax.plot(sortedTime, Y[:, 0], 'r--', label="Minimum")
ax.plot(sortedTime, Y[:, 1], 'b--', label="25%")
ax.plot(sortedTime, Y[:, 2], 'g', label="50% (Median)")
ax.plot(sortedTime, Y[:, 3], 'b--', label="75%")
ax.plot(sortedTime, Y[:, 4], 'r--', label="Maximum")
ax.legend()
plotter.show()
示例9: paint
# 需要导入模块: from pyworkflow.em.plotter import EmPlotter [as 别名]
# 或者: from pyworkflow.em.plotter.EmPlotter import show [as 别名]
def paint(self, labels):
for label in labels:
if (label == 'standard_deviation'):
self.lines[label], = \
self.ax2.plot([], [], '-o',
label='Standard deviation',
color='r')
if (label == 'ratio1'):
self.lines[label], = \
self.ax.plot([], [], '-o',
label='97.5/2.5 percentile',
color='b')
if (label == 'ratio2'):
self.lines[label], = \
self.ax.plot([], [], '-*',
label='max/97.5 percentile',
color='b')
anim = animation.FuncAnimation(self.fig, self.animate,
interval=self.monitor.samplingInterval*1000)#miliseconds
self.fig.canvas.mpl_connect('scroll_event', self.onscroll)
self.fig.canvas.mpl_connect('key_press_event', self.press)
EmPlotter.show(self)
示例10: _onPlotClick
# 需要导入模块: from pyworkflow.em.plotter import EmPlotter [as 别名]
# 或者: from pyworkflow.em.plotter.EmPlotter import show [as 别名]
def _onPlotClick(self, e=None):
selection = self.tree.selection()
n = len(selection)
if n < 1 or n > 2:
self.showError("Select one or two variables to plot.")
else:
plotter = EmPlotter()
varX = self._variables[selection[0]]
xValues = self.observations[:, varX.index]
def _label(var):
return "%s [%s]" % (var.varName, var.unitStr)
if n == 1:
plotter.createSubPlot("Histogram", _label(varX), "Count")
plotter.plotHist(xValues, 50)
else: # n == 2
varY = self._variables[selection[1]]
yValues = self.observations[:, varY.index]
ax = plotter.createSubPlot("Scatter Plot",
_label(varX), _label(varY))
ax.plot(xValues, yValues, '.')
plotter.show()
示例11: visualize
# 需要导入模块: from pyworkflow.em.plotter import EmPlotter [as 别名]
# 或者: from pyworkflow.em.plotter.EmPlotter import show [as 别名]
def visualize(self, obj, **kwargs):
prot = obj
fnProfiles = prot._getPath("profiles.txt")
fh = open(fnProfiles,"r")
Rtype = []
Rlegends = []
R = []
state = 0
for line in fh:
if state==0:
tokens = line.split("::")
Rtype.append(tokens[0])
Rlegends.append(tokens[1].strip())
Ri=[]
state=1
elif state==1:
tokens=line.strip().split()
if len(tokens)==0:
R.append(Ri)
state=0
else:
if len(Ri)==0:
for n in range(len(tokens)):
Ri.append([])
for n in range(len(tokens)):
Ri[n].append(tokens[n])
fh.close()
plotter = None
previousType = ""
for legend, Ri, Rtypei in izip(Rlegends, R, Rtype):
if plotter is None or Rtypei!=previousType:
if previousType!="":
self.addLimits(plotter,previousType,minX,maxX)
plotter = EmPlotter()
doShow = True
if Rtypei=="ReversibleLiver" or Rtypei=="TimeDependentLiver" or Rtypei=="InductionLiver" or Rtypei=="StaticLiver" or Rtypei=="TransporterLiver":
Ilabel="[Ih] [uM]"
elif Rtypei=="ReversibleGut" or Rtypei=="TimeDependentGut" or Rtypei=="InductionGut" or Rtypei=="StaticGut" or Rtypei=="TransporterGut":
Ilabel="[Ig] [uM]"
elif Rtypei=="TransporterRenal":
Ilabel="[Cmax] [uM]"
ax = plotter.createSubPlot("Plot", Ilabel, "R")
previousType = Rtypei
minX = None
maxX = None
else:
doShow = False
ax = plotter.getLastSubPlot()
x = np.asarray(Ri[0],dtype=np.float64)
if len(Ri)==2:
y=np.asarray(Ri[1],dtype=np.float64)
else:
y=np.asarray(Ri[2],dtype=np.float64)
ax.plot(x, y, label=legend)
minXi = np.min(x)
maxXi = np.max(x)
if minX==None:
minX=minXi
maxX=maxXi
minX=min(minXi,minX)
maxX=min(maxXi,maxX)
leg = ax.legend()
if leg:
leg.draggable()
if doShow:
plotter.show()
else:
plotter.draw()
self.addLimits(plotter,previousType,minX,maxX)
示例12: ExperimentWindow
# 需要导入模块: from pyworkflow.em.plotter import EmPlotter [as 别名]
# 或者: from pyworkflow.em.plotter.EmPlotter import show [as 别名]
#.........这里部分代码省略.........
y = _value(y, useMeasureLog)
if x is not None and y is not None:
newXValues.append(x)
newYValues.append(y)
return newXValues, newYValues
def _onPlotClick(self, e=None):
sampleKeys = self.samplesTree.selection()
if sampleKeys:
if self.plotter is None or self.plotter.isClosed():
self.plotter = EmPlotter()
doShow = True
ax = self.plotter.createSubPlot("Plot", self.getTimeLabel(),
self.getMeasureLabel())
self.plotDict = {}
else:
doShow = False
ax = self.plotter.getLastSubPlot()
samples = [self.experiment.samples[k] for k in sampleKeys]
for s in samples:
if not s.sampleName in self.plotDict:
x, y = self.getPlotValues(s)
ax.plot(x, y, label=s.sampleName)
self.plotDict[s.sampleName] = True
leg = ax.legend()
if leg:
leg.draggable()
if doShow:
self.plotter.show()
else:
self.plotter.draw()
else:
self.showInfo("Please select some sample(s) to plot.")
def _onPlotSummaryClick(self, e=None):
sampleKeys = self.samplesTree.selection()
n = len(sampleKeys)
if n == 1:
self.showInfo("Please select several samples to plot.")
else:
if n > 1:
samples = [self.experiment.samples[k] for k in sampleKeys]
else:
samples = self.experiment.samples.values()
dataDict = {} # key will be time values
for s in samples:
xValues, yValues = self.getPlotValues(s)
for x, y in izip(xValues, yValues):
if x in dataDict:
dataDict[x].append(y)
else:
dataDict[x] = [y]
sortedTime = sorted(dataDict.keys())
# We will store five values (min, 25%, 50%, 75%, max)
# for each of the time entries computed
percentileList = [0, 25, 50, 75, 100]
Y = np.zeros((len(sortedTime), 5))
for i, t in enumerate(sortedTime):
示例13: press
# 需要导入模块: from pyworkflow.em.plotter import EmPlotter [as 别名]
# 或者: from pyworkflow.em.plotter.EmPlotter import show [as 别名]
def press(self, event):
def numericKey(key):
self.colorChanged = True
number = int(key)
index = 3+number*3
if (index + 3) > self.lenPlots:
return
if self.color['gpuMem_%d' % number] != 'w':
self.oldColor['gpuMem_%d' % number] = \
self.color['gpuMem_%d' % number]
self.oldColor['gpuUse_%d' % number] = \
self.color['gpuUse_%d' % number]
self.oldColor['gpuTem_%d' % number] = \
self.color['gpuTem_%d' % number]
self.color['gpuMem_%d' % number] = "w"
self.color['gpuUse_%d' % number] = "w"
self.color['gpuTem_%d' % number] = "w"
else:
self.color['gpuMem_%d' % number] = \
self.oldColor['gpuMem_%d' % number]
self.color['gpuUse_%d' % number] = \
self.oldColor['gpuUse_%d' % number]
self.color['gpuTem_%d' % number] = \
self.oldColor['gpuTem_%d' % number]
def cpuKey(key):
self.colorChanged = True
if self.color['cpu'] != 'w':
self.oldColor['cpu'] = self.color['cpu']
self.oldColor['mem'] = self.color['mem']
self.oldColor['swap'] = self.color['swap']
self.color['cpu'] = "w"
self.color['mem'] = "w"
self.color['swap'] = "w"
else:
self.color['cpu'] = self.oldColor['cpu']
self.color['swap'] = self.oldColor['swap']
self.color['mem'] = self.oldColor['mem']
def netKey(key):
self.colorChanged = True
if self.color['%s_send' % self.nifName] != 'w':
self.oldColor['%s_send' % self.nifName] = \
self.color['%s_send' % self.nifName]
self.oldColor['%s_recv' % self.nifName] = \
self.color['%s_recv' % self.nifName]
self.color['%s_send' % self.nifName] = "w"
self.color['%s_recv' % self.nifName] = "w"
else:
self.color['%s_send' % self.nifName] = \
self.oldColor['%s_send' % self.nifName]
self.color['%s_recv' % self.nifName] = \
self.oldColor['%s_recv' % self.nifName]
def diskKey(key):
self.colorChanged = True
if self.color['disk_read'] != 'w':
self.oldColor['disk_read'] = self.color['disk_read']
self.oldColor['disk_write'] = self.color['disk_write']
self.color['disk_read'] = "w"
self.color['disk_write'] = "w"
else:
self.color['disk_read'] = self.oldColor['disk_read']
self.color['disk_write'] = self.oldColor['disk_write']
sys.stdout.flush()
if event.key == 'S':
self.stop = True
self.ax.set_title('Plot has been Stopped. '
'Press C to continue plotting')
elif event.key == 'C':
self.ax.set_title(self._getTitle())
self.stop = False
self.animate()
elif event.key.isdigit():
numericKey(event.key)
self.animate()
elif event.key == 'c':
cpuKey(event.key)
self.animate()
elif event.key == 'n':
netKey(event.key)
self.animate()
elif event.key == 'd':
diskKey(event.key)
self.animate()
EmPlotter.show(self)
示例14: PKPDResponsiveDialog
# 需要导入模块: from pyworkflow.em.plotter import EmPlotter [as 别名]
# 或者: from pyworkflow.em.plotter.EmPlotter import show [as 别名]
class PKPDResponsiveDialog(dialog.Dialog):
def __init__(self, parent, title, **kwargs):
""" From kwargs:
message: message tooltip to show when browsing.
selected: the item that should be selected.
validateSelectionCallback: a callback function to validate selected items.
"""
self.values = []
self.plotter = None
self.targetProtocol = kwargs['targetProtocol']
self.experiment = self.targetProtocol.experiment
self.varNameX = kwargs['varNameX']
self.varNameY = kwargs['varNameY']
self.provider = SamplesTreeProvider(self.experiment)
self.model = self.loadModel()
self.validateSelectionCallback = kwargs.get('validateSelectionCallback', None)
self.setLabels()
dialog.Dialog.__init__(self, parent, title,
buttons=[('Select', dialog.RESULT_YES),
('Cancel', dialog.RESULT_CANCEL)])
def setLabels(self):
pass
def loadModel(self):
model = self.targetProtocol.createModel()
model.setExperiment(self.experiment)
# if hasattr(self.protODE, "deltaT"):
# model.deltaT = self.protODE.deltaT.get()
model.setXVar(self.varNameX)
model.setYVar(self.varNameY)
return model
def body(self, bodyFrame):
bodyFrame.config(bg='white')
gui.configureWeigths(bodyFrame)
self._createSamplesFrame(bodyFrame)
self._createSlidersFrame(bodyFrame)
self._createLogsFrame(bodyFrame)
def _createSamplesFrame(self, content):
frame = tk.Frame(content, bg='white')
#frame = tk.LabelFrame(content, text='General')
lfSamples = tk.LabelFrame(frame, text="Samples", bg='white')
gui.configureWeigths(frame)
lfSamples.grid(row=0, column=0, sticky='news', padx=5, pady=5)
self.samplesTree = self._addBoundTree(lfSamples,
self.provider, 10)
self.samplesTree.itemClick = self._onSampleChanged
frame.grid(row=0, column=0, sticky='news', padx=5, pady=5)
def _createSlidersFrame(self, content):
frame = tk.Frame(content, bg='white')
lfBounds = tk.LabelFrame(frame, text="Parameter Bounds", bg='white')
gui.configureWeigths(frame)
i = 0
self.sliders = {}
paramUnits = self.targetProtocol.parameterUnits
for paramName, bounds in self.targetProtocol.getParameterBounds().iteritems():
bounds = bounds or (0, 1)
slider = MinMaxSlider(lfBounds, "%s [%s]"%(paramName,strUnit(paramUnits[i])),
bounds[0], bounds[1],
callback=self._onVarChanged)
slider.grid(row=i, column=0, padx=5, pady=5)
self.sliders[paramName] = slider
i += 1
lfBounds.grid(row=0, column=0, sticky='news', padx=5, pady=5)
frame.grid(row=0, column=1, sticky='news', padx=5, pady=5)
def _createLogsFrame(self, content):
frame = tk.Frame(content)
def addVar(text, col, varName):
varFrame = tk.Frame(frame)
varFrame.grid(row=0, column=col, sticky='new')
label = tk.Label(varFrame, text=text)#, font=self.fontBold)
label.grid(row=0, column=0, padx=5, pady=2, sticky='nw')
combo = tk.Label(varFrame, text=varName, width=10)
combo.grid(row=0, column=1, sticky='nw', padx=5, pady=5)
radioVar = tk.IntVar()
radio = tk.Checkbutton(varFrame, text='Log10', variable=radioVar)
radio.grid(row=0, column=2, sticky='nw', padx=5, pady=5)
return combo, radio, radioVar
self.timeWidget = addVar('Time variable', 0, self.varNameX)
self.timeWidget[2].trace('w', self._onLogChanged)
self.measureWidget = addVar('Measure variable', 1, self.varNameY)
measureVar = self.measureWidget[2]
measureVar.set(True)
measureVar.trace('w', self._onLogChanged)
frame.grid(row=1, column=0, columnspan=2, sticky='news', padx=5, pady=5)
def _addBoundTree(self, parent, provider, height):
bt = BoundTree(parent, provider, height=height)
bt.grid(row=0, column=0, sticky='news', padx=5, pady=5)
gui.configureWeigths(parent)
#.........这里部分代码省略.........