...
MatLab | MatPlotLib | Comments |
---|
Code Block |
---|
a1 = subplot(121);
loglog(channels(:,1),channels(:,2),'o')
xlabel('CH0')
ylabel('CH1')
a2 = subplot(122);
loglog(channels(:,3),channels(:,4),'o')
xlabel('CH2')
ylabel('CH3')
|
| Code Block |
---|
import matplotlib.pyplot as plt
import numpy as np
a1 = plt.subplot(221)
plt.loglog(channels[:,0],channels[:,1], 'o' )
plt.xlabel('CH0')
plt.ylabel('CH1')
a2 = plt.subplot(222)
plt.loglog(channels[:,2],channels[:,3], 'o' )
plt.xlabel('CH2')
plt.ylabel('CH3')
|
| channels is a 4xN array of floats, where N is the number of events. Each column corresponds to one out of four Ipimb channels.
Note that the arrays are indexed with 1,2,3,4 in MatLab and 0,1,2,3 in MatPlotLib/NumPy/Python.
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="659a434e8406eea0-a8d5c711-4f1e402c-b6108146-c3ead066e40e364c48971bbd"><ac:plain-text-body><![CDATA[Note also the use of paranthesis, array() in MatLab, array[] in MatPlotLib. | ]]></ac:plain-text-body></ac:structured-macro> |
...
...
set(gca,'xcolor','r','ycolor','r') |
...
...
...
set(gca,'xcolor','k','ycolor','k') |
...
fbool = (filtvec(channels(:,1),lims(1:2,1))&filtvec(channels(:,2),lims(1:2,2))); |
...
loglog(channels(fbool,1),channels(fbool,2),'or') |
...
...
...
set(gca,'xcolor','r','ycolor','r') |
...
...
...
set(gca,'xcolor','k','ycolor','k') |
...
fbool = (filtvec(channels(:,3),lims(3:4,1))&filtvec(channels(:,4),lims(3:4,2))); |
...
loglog(channels(fbool,3),channels(fbool,4),'or')
|
...
...
...
...
...
limslista = plt.ginput(2) |
|
...
...
...
...
...
...
...
limslistb = plt.ginput(2) |
|
...
...
limsa = np.array(limslista) |
|
...
...
y0
# x1 y1 \]
limsb = np.array(limslistb) |
|
...
...
y2
# x3 y3 \]
lims = np.hstack( [limsa, limsb |
|
...
- [ x0 y0 x2 y2 = [ ch0 ch1 ch2 ch3 ]
- x1 y1 x3 y3 ]
- now each column corresponds to one channel.
print "limits array : ", lims
...
] )
# \[ x0 y0 x2 y2 = \[ ch0 ch1 ch2 ch3 \]
# x1 y1 x3 y3 \]
# now each column corresponds to one channel.
print "limits array : ", lims
# fbool is an array of event indices where these conditions are met.
fbools0 = (channels[:,0]>lims[:,0].min())&(channels[:,0]<lims[:,0].max()) |
|
...
fbools1 = (channels[:,1]>lims[:,1].min())&(channels[:,1]<lims[:,1].max()) |
|
...
fbools2 = (channels[:,2]>lims[:,2].min())&(channels[:,2]<lims[:,2].max()) |
|
...
fbools3 = (channels[:,3]>lims[:,3].min())&(channels[:,3]<lims[:,3].max())
|
|
In MatLab, lims is an expandable array that holds limits as set by input from mouse click on the plot (ginput). NumPy arrays cannot be expanded, so I've chosen to append to a python list first, then fill a NumPy array for the usage to look the same. |