matplotlib绘图技巧详解(三)(一)

简介: matplotlib绘图技巧详解(三)(一)

1、绘图区域设置:为figure指定不同的axes区域

 我们可以在一张图上绘制多个图形,当然,我们也可以将不同的图形绘制到多个不同的区域当中。共有如下几3种方式来实现绘图区域的设置。


通过figure对象调用add_subplot方法。

通过plt的subplot方法。

通过plt的subplots方法。

1)figure对象的add_subplot方法使用说明

 首先需要显示的创建一个figure对象,通过调用figure对象的add_subplot方法,来分配不同的子绘图区域。通俗的来说,就是相当于得到一个"画板对象",然后在这个画板上,分配出不同的子绘图区域,每个区域可以绘制不同的图形。

 add_subplot指定绘图布局,需要指定子绘图区域的行数、列数和当前要绘制的子区域。

 add_subplot方法会返回每个子绘图区域的对象,调用该对象即可实现在子区域的图形绘制。

 在绘制图形时,总是需要创建figure对象。如果没有显式创建,则plt会隐式创建一个figure对象。在绘制图形时,既可以使用plt来绘制,也可以使用子绘图对象来绘制。“如果使用plt对象绘制,则总是在最后创建的绘图区域上进行绘制。”


操作如下:


figure = plt.figure()
axes1 = figure.add_subplot(2, 1, 1, facecolor="#eeeeee")
axes2 = figure.add_subplot(2, 1, 2)
plt.plot([1,2],[4,8])


结果如下:

image.png


① figure对象的add_subplot方法常用参数说明

add_subplot指定绘图布局:既可以使用三个参数分开传递,也可以使用一个参数整体传递。

使用facecolor设置绘图区域的背景色。

plt.subplots_adjust方法可以用来调整子图与子图之间的距离。(left,right,top,bottom,wspace,hspace)

② add_subplot指定绘图布局与facecolor设置绘图区域的背景色

figure = plt.figure()
axes1 = figure.add_subplot(2, 1, 1, facecolor="#eeeeee")
axes1.plot([1,2],[4,8])
axes2 = figure.add_subplot("212")
axes2.plot([1,8],[4,2])


结果如下:

image.png


③ plt.subplots_adjust方法调整子图与子图之间的距离

figure = plt.figure()
axes1 = figure.add_subplot("221",facecolor="#eeeeee")
axes1.plot([1,2],[4,8])
axes2 = figure.add_subplot("222")
axes2.plot([1,8],[4,2])
axes3 = figure.add_subplot("223")
axes3.plot([1,2],[4,8])
axes4 = figure.add_subplot("224",facecolor="#eeeeee")
axes4.plot([1,8],[4,2])
# hspace和wspace参数最有用,只讲述这个
plt.subplots_adjust(hspace=1,wspace=0.5)


结果如下:

image.png


3)plt的subplot方法的使用说明

 plt.subplot方法,由于plt可以隐式的创建一个figure对象,因此使用这个方法,来指定绘图布局,不需要显示的创建figure对象。因为plt.subplot方法直接可以返回子绘图区域的axes对象。

 实际上,这种创建子绘图区域的方式,底层也是通过第一种方式实现的。

 因此,使用这种方式和add_subplot的使用方式,一摸一样。


① 演示如下

plt.subplot("121")
plt.plot([1, 2, 3], "g--d")
plt.subplot(1, 2, 2)
plt.plot([2, 4, 1], "r-.o")
plt.subplots_adjust(wspace=0.5)


结果如下:


image.png

4)plt的subplots方法的使用说明

 通过plt的subplots方法创建子绘图区域,该方法返回一个元组。如果是一个子绘图对象,那么返回的是一个axes坐标系对象。如果是多个子绘图对象,则返回一个ndarray数组。

 可以通过sharex与sharey来指定是否共享x轴与y轴。


操作如下:


figure,axes = plt.subplots(1,1)
display(type(figure))
display(type(axes))
figure,axes = plt.subplots(2,2)
display(type(figure))
display(type(axes))


结果如下:

image.png


① 不使用sharex与sharey共享x轴与y轴

figure,axes = plt.subplots(2,2)
axes[0,0].plot([1,4])
axes[0,1].plot([6,2])
axes[1,0].plot([3,7])
axes[1,1].plot([8,4])


结果如下:

image.png


② 使用sharex与sharey共享x轴与y轴

figure,axes = plt.subplots(2,2,sharex=True,sharey=True)
axes[0,0].plot([1,4])
axes[0,1].plot([6,2])
axes[1,0].plot([3,7])
axes[1,1].plot([8,4])


结果如下:

image.png

相关文章
|
数据可视化 数据挖掘 大数据
【数据分析与可视化】Matplotlib绘图基础语法讲解(图文解释 超详细)
【数据分析与可视化】Matplotlib绘图基础语法讲解(图文解释 超详细)
447 0
|
资源调度 自然语言处理 数据可视化
【数据分析与可视化】Matplotlib中十大绘图模型的讲解及实现(图文解释 附源码)
【数据分析与可视化】Matplotlib中十大绘图模型的讲解及实现(图文解释 附源码)
294 1
|
Python
Matplotlib 绘图标记
Matplotlib 绘图标记
215 2
|
Python
Matplotlib 教程 之 Matplotlib 绘图标记 9
在本教程中,我们将探讨如何使用 Matplotlib 的 `plot()` 方法中的 `marker` 参数来自定义图表标记。您可以选择不同的线类型(如实线 `'-'`、虚线 `':'` 等),以及颜色类型(如红色 `'r'`、绿色 `'g'` 等)。同时,通过调整 `markersize (ms)`、`markerfacecolor (mfc)` 和 `markeredgecolor (mec)` 参数,可以定制标记的大小和颜色。
154 1
|
Python
Matplotlib 教程 之 Matplotlib 绘图标记 3
这段Matplotlib教程展示了如何通过`plot()`方法的`marker`参数来自定义图表标记,为数据点添加独特的视觉风格。例如,通过设置`marker = '*'`,可以使每个数据点显示为星形标记。这在需要对坐标轴进行特殊标注时尤为有用。下面的示例代码生成了一个带有星形标记的简单折线图。
122 2
|
搜索推荐 数据可视化 Python
Matplotlib 教程 之 Matplotlib 绘图标记 4
本教程介绍如何使用 Matplotlib 的 `plot()` 方法中的 `marker` 参数来自定义图表标记,使你的数据可视化更加直观和个性化。通过实例演示了如何设置下箭头作为数据点标记。
101 1
|
Python
​16个matplotlib绘图实用小技巧
​16个matplotlib绘图实用小技巧
150 1
Matplotlib.pyplot.plot 绘图
Matplotlib.pyplot.plot 绘图
107 1
|
Python
Matplotlib 教程 之 Matplotlib 绘图标记 8
在 Matplotlib 中,可以通过 `plot()` 方法的 `marker` 参数自定义图表标记。此外,还可以设置线类型(如 `'-'` 实线、`':'` 虚线等)和颜色(如 `'r'` 红色、`'g'` 绿色等)。使用 `markersize` (`ms`) 定义大小,`markerfacecolor` (`mfc`) 和 `markeredgecolor` (`mec`) 分别定义标记的内部和边框颜色。
178 0
|
数据可视化 Python
Matplotlib 教程 之 Matplotlib 绘图标记 6
在本教程中,我们将探讨如何利用 Matplotlib 的 `plot()` 方法中的 `marker` 参数来自定义图表标记,以增强数据可视化效果。此外,还介绍了线类型(如实线 `'-'`、虚线 `':'` 等)、颜色类型(如红色 `'r'`、绿色 `'g'` 等)以及如何通过 `markersize` (`ms`)、`markerfacecolor` (`mfc`) 和 `markeredgecolor` (`mec`) 来调整标记的大小和颜色。通过一个示例展示了如何设置标记大小。
174 0