Skip to content

Instantly share code, notes, and snippets.

@hirokai
Created February 25, 2014 05:59
Show Gist options
  • Save hirokai/9203518 to your computer and use it in GitHub Desktop.
Save hirokai/9203518 to your computer and use it in GitHub Desktop.
Matplotlib subplots example
import csv
from pylab import *
names = ['40nm_1_0_b',
'40nm_1_1_b',
'40nm_1_5_b',
'40nm_1_10_b',
'40nm_1_20_b',
'40nm_1_50_b',
'40nm_1_100_b',
'81nm_1_0',
'81nm_1_1',
'81nm_1_5',
'81nm_1_10',
'81nm_1_20',
'120nm_1_0',
'120nm_1_1',
'120nm_1_5',
'120nm_1_10',
'145nm_1_0',
'145nm_1_1',
'145nm_1_5',
'171nm_1_0',
'171nm_1_1']
figpos = [1,2,3,4,5,6,7,8,9,10,11,12,15,16,17,18,22,23,24,29,30]
clf()
def proc1(avradno,avradau,stdradno,stdradau,semradno,semradau):
xs = [0.05*x+0.025 for x in range(20)]
errorbar(xs,avradno,yerr=semradno,color='b',lw=1,capsize=1)
errorbar(xs,avradau,yerr=semradau,color='#ffa500',lw=1,capsize=1)
fill_between(xs,add(avradno,stdradno),subtract(avradno,stdradno),color='b',alpha=0.5,edgecolor='none')
fill_between(xs,add(avradau,stdradau),subtract(avradau,stdradau),color='#ffa500',alpha=0.5,edgecolor='none')
return [0,4]
def proc2(avradno,avradau,stdradno,stdradau,semradno,semradau):
xs = [0.05*x+0.025 for x in range(20)]
errorbar(xs,avradno,yerr=stdradno,color='b',lw=1,capsize=1)
errorbar(xs,avradau,yerr=stdradau,color='#ffa500',lw=1,capsize=1)
fill_between(xs,add(avradno,stdradno),subtract(avradno,stdradno),color='b',alpha=0.5,edgecolor='none')
fill_between(xs,add(avradau,stdradau),subtract(avradau,stdradau),color='#ffa500',alpha=0.5,edgecolor='none')
return [0,4]
def proc3(avradno,avradau,stdradno,stdradau,semradno,semradau):
xs = [0.05*x+0.025 for x in range(20)]
errorbar(xs,avradno,yerr=None,color='b',lw=1,capsize=1)
errorbar(xs,avradau,yerr=None,color='#ffa500',lw=1,capsize=1)
fill_between(xs,add(avradno,stdradno),subtract(avradno,stdradno),color='b',alpha=0.5,edgecolor='none')
fill_between(xs,add(avradau,stdradau),subtract(avradau,stdradau),color='#ffa500',alpha=0.5,edgecolor='none')
return [0,4]
def proc4(avradno,avradau,stdradno,stdradau,semradno,semradau):
xs = [0.05*x+0.025 for x in range(20)]
errorbar(xs,avradno,yerr=semradno,color='b',lw=1,capsize=1)
errorbar(xs,avradau,yerr=semradau,color='#ffa500',lw=1,capsize=1)
return [0,4]
def proc5(avradno,avradau,stdradno,stdradau,semradno,semradau):
xs = [0.05*x+0.025 for x in range(20)]
errorbar(xs,avradno,yerr=semradno,color='b',lw=1,capsize=1)
errorbar(xs,avradau,yerr=semradau,color='#ffa500',lw=1,capsize=1)
return [0,4]
def proc6(avradno,avradau,stdradno,stdradau,semradno,semradau):
xs = [0.05*x+0.025 for x in range(20)]
errorbar(xs,avradno,yerr=None,color='b',lw=1,capsize=1)
errorbar(xs,avradau,yerr=None,color='#ffa500',lw=1,capsize=1)
return [0,4]
def proc7(avradno,avradau,stdradno,stdradau,semradno,semradau):
xs = [0.05*x+0.025 for x in range(20)]
errorbar(xs,avradno,yerr=None,color='b',lw=1,capsize=1)
errorbar(xs,avradau,yerr=None,color='r',lw=1,capsize=1)
return [0,4]
def proc8(avradno,avradau,stdradno,stdradau,semradno,semradau):
xs = [0.05*x+0.025 for x in range(20)]
errorbar(xs,avradno,yerr=None,color='b',lw=1,capsize=1)
errorbar(xs,avradau,yerr=None,color='r',lw=1,capsize=1)
fill_between(xs,add(avradno,stdradno),subtract(avradno,stdradno),color='b',alpha=0.2,edgecolor='none')
fill_between(xs,add(avradau,stdradau),subtract(avradau,stdradau),color='r',alpha=0.2,edgecolor='none')
return [0,4]
def proc9(avradno,avradau,stdradno,stdradau,semradno,semradau):
xs = [0.05*x+0.025 for x in range(20)]
errorbar(xs,avradno,yerr=stdradno,color='b',lw=1,capsize=1)
errorbar(xs,avradau,yerr=stdradau,color='r',lw=1,capsize=1)
return [0,4]
def proc10(avradno,avradau,stdradno,stdradau,semradno,semradau):
xs = [0.05*x+0.025 for x in range(20)]
errorbar(xs,avradno,yerr=semradno,color='b',lw=1,capsize=1)
errorbar(xs,avradau,yerr=semradau,color='r',lw=1,capsize=1)
return [0,3.5]
figureprocs = [proc1,proc2,proc3,proc4,proc5,proc6,proc7,proc8,proc9,proc10]
active = [False]*8+[True]*2
#active = [True]*20
def myfloat(x):
ret = 0
try:
ret = float(x)
except:
ret = None
return ret
proccount = -1
for figureproc in figureprocs:
clf()
proccount += 1
filecount = -1
if not active[proccount]:
continue
print figureproc
figure(num=None, figsize=(7, 4), dpi=80, facecolor='w', edgecolor='k')
for name in names:
print name
filecount += 1
avradau,stdradau,semradau,avradno,stdradno,semradno = [],[],[],[],[],[]
with open('radialprofile/'+name+'.csv') as f:
csvr = csv.reader(f)
avradau,stdradau,semradau,avradno,stdradno,semradno = [map(myfloat,row) for row in csvr]
# print avradau,stdradau,semradau,avradno,stdradno,semradno
subplot(5,7,figpos[filecount])
val = figureproc(avradno,avradau,stdradno,stdradau,semradno,semradau)
if val==None:
val=[0,4]
ylim(val)
for tick in gca().xaxis.get_major_ticks():
tick.label1On = False
tick.label2On = False
for tick in gca().yaxis.get_major_ticks():
tick.label1On = False
tick.label2On = False
show()
savefig('radial profiles combined-%d.pdf'%(proccount+1),transparent=False)
close('all')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment