赞
踩
Matplotlib画图指南
常见的python的matplotlib 的画图的方法,画散点图,曲线图,子图,以及子图的布局,间距等。
import numpy as np
import matplotlib.pyplot as plt
fig=plt.figure()
Fig=plt.figure(1)
使用add_subplot创建多个子图 subplot
Ax1=fig.add_subpot(2,2,1)
新图和子图之间的关系:
plot()画曲线图,可设置点的格式,线的格式。
Scatter()划散点图,可以设置散点的样式。
matplotlib.pyplot.scatter(x, y,s=20, c=None, marker='o', cmap=None, norm=None, vmin=None, vmax=None,alpha=None, linewidths=None, verts=None, edgecolors=None,hold=None, data=None, **kwargs
)
基本的x ,y参数,还有c,s,alpha和marker,c就是为点指定的颜色数组,s是点的面积大小,alpha是点的颜色的透明度,marker是指定点标记的形状,linewidths
为线宽
。在例子里指定透明度为0.5,c表示颜色常见的颜色为 ['r','y','g','b','r','y','g','b','r'] ,
S[1,2,3,4,5…100]表示形状的面积。我们要改变的是marker的值,marker有很多值可供选择,下表展示了在例子代码的基础上,改变marker的值后的效果:
· 使用HTML十六进制字符串 color='eeefff' 使用合法的HTML颜色名字(’red’,’chartreuse’等)。
· 也可以传入一个归一化到[0,1]的RGB元祖。 color=(0.3,0.3,0.4)
线条风格linestyle或ls | 描述 | 线条风格linestyle或ls | 描述 | |
‘-‘ | 实线 | ‘:’ | 虚线 |
|
‘–’ | 破折线 | ‘None’,’ ‘,’’ | 什么都不画 |
|
‘-.’ |
联合使用‘颜色标记线条属性’'bs-.','go-'
plt.plot(t,t, 'r--', t, t**2, 'bs', t, t**3, 'g^'),叠加图
plot(X,S, color="red", linewidth=2.5, linestyle="-", label="sine")
plot(X,C, color="blue", linewidth=2.5, linestyle='-', label='cosine')
简写版:
plt.plot([1,2,3],[1,2,3], 'go-', label='line 1', linewidth=2)
plt.scatter(x,y, s=area, c=colors, alpha=0.5, marker=(9, 3, 30))
也可以不断地修改颜色和值的大小和形状样式
plt.xlim(X.min(),X.max())
plt.ylim(y.min(),y.max())
或者
plt.axis([X.min(),X.max(),y.min(), y.max()])
plt.xticks()/plt.yticks()设置轴记号
例如:xticks([-np.pi, -np.pi/2, 0, np.pi/2,np.pi],
[r'$-\pi$',r'$-\pi/2$', r'$0$', r'$+\pi/2$', r'$+\pi$'])
yticks([-1,0, +1],[r'$-1$', r'$0$', r'$+1$'])
有plt.xticks([1,2,3,…])会根据设置来显示标记
没有plt.xticks([1,2,3,…])会根据具体情况来自动设置标记(比较好,省事)。
Legend(loc):使用loc参数
plt.legend(loc='lower left')
0: ‘best' 1: ‘upper right' 2: ‘upper left' 3: ‘lower left' | 4: ‘lower right' 5: ‘right' 6: ‘center left' | 7: ‘center right' 8: ‘lower center' 9: ‘upper center' 10: ‘center' |
plt.legend(loc='best',frameon=False) #去掉图例边框,推荐使用,效果比较美观。
plt.legend(loc='best',edgecolor='blue') #设置图例边框颜色
plt.legend(loc='best',facecolor='blue') #设置图例背景颜色,若无边框,参数无效
用法1:
plot(X, C, color="blue", linewidth=2.5,linestyle="-", label="cosine")
plot(X, S, color="red", linewidth=2.5,linestyle="-", label="sine")
legend(loc='upper left')
用法2:plt.plot(x, y, color="red",linewidth=2.5, linestyle="-")
Plt.legend('图例名',loc='best',frameon=False)
用法3;显示多个图例
p1, = plt.plot([1,2,3])
p2, = plt.plot([3,2,1])
l1 = plt.legend([p2, p1], ["line 2", "line1"], loc='upper left')
· text()可以在图中的任意位置添加文字,并支持LaTex语法
· xlable(), ylable()用于添加x轴和y轴标签
· title()用于添加图的题目
plt.xlabel('Smarts') plt.ylabel('Probability')
#添加标题 plt.title('Histogram of IQ')
#添加文字 plt.text(60, .025, r'$\mu=100,\ \sigma=15$')
9:让图片能够正常显示负数和中文:
import matplotlib as mpl
mpl.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
mpl.rcParams['axes.unicode_minus']=False#用来正常显示负号
plt.plot(a,'b.',markersize=10, label=u'真'),
中文使用之前加u 如data[u’身高’]
调整子图之间的边距;
plt.subplots_adjust(left=None, bottom=None, right=None, top=None,
left = 0.125 # the left side of thesubplots of the figure
right = 0.9 # the right side of the subplots of the figure
bottom = 0.1 # the bottom of the subplots of the figure
top = 0.9 # the top of the subplots of the figure
wspace = 0.2 # the amount of width reserved for blank space between subplots,
# expressed as a fraction of the average axis width
hspace = 0.2 # the amount of height reserved for white space between subplots,
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。