# 参数有很多,其中有个是 loc 位置 当 loc = ‘best’时,会自动找寻最佳位置 # label的选择是就近原则,如下不会打出 up,down 只会打出 li cong plt.legend(loc = 'best',labels = ['li','cong']) plt.show()
动图
1 2 3 4 5 6 7 8 9 10 11 12
import numpy as np import matplotlib.pyplot as plt import time number = np.linspace(0,5,100) y = np.sin(number) plt.plot(number,y) for i in range(200): l = plt.scatter(i, 5, s=200, lw=0, c='red', alpha=0.5) plt.pause(0.1) if'l'in globals(): l.remove() plt.show()
#接口
pyplot
pyplot是一个收集一些函数的模块,这些函数允许以函数式方式使用matplotlib。
小技巧
去掉坐标系
这两段代码效果一样。
1 2 3 4 5 6
plt.figure() plt.xticks([]) plt.yticks([]) data = np.arange(12) plt.plot(data,data*2) plt.show()
import matplotlib.pyplot as plt import numpy as np deftest(): plt.figure(figsize=(8, 6), dpi=80) plt.ion() for i in range(100): plt.cla() x = np.linspace(-np.pi + 0.1 * i, np.pi + 0.1 * i, 256, endpoint=True) y = np.cos(x) plt.plot(x,y) plt.pause(0.01) plt.ioff() plt.show() test()
让人感到奇怪的是,即便是将 ion() 和 ioff() 注释掉后,还是原来的效果。。。
真让人头大
解决中文乱码
win下的解决方案
1 2 3 4 5
import matplotlib.pyplot as plt import numpy as np plt.figure() plt.text(0.5,0.3,"李丛123") plt.show()
1 2 3 4 5 6 7 8
import matplotlib.pyplot as plt import numpy as np plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签 plt.rcParams['axes.unicode_minus']=False#用来正常显示负号 #有中文出现的情况,需要u'内容' plt.figure() plt.text(0.5,0.3,u"李丛123") plt.show()