Plot A Large Number Of Axis Objects Using One Command Through A Loop
Say I have a bunch of ax1,ax2,ax3... and I want to run them through a plotting function: def plotxy(ax,x,y): x = np.array(x) y = np.array(y) ax.plot(x,y) (obviously si
Solution 1:
you can try something like this:
import matplotlib.pyplotas plt
fig, axs = plt.subplots(nrows=3, ncols=2)
for ax in axs.flat:
plotxy(ax,x,y)
If you use plt.subplot
or plt.axes
you can create a list/array of axes by hand
Solution 2:
you can also use map, x
and y
being name space variables and axx
some iterable over your axes objects:
x = ...
y = ...
defplotxy(ax):
ax.plot(x,y)
map(plotxy,axx)
Solution 3:
I'm probably missing something in your question, but why don't you just use a simple loop?
for ax in ( ax1, ax2, ..., axn ):
plotxy(ax,x,y)
You can also avoid the explicit listing all variables:
axes = ( locals()['ax%d'%i] for i inrange(1, n+1) )
for ax in axes:
plotxy(ax,x,y)
Post a Comment for "Plot A Large Number Of Axis Objects Using One Command Through A Loop"