Python是一个非常强大的编程语言,不仅可以进行数据分析和处理,还可以用来画图。Python的图形库一般有matplotlib、seaborn、bokeh等,其中最为常用的是matplotlib。这里我们来探讨如何用Python以及其中的matplotlib库来画出复杂的图形。
在使用Python来画图前,需要先安装matplotlib和numpy这两个库。在安装完成后,我们首先需要引入这两个库:
import matplotlib.pyplot as plt
import numpy as np
接下来,我们可以用numpy库来创建一些数据,然后用这些数据来画出我们想要的复杂图像。比如下面的代码:
x = np.linspace(-np.pi,np.pi,500)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.tan(x)
上面的代码中,我们用numpy的linspace函数创建了一个长度为500的数组,元素在-π和π之间等距分布,接着我们用sin、cos、tan函数来计算这个数组所对应x的值的正弦、余弦、正切值。接下来就可以来实现画图了。下面我们先用plt.subplot()函数将画布分为三个子图:
plt.subplot(311)
plt.plot(x,y1)
plt.subplot(312)
plt.plot(x,y2)
plt.subplot(313)
plt.plot(x,y3)
其中subplot中的参数"311","312","313"分别表示3行1列的网格中的第1、2、3个。接下来我们可以设置横纵坐标的刻度,以及各个坐标轴的标签:
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],['-1','0','1'])
plt.xlabel('x')
plt.ylabel('y')
plt.title('trigonometric functions')
其中,xticks和yticks可以实现将xticks和yticks自定义为我们需要的标签。括号中第一个是标签所对应的位置,第二个则是这个标签要显示的内容。xlabel、ylabel和title分别为设置 x轴、y轴和 title 的名称。
最后,我们还可以将图形保存下来:
plt.savefig('trigonometric.png',dpi=200)
其中,savefig函数可以将图像保存,第一个参数则是保存的文件名,第二个参数是图像的分辨率。通过这些简单的代码片段,我们就可以实现画出复杂的图形了。