以前学习了matplotlib的一些基本画图方法(查看上一节),此次主要是学习在图中加一些文字和其其它有趣的东西。html
先来个最简单的图api
from matplotlib import pyplot as plt import numpy as np x = np.linspace(-2, 2, 50) y = x**2 plt.xlim((-3,3))#设置x坐标范围 plt.ylim((0,5))#设置y坐标范围 plt.plot(x,y) plt.show()
接下来加一下文字描述,第一种方法,plt.text()学习
from matplotlib import pyplot as plt import numpy as np x = np.linspace(-2, 2, 50) y = x**2 plt.xlim((-3,3))#设置x坐标范围 plt.ylim((0,5))#设置y坐标范围 plt.plot(x,y) plt.text( -2,#文字x坐标 2,#文字y坐标 'this is simple text',#内容 fontsize=14#文字大小 ) plt.show()
这里咱们还能够用$$将文字包住能够让文字字体更加好看,同时也能够实现一些特殊字符的表达,好比一些经常使用的数学符号,这对写论文有好处字体
from matplotlib import pyplot as plt import numpy as np x = np.linspace(-2, 2, 50) y = x**2 plt.xlim((-3,3))#设置x坐标范围 plt.ylim((0,5))#设置y坐标范围 plt.plot(x,y) plt.text( -2,#文字x坐标 2,#文字y坐标 'this is simple text',#内容 fontsize=14#文字大小 ) plt.text( -2,#文字x坐标 4,#文字y坐标 r'$this\ is\ simple\ text\ \alpha_i\ \mu_i$',#用$包住空格须要用转义字符转义,包括特殊字符alpha等也须要,alpha_i表示alpha下标i fontsize=14#文字大小 ) plt.show()
接下来,第二种文字描述,这种要高级一点,用plt.annotate()实现,好比我要在曲线上x=1.5的地方加this
而且向右下偏移一些位置,加上一个曲线箭头指向x=1.5的点spa
from matplotlib import pyplot as plt import numpy as np x = np.linspace(-2, 2, 50) y = x**2 plt.xlim((-3,3))#设置x坐标范围 plt.ylim((0,5))#设置y坐标范围 plt.plot(x,y) plt.text( -2,#文字x坐标 2,#文字y坐标 'this is simple text',#内容 fontsize=14#文字大小 ) plt.text( -2,#文字x坐标 4,#文字y坐标 r'$this\ is\ simple\ text\ \alpha_i\ \mu_i$',#内容 fontsize=14#文字大小 ) x0 = 1.5 y0 = x0**2 plt.scatter(x0, y0, s=50, color='r') plt.plot([x0, x0], [0, y0], linestyle='--', linewidth=2.0) plt.annotate(r'$x**2=%s$' % y0,#内容 xy=(x0, y0),#文字坐标 xycoords='data',#文字坐标以data也就是x,y的值为基准 xytext=(+20,-30),#文字相对于xy坐标的偏移量 textcoords='offset points',#偏移基准 arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=.2')#画一个曲线箭头指向xy坐标 ) plt.show()
效果如上图,此方法比较复杂,详细参数说明能够参考官方api,好了,到这里就大功告成!code
接下来准备学习一些经常使用类型的图了。htm