matplotlib 学习笔记

本笔记从菜鸟教程网站学习而来, 仅供自己练习之用, 不具有参考和学习的作用.

In [1]:
import numpy as np
import matplotlib.pyplot as plt
In [2]:
X = np.linspace(-np.pi, np.pi, 150, endpoint=True)
sin_x, cos_x = np.sin(X), np.cos(X)
plt.plot(X, sin_x)
plt.plot(X, cos_x)
plt.show()

设置线条样式

In [3]:
plt.plot(X, sin_x, color='blue', linewidth=1.5, linestyle='-')
plt.plot(X, cos_x, color='red', linewidth=2.5, linestyle='--')
plt.show()

设置坐标轴的上下限, 数轴

In [4]:
plt.plot(X, sin_x, color='blue', linewidth=1.5, linestyle='-')
plt.plot(X, cos_x, color='red', linewidth=2.5, linestyle='--')
# -----------------------------------------------------------#
left, right = X.min() * 1.2, X.max() * 1.2
top,bottom = cos_x.max() * 1.3, cos_x.min() * 1.3

plt.xlim(left, right)                                   # x轴取值范围
plt.xticks(np.linspace(left, right, 5, endpoint=True))  # x轴上显示的数字
plt.ylim(bottom, top)
plt.yticks(np.linspace(bottom, top, 3, endpoint=True))
plt.show()

用标签替换数轴上的数字

In [5]:
plt.plot(X, sin_x, color='blue', linewidth=1.5, linestyle='-')
plt.plot(X, cos_x, color='red', linewidth=2.5, linestyle='--')
# -----------------------------------------------------------#
plt.xlim(left, right)
plt.xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi], 
           [r'$\pi$',r'$\pi/2$',r'$0$',r'$\pi/2$',r'$\pi$'])  # latex 语法
plt.ylim(bottom, top)
plt.yticks(np.linspace(bottom, top, 3 ,endpoint=True))
plt.show()

移动坐标轴

In [6]:
plt.plot(X, sin_x, color='blue', linewidth=1.5, linestyle='-')
plt.plot(X, cos_x, color='red', linewidth=2.5, linestyle='--')
plt.xlim(left, right)
plt.xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi], 
           [r'$\pi$',r'$\pi/2$',r'$0$',r'$\pi/2$',r'$\pi$']) 
plt.ylim(bottom, top)
plt.yticks(np.linspace(bottom, top, 3 ,endpoint=True))
# -----------------------------------------------------------#
axes = plt.gca()
axes.spines['right'].set_color('none')
axes.spines['top'].set_color('none')
axes.xaxis.set_ticks_position('bottom')
axes.spines['bottom'].set_position(('data',0))
axes.yaxis.set_ticks_position('left')
axes.spines['left'].set_position(('data',0))
plt.show()

添加图例

In [9]:
plt.plot(X, sin_x, color='blue', linewidth=1.5, linestyle='-', label='sin') # 传入label参数
plt.plot(X, cos_x, color='red', linewidth=2.5, linestyle='--', label='cos')
plt.xlim(left, right)
plt.xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi], 
           [r'$\pi$',r'$\pi/2$',r'$0$',r'$\pi/2$',r'$\pi$']) 
plt.ylim(bottom, top)
plt.yticks(np.linspace(bottom, top, 3 ,endpoint=True))

axes = plt.gca()
axes.spines['right'].set_color('none')
axes.spines['top'].set_color('none')
axes.xaxis.set_ticks_position('bottom')
axes.spines['bottom'].set_position(('data',0))
axes.yaxis.set_ticks_position('left')
axes.spines['left'].set_position(('data',0))
# -----------------------------------------------------------#
plt.legend(loc='upper right')
plt.show()