本章节意在简单的介绍下Matplotlib中的一点基础性概念和展示下两种使用matplotlib绘图的方式.
一.Matplotlib中的基础概念
在matplotlib中的基础概念:
figure: 可以理解为整个画板(蓝色区域),总而言之所有的图像都是依附于画板上的.如图所示,整张图片就相当于一个画板.
axes: 坐标图(白色区域),一个figure可以包含多个axes,但axes必须被承载于figure上.同时,一个axes又包含其他很多元素,比如坐标轴(axis),图例(legend),标注(annotate)等等,这些属性以后会详细介绍.
axis: 坐标轴,具体一点就是X轴和Y轴,其实是包含于axes之中的,这里提出来是避免和axes在概念上混淆
附上上图的源码:
import matplotlib.pyplot as plt
import numpy as np
import matplotlib as mpl
mpl.rcParams['axes.unicode_minus']=False
x=np.linspace(0.1,5,500)
y1=np.sin(x)
y2=np.cos(x)
fig=plt.figure(facecolor='#2FF0FF')
ax1=fig.add_axes([0.15,0.15,0.3,0.3])
ax1.plot(x,y1)
ax1.set_xlabel('Axes1的X-轴',color='w',size=20)
ax1.set_ylabel('Y-轴',rotation='0',color='w',size=20)
ax1.text(1.5,0,'Axes1',size=30)
ax2=fig.add_axes([0.55,0.3,0.4,0.4])
ax2.plot(x,y2)
ax2.set_xlabel('Axes2的X-轴',color='w',size=20)
ax2.set_ylabel('Y-轴',rotation='0',color='w',size=20)
ax2.text(1.5,0,'Axes2',size=30)
fig.text(0.02,0.9,'Figure',size=30,color='r')
fig.suptitle('Matplotlib结构图',size=25,color='w')
plt.show()
二.两种使用matplotlib的方式
matplotlib有两种使用方式,一种是偏向于MATLAB软件的命令风格,另一种采用了Python面向对象的方式(Object-Oriented)
MATLAB软件的命令风格的方式的优点是简单易用,但灵活性上不如面向对象的方式;matplotlib.pyplot模块对该使用方式进行支持,所有绘图函数都在该模块中.
用一个简单的例子展示下这种使用方式:
源码如下:
x=np.arange(10)
plt.plot(x)
plt.xlim(0,8)
plt.xlabel('x轴',size=20)
plt.ylim(0,8)
plt.ylabel('y轴',size=20)
plt.title('简单的线图',size=30)
plt.show()
另一种面向对象的方式相对来说会更复杂一点,但灵活性也更好.本次也就用个例子展示下,下一篇再详叙.
源码如下:
x=np.linspace(0.1,5,1000)
y=x**3
ax=plt.subplot()
ax.plot(x,y)
ax.set_xlabel('X的值域',size=20,color='r')
ax.set_ylabel('X的立方',size=20,color='r')
plt.show()