plt.subplot怎么设置才能每行图的个数不一样?

  统计/机器学习 数据可视化 Python    浏览次数:1317        分享
0

plt.subplot(m, n, i)是画出m乘n个子图,每行都是n个图。

请问怎么设置才能使得每行图不一样多?

比如第一行4个图,第二行两个一样长的长图,第三行又是4个图。

 

robin_he   2019-06-18 15:11



   1个回答 
5

用GridSpec可以实现这个功能,下面就是你要的这种情况

import matplotlib.pyplot as plt
import numpy as np
# 初始化x和y
x = np.linspace(-5, 5, 100)
y = np.sin(x)
# 生成格子,2行4列
grid = plt.GridSpec(2, 4, wspace=0.4, hspace=0.3)
# 第一行的图,每图占一列
plt.subplot(grid[0, 0])
plt.plot(x, y)
plt.subplot(grid[0, 1])
plt.plot(x, y)
plt.subplot(grid[0, 2])
plt.plot(x, y)
plt.subplot(grid[0, 3])
plt.plot(x, y)
# 第二行的图,每图占两列
plt.subplot(grid[1, :2])
plt.plot(x, y)
plt.subplot(grid[1, 2:])
plt.plot(x, y)

plt.show()

效果如下:


SofaSofa数据科学社区DS面试题库 DS面经

strong.man   2019-07-17 15:11

谢谢大神! - robin_he   2019-07-29 13:23


  相关主题

python matplotlib画图中怎么显示latex数学公式?   1回答

plt.plot作图,隐藏坐标轴   1回答

用matplotlib.pyplot作图时,调整标题中文字的大小   1回答

matplotlib怎样让grid网格线处于图像下层?   1回答

怎么给plt.subplot加一个主标题?   1回答

如何用matplotlib画出坐标与函数点有连线的散点图?   2回答

matplotlib.pyplot做折线图的时候,显示为虚线,或者点划线?   2回答

matplotlib一个画板上多个图叠加,如何决定图层上下?   1回答

国内有没有比较好用的数据采集平台?   0回答

python直方图y轴显示占比,而不是绝对数值   1回答

如何调节seaborn里字体大小?   1回答

%matplotlib inline什么意思?   2回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!