今天打算通过绘制正弦和余弦函数,从默认的设置开始,一步一步地调整改进,让它变得好看,变成我们初高中学习过的图象那样。通过这个过程来学习如何进行对图表的一些元素的进行调整。
01. 简单绘图
matplotlib有一套允许定制各种属性的默认设置。你可以几乎控制matplotlib中的每一个默认属性:图像大小,每英寸点数,线宽,色彩和样式,子图(axes),坐标轴和网格属性,文字和字体属性,等等。
安装
pip install matplotlib
虽然matplotlib的默认设置在大多数情况下相当好,你却可能想要在一些特别的情形下更改一些属性。
from pylab import *x = np.linspace(-np.pi, np.pi, 256,endpoint=True)C,S = np.cos(x), np.sin(x)plot(x,C)plot(x,S)show()
show image
02. 设置基本元素
这边的基本元素主要有几下几点:
线的颜色,粗细,和线型 刻度和标签 还有图例
代码比较简单,基本上在我的第一讲内容里都讲过了。
import numpy as npfrom matplotlib import pyplot as pltplt.figure(figsize=(10,6), dpi=80)x = np.linspace(-np.pi, np.pi, 256,endpoint=True)C,S = np.cos(x), np.sin(x)# 设置线的颜色,粗细,和线型plt.plot(x, C, color="blue", linewidth=2.5, linestyle="-", label=r'$sin(x)$')plt.plot(x, S, color="red", linewidth=2.5, linestyle="-", label=r'$cos(x)$')# 如果觉得线条离边界太近了,可以加大距离plt.xlim(x.min()*1.2, x.max()*1.2)plt.ylim(C.min()*1.2, C.max()*1.2)# 当前的刻度并不清晰,需要重新设定,并加上更直观的标签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.yticks([-1,0,1], [r'$-1$', r'$0$', r'$1$'])# 添加图例plt.legend()plt.show()
show image
03. 移动轴线
还记得我们在初高中学习的三角函数图象,可不是这样,它应该是有四个象限的。而这里却是一个四四方方的图表。
所以接下来,我们要做的就是移动轴线,让它变成我们熟悉的样子。
我们只需要两轴线(x和y轴),所以我们需要将顶部和右边的轴线给隐藏起来(颜色设置为None即可)。
# plt.gca(),全称是get current axisax = plt.gca()ax.spines['right'].set_color('none')ax.spines['top'].set_color('none')# 由于我们移动的是左边和底部的轴,所以不用设置这两个也可以ax.xaxis.set_ticks_position('bottom')ax.yaxis.set_ticks_position('left')# 指定data类型,就是移动到指定数值ax.spines['bottom'].set_position(('data',0))ax.spines['left'].set_position(('data',0))
新闻热点
疑难解答