python - 一张图片上的多个图表(python)

标签 python python-2.7 matplotlib graph

我的 python 代码有问题。我想在一张图片上制作多个图表,但顶行有 2 个图表,底行只有 1 个图表,但底部的图表应该更宽(两个顶部图表的宽度)。这是我的代码:

import matplotlib.pyplot as plt
from matplotlib import cm
from matplotlib.ticker import AutoMinorLocator
import numpy as np
import os
from matplotlib.image import NonUniformImage
from matplotlib.ticker import NullFormatter  


plt.figure(1)

#1
plt.subplot(221)
plt.title('linear')

#2
plt.subplot(222)
plt.title('log')

#3
plt.subplot(224)
plt.title('symlog')


plt.gca().yaxis.set_minor_formatter(NullFormatter())
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.3,
                    wspace=0.35)
plt.show()

如果我更改第三张图,例如plt.subplot(223) 它只是将其从左向右移动。我怎样才能让它变宽并把它放在两个地方?

最佳答案

使用subplot2grid()

import matplotlib.pyplot as plt
from matplotlib import cm
from matplotlib.ticker import AutoMinorLocator
import numpy as np
import os
from matplotlib.image import NonUniformImage
from matplotlib.ticker import NullFormatter  


plt.figure(1)

#1
plt.subplot2grid((2,2), (0,0))
plt.title('linear')

#2
plt.subplot2grid((2,2), (0,1))
plt.title('log')

#3
plt.subplot2grid((2,2), (1,0), colspan = 2)
plt.title('symlog')


plt.gca().yaxis.set_minor_formatter(NullFormatter())
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.3,
                    wspace=0.35)
plt.show()

enter image description here

关于python - 一张图片上的多个图表(python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46441707/

相关文章:

python - Pyplot 如何绘制数学艺术图

Python multiprocessing+savefig 导致报错或系统死机

text - 在 python 中查找许多元素中的第一个 - text.find(a , b , c)

python - 导入错误 : No module named 'requests'

python - 如何使用 python 2.7 导出带标题的 CSV 文件

Python。如何从队列/主题 ActiveMQ 中删除任何消息

python - PySpark 按值分解键并保留 LDA 模型的重复项

python - 提取多个 URL - Python

python - 您认为您了解 Python RE 吗?这是一个挑战

python - 使用样式表时自定义字体