python - 在 Python 中制作奇数个子图
问题描述
我对 Python 很陌生,我想在一个图中绘制 13 个不同的图形。为了很好地做到这一点,我想在 6x2 网格中绘制前 12 个图形(这很好用),然后在其下方绘制第 13 个图形;与其他图形大小相同并居中,或大于其余图形,使其宽度等于其他图形宽度的两倍并且所有边缘对齐。使用 指定这种轴的最佳方法是subplots
什么?(到目前为止,我刚刚使用过nrows=6, ncols=2
,但我认为这样的东西不适用于要绘制的奇数个图形。)到目前为止,我绘制前 12 个图的代码看起来像这样(使用简单的测试数据):
fig, axes = plt.subplots(nrows=6, ncols=2, figsize=(45,10))
for ax in axes.flat:
ax.plot([1,2,3,4])
fig.subplots_adjust(right=0.5)
如何在其他数字下方添加第 13 个数字?
解决方案
您可以使用GridSpec(链接到文档)来生成灵活的轴布局。
以下代码创建所需的布局并将所有Axes
对象放在列表中以便于访问。
gs00 = matplotlib.gridspec.GridSpec(7, 2)
fig = plt.figure()
axs = []
for i in range(6):
for j in range(2):
ax = fig.add_subplot(gs00[i,j])
axs.append(ax)
ax = fig.add_subplot(gs00[6,:])
axs.append(ax)
推荐阅读
- spring - 如何围绕休息调用编写 Resilience4j CircuitBreaker 包装器
- c# - 在通知需要确认电子邮件地址之前验证登录凭据
- java - OSGi:BND 工具无法 @Reference 仅特定组件
- android - android 工具的示例文本未显示在布局预览中
- angular - 在 Angular 中连接 WebSocket
- c# - foreach 循环中的 C# 奇怪行为
- swift - 尝试在 SwiftUI 中实现类似列表的 View 类时使用类型泛型
- javascript - 选中单选按钮时如何公开表单?
- c++ - 请解释在 1...N 中查找缺失数字的过程
- javascript - 检测用户是否离开标签,Vuejs