Matplotlib基础
颜色代码:#087E8B、莫兰迪色系
绘图方式1
import matplotlib.pyplot as plt
import numpy as npx = np.linspace(-3, 3, 50)
y1 = 2*x+1
y2 = x**2plt.figure()
# plt.subplot(121)
plt.plot(x, y1, label='up') # label is with legend
plt.plot(x, y2, label='down')# 图例
plt.legend(loc='best') # loc='upper right'... or loc=2
# l1, = plt.plot(x, y1, label='up')
# l2, = plt.plot(x, y2, label='down')
# plt.legend(handles=[l1, l2, ], labels=['a', 'b'], loc='best')# 坐标与刻度设置
plt.xlim((-1, 1))
plt.ylim((0, 5))
plt.xlabel('x')
plt.ylabel('y')
new_ticks = np.linspace(-3, 3, 9)
# plt.xticks()
plt.xticks(new_ticks)
# plt.yticks([0, 1, 2, 3, 4], [r'$really\ bad$', r'$bad\ \alpha$', r'$normal$', r'$good$', r'$really good$'])# 边框设置
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
ax.spines['bottom'].set_position(('data', 0))
ax.spines['left'].set_position(('data', 0))
# set no xticks
# ax.set_xticks(())# 标注
x0 = 1
y0 = 2*x0 + 1
plt.scatter(x0, y0, s=50, color='b')
plt.plot([x0, x0], [y0, 0], 'k--', lw=2.5) # linewith
plt.title(label='title')
# annotation
plt.annotate(r'$2x+1=%s$' % y0, xy=(x0, y0), xycoords='data', xytext=(+50, -50), textcoords='offset points',fontsize=16, arrowprops=dict(arrowstyle='->', connectionstyle='arc3, rad=0.2'))
# text
plt.text(-3, 1.5, r'$Some\ text: \mu\ \sigma_i$', fontdict={'size': 10, 'color': 'red'})plt.show()# 显示图像
# imshow后必须跟show,如果有figure、subplot则不必
plt.figure(2)
f = plt.imread('F:\\Program\\ResNeXt.pytorch-master\\ResNeXt_Structure.png')
plt.imshow(f)
plt.axis('off')
plt.show()
绘图方式2
fig, ax = plt.subplots()
交互和阻塞模式
# 同时显示多张图
# plt.show()默认阻塞模式,程序运行到show()就会停滞,一直显示这一张图片;plt.ion()可以开启交互模式(ion = interactive mode on),同时显示多张图片
plt.ion()
pass
plt.ioff()
# 要想显示,必须在ioff之后加上show,不然图像会一闪而过
plt.show()
3D图像
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = Axes3D(fig)
X = np.arange(-4, 4, 0.25)
Y = np.arange(-4, 4, 0.25)
X, Y = np.meshgrid(X, Y)
R = np.sqrt(X**2 + Y**2)
Z = np.sin(R)ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=plt.get_cmap('rainbow'))
ax.contourf(X, Y, Z, zdir='z', offset=-2, cmap='rainbow')
ax.set_zlim(-2, 2)
plt.show()
plt.hist 直方图
plt.hist
plt.scatter 散点图
X = np.random.normal(0, 1, 512)
Y = np.random.normal(0, 1, 512)
T = np.arctan2(Y, X)
plt.scatter(X, Y, c=T, alpha=0.5)
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
