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

  统计/机器学习 数据可视化 Python    浏览次数:4608        分享
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


  相关讨论

画图的时候RuntimeError: Invalid DISPLAY variable

matplotlib画图怎么确保横坐标和纵坐标的单位长度一致?

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

matplotlib plt.hist画直方图,怎么改变直方之间分界线的颜色?

matplotlib画双y轴时,怎么隐藏右y轴的坐标网格线?

matplotlib画三维散点图?

matplotlib.pyplot画图怎么添加横轴,纵轴的名字?

python画散点图的时候如何在右侧显示光谱?

python怎么画excel里那种双y轴的图?

怎么用Python画这种温度分布图

  随便看看

plt.scatter plot怎么让不同的类别有不同的颜色

随机森林(random forest)和支持向量机(SVM)各有什么优劣

线性回归或者逻辑回归中常提到的AIC和BIC是什么意思?

KNN中K值的选择

非方阵的逆是什么