基本命令 | 说明 |
---|---|
plt.tight_layout() | 针对fig, ax = plt.subplots(1, 3) |
plt.axis(‘equal’) | 坐标轴刻度一致 |
plt.legend(loc=”) | center left/center/center right upper left/upper center/upper right lower left/lower center/lower right right/best |
cmap | colormap: plt.cm.jet |
ListedColormap
class ListedColormap(Colormap):
"""Colormap object generated from a list of colors.
...
"""
- 1
- 2
- 3
- 4
from matplotlib.colors import ListedColormap
colors = ('lightgreen', 'cyan', 'gray', 'r', 'b')
cmp = ListedColormap(colors[:np.unique(y_train)])
- 1
- 2
- 3
plt.fill_between()
我们要做出如下的效果图:
import numpy as np
import matplotlib.pyplot as plt
def main():
x = np.arange(0, 2, .01)
y1 = np.sin(2*np.pi*x)
y2 = 1.2*np.sin(4*np.pi*x)
fig, (ax1, ax2, ax3) = plt.subplots(nrows=3, ncols=1, sharex=True)
ax1.fill_between(x, 0, y1)
ax1.set_title('between 0 and '+r'$y_1=\sin(2\pi x)$')
ax2.fill_between(x, y1, 1)
ax2.set_title('between'+ r'$y_1=\sin(2\pi x)$ and 1')
ax3.fill_between(x, y1, y2)
ax3.set_title('between ' +r'$y_1=\sin(2\pi x)$'+ ' and '+r'$ y_2=1.2 \sin(4\pi x)$')
ax3.set_xlabel('x')
plt.savefig('./1.png')
plt.show()
if __name__ == '__main__':
main()
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
fill between where
import numpy as np
import matplotlib.pyplot as plt
def main():
x = np.arange(0, 2, .01)
y1 = np.sin(2*np.pi*x)
y2 = 1.2*np.sin(4*np.pi*x)
plt.figure(figsize=(6, 4.5))
plt.plot(x, y1, x, y2, 'k')
plt.fill_between(x, y1, y2, y1>=y2, facecolor='g')
# where=y1>=y2
plt.fill_between(x, y1, y2, y1<y2, facecolor='r')
plt.savefig('./2.png')
plt.show()
if __name__ == '__main__':
main()
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
plt.step() 与 plt.bar()
plt.bar(range(1, len(x)), x, alpha=.4, align=’center’, label=’individual’)
plt.step(range(1, 14), np.cumsum(x), where=’mid’, label=’cumsum’)
x = [ 4.8923083 2.46635032 1.42809973 1.01233462 0.84906459 0.60181514 0.52251546 0.08414846 0.33051429 0.29595018 0.16831254 0.21432212 0.2399553 ]
tot = sum(x)
x = [i/tol for i in x]
plt.bar(range(1, len(x)), x, alpha=.4, align='center', label='individual')
plt.step(range(1, len(x)), np.cumsum(x), where='mid', label='cumsum')
plt.legend(loc='best', frameon=False)
plt.show()
- 1
- 2
- 3
- 4
- 5
- 6
- 7