开发者学堂课程【Python 数据可视化库 Matplotlib 快速入门:创建多个绘图区】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/606/detail/8839
创建多个绘图区
内容介绍
一、面向对象的画图方法介绍
二、绘制图像
一、多个坐标系显示-plt.subplots(面向对象的画图方法)
如果我们想要将上海和北京的天气图显示在同一个图的不同坐标系当中.
可以通过 subplots 函数实现(旧的版本中有 subplot,使用起来不方便),推荐 subplots 函数,
●matplotlib. pyplot.subplots(nrows=1, ncols=1, **fig_kw) 创建一个带有多个 axes(坐标系/绘图区)的图
Parameters:
nrows, ncols : int, optional, default: 1, Number of rows/columns of the subplot grid. **fig_ kw : All additional keyword arguments are passed to the figure() call.
Returns:
fig :图对象
ax :
设置标题等方法不同:
set_ xticks
set_ yticks
set_ xlabel
set_ ylabel
关于 axes 子坐标系的更多方法:
参考
https://matplotlib. org/api/axes. api.html#matplotlib.axes.Axes
●注意: plt.函数名()相当于面向过程的画图方法,axes.set 方法名()相当于面向对象的画图方法。
二、绘制图像
#
需求:再添加一个城市的温度变化
#收集到北京当天温度变化情况,温度在1度到3度。
#1、准备数据 x y
х = range(60)
y_ shanghai =[random. uniform(15, 18) for i in x]
y_ beijing =[random. uniform(1, 3) for i in x]
#
2、创建画布
# plt. figure(figsize=(20, 8), dpi=80)
figure, axes = plt. subplots(nrows=l, ncols=2, figize=(20, 8), dpi=80)
#
3、绘制图像
plt.plot(x, y_ shanghai, color="r", linestyle="-.", label="上海")
plt.plot(x, y_ beijing, color="b", label= "北京")
#显示图例
axes[0].legend( )
axes[1].legend( )
#修改 x、y 刻度
#准备 x 的刻度说明
x_ label = ("11点{}分
".format(i) for i in x]
axes[0].set_ xticks(x[::5])
axes[0].set_ xticklabels( x_ label)
axes[0].set_yticks (range(0, 40, 5))
axes[1].set_ xticks(x[::5])
axes[1].set_ xticklabels( x_ label)
axes[1].set_yticks (range(0, 40, 5))
#添加网格显示
axes[0] .grid(linestyle="--", alpha=0.5)
axes[1] .grid(linestyle="--", alpha=0.5)
#添加描述信息
axes[0].set_ xlabel("时间变化" )
axes[0].set_ylabel("温度变化" )
axes[0].set_ title("上海11点到12点每分钟的温度变化状况" )
axes[1].set_ xlabel( "时间变化" )
axes[1].set_ ylabel( "温度变化" )
axes[1].set_ title("北京11点到12点每分钟的温度变化状况" )
# 4、显示图
plt.show( )
注意:set_xticklabels 加字符串用来说明刻度