python中ma.masked_where的用法和legend的用法

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(0, 2*np.pi, 0.02)
y = np.sin(x)
y1 = np.sin(2*x)
y2 = np.sin(3*x)
ym1 = np.ma.masked_where(y1 > 0.5, y1)
ym2 = np.ma.masked_where(y2 < -0.5, y2)

lines = plt.plot(x, y, x, ym1, x, ym2, 'o')
plt.setp(lines[0], linewidth=4)
plt.setp(lines[1], linewidth=2)
plt.setp(lines[2], markersize=10)

plt.legend(('No mask', 'Masked if > 0.5', 'Masked if < -0.5'),
           loc='upper right')
plt.title('Masked line demo')
plt.show()
ym1 = np.ma.masked_where(y1 > 0.5, y1)这句的意思是:ym1是所有y1值小于0.5的y1的集合
ym2 = np.ma.masked_where(y2 < -0.5, y2)这句的意思是:ym2是所有y2值大于﹣0.5的y2的集合

lines = plt.plot(x, y, x, ym1, x, ym2, 'o')和plt.legend(('No mask', 'Masked if > 0.5', 'Masked if < -0.5'),loc='upper right')配合使用可以给图标注释
posted @ 2020-06-05 18:38  青女素娥  阅读(2173)  评论(0编辑  收藏  举报