正在学习python编程,把一些小技巧记录下来备查
======================计算技巧==========================
正常的条件语句如下if a>b:c=aelse:c=b
可以写为以下简洁的语句a=100b=200c=a if a>b else bprint(c)
======================作图==========================
python中可以使用numpy的array来高效处理数组
下面主要列举matplotlib的基本使用方法,以供查找
first plot
#first plot with matplotlib
import matplotlib.pyplot as plt
plt.plot([1,3,2,4])
plt.show()
in order to avoid pollution of global namespace, it is strongly recommended to never import like:
from import *
simple plot
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(0.0,6.0,0.1)
plt.plot(x, [xi**2 for xi in x],label = 'First',linewidth = 4,color = 'black')
plt.plot(x, [xi**2+2 for xi in x],label = 'second',color = 'red')
plt.plot(x, [xi**2+5 for xi in x],label = 'third')
plt.axis([0,7,-1,50])
plt.xlabel(r"$\alpha$",fontsize=20)
plt.ylabel(r'y')
plt.title('simple plot')
plt.legend(loc = 'upper left')
plt.grid(True)
plt.savefig('simple plot.pdf',dpi = 200)
print mpl.rcParams['figure.figsize'] #return 8.0,6.0
print mpl.rcParams['savefig.dpi'] #default to 100 the size of the pic will be 800*600
#print mpl.rcParams['interactive']
plt.show()
Python-3
Decorate plot with styles and types
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(0.0,6.0,0.1)
plt.plot(x, [xi**2 for xi in x],label = 'First',linewidth = 4,color = 'black') #using color string to specify color
plt.plot(x, [xi**2+2 for xi in x],'r',label = 'second') #using abbreviation to specify color
plt.plot(x, [xi**2+5 for xi in x],color = (1,0,1,1),label = 'Third') #using color tuple to specify color
plt.plot(x, [xi**2+9 for xi in x],color = '#BCD2EE',label = 'Fourth') #using hex string to specify color
plt.xticks(np.arange(0.0,6.0,2.5))
plt.xlabel(r"$\alpha$",fontsize=20)
plt.ylabel(r'y')
plt.title('simple plot')
plt.legend(loc = 'upper left')
plt.grid(True)
plt.savefig('simple plot.pdf',dpi = 200)
print mpl.rcParams['figure.figsize'] #return 8.0,6.0
print mpl.rcParams['savefig.dpi'] #default to 100 the size of the pic will be 800*600
#print mpl.rcParams['interactive']
plt.show()
image
types of graph
image
Bars
import matplotlib.pyplot as plt
import numpy as np
dict = {'A': 40, 'B': 70, 'C': 30, 'D': 85}
for i, key in enumerate(dict): plt.bar(i, dict[key]);
plt.xticks(np.arange(len(dict))+0.4, dict.keys());
plt.yticks(dict.values());
plt.grid(True)
plt.show()
image_1
Pies
import matplotlib.pyplot as plt
plt.figure(figsize=(10,10));
x = [4, 9, 21, 55, 30, 18]
labels = ['Swiss', 'Austria', 'Spain', 'Italy', 'France',
'Benelux']
explode = [0.2, 0.1, 0, 0, 0.1, 0]
plt.pie(x, labels=labels, explode=explode, autopct='%1.1f%%');
plt.show()
image_2
Scatter
import matplotlib.pyplot as plt
import numpy as np
x = np.random.randn(12,20)
y = np.random.randn(12,20)
mark = ['s','o','^','v','>','<','d','p','h','8','+','*']
for i in range(0,12):
plt.scatter(x[i],y[i],marker = mark[i],color =(np.random.rand(1,3)),s=50,label = str(i+1))
plt.legend()
plt.show()
转载本文请联系原作者获取授权,同时请注明本文来自高关胤科学网博客。
链接地址:http://blog.sciencenet.cn/blog-64087-968950.html
上一篇:[转载]“玩伴女郎”误入学术圈
下一篇:APS模板包RevTex的安装方法