写在前面:
- import numpy as np
- import matplotlib.pylab as mp
- 因此文章中的np就代表numpy库,mp就代表pylab绘图库
一、等高线图
1、两类等高线图
- 线型:mp.coutour(x, y, z, 线的数量, colors=颜色, linewidths=线宽)
- 色带型:mp.coutourf(x, y, z, 线的数量, cmap=颜色映射)
2、添加标签
mp.clabel(cntr, inline_spacing=1, fmt=’%.1f’, fontsize=10)
一参是对象,二参是线内宽,三参是文字格式,四参文字大小
3、测试代码
import numpy as np
import matplotlib.pylab as mp
n = 1000
x, y = np.meshgrid(np.linspace(-3, 3, n),
np.linspace(-3, 3, n))
y1 = (1 - x/n) * np.random.uniform(0.5, 1.0, n)
y2 = (1 - x/n) * np.random.uniform(0.5, 1.0, n)
z = (1 - x/2 + x**5 + y**3) * \
np.exp(-x**2 - y**2)
mp.figure("Contour", facecolor="lightgray")
mp.title("Contour", fontsize=20)
mp.xlabel('X', fontsize=14)
mp.ylabel('Y', fontsize=14)
mp.tick_params(labelsize=10)
mp.grid(linestyle=":")
cntr = mp.contourf(x, y, z, 8, cmap='jet')
mp.show()
4、测试效果
1)线型:
2)色带型:
二、热力图
1、格式
mp.imshow(矩阵, cmap=颜色映射, origin=纵轴方向)
2、测试代码
import numpy as np
import matplotlib.pylab as mp
n = 1000
x, y = np.meshgrid(np.linspace(-3, 3, n),
np.linspace(-3, 3, n))
y1 = (1 - x/n) * np.random.uniform(0.5, 1.0, n)
y2 = (1 - x/n) * np.random.uniform(0.5, 1.0, n)
z = (1 - x/2 + x**5 + y**3) * \
np.exp(-x**2 - y**2)
mp.figure("Hot", facecolor="lightgray")
mp.title("Hot", fontsize=20)
mp.xlabel('X', fontsize=14)
mp.ylabel('Y', fontsize=14)
mp.tick_params(labelsize=10)
mp.grid(linestyle=":")
cntr = mp.imshow(z, cmap='jet')
mp.show()
3、测试效果:
三、饼图
1、格式
mp.pie(值的列表,
间隙列表,
标签列表,
颜色列表,
格式串,
shadow=是否阴影,
startangle=起始角度)
2、测试代码
import matplotlib.pylab as mp
mp.figure("Pie", facecolor="lightgray")
mp.title("Pie", fontsize=20)
mp.pie(
[17, 29, 11, 21, 26],
[0.01, 0.01, 0.01, 0.01, 0.01],
['PHP', 'Python', 'Go', 'C++', 'Java'],
['blue', 'yellow', 'red', 'green', 'violet'],
'%d%%',
shadow=True,
startangle=90
)
mp.axis('equal')
mp.show()
3、测试效果:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)