Python Jupyter Notebook:将两个直方图子图并排放在一个图

时间:2016-12-18 21:03:44

标签: python python-3.x matplotlib histogram

我正在使用Python(3.4)Jupyter Notebook。我在两个分开的单元格中有以下两个直方图,每个单元格都有自己的图形:

bins = np.linspace(0, 1, 40)
plt.hist(list1, bins, alpha = 0.5, color = 'r')

bins = np.linspace(0, 1, 40)
plt.hist(list2, bins, alpha = 0.5, color = 'g')

是否有可能将上述两个直方图并排放在一个图中的两个子图中?

2 个答案:

答案 0 :(得分:5)

是的,这是可能的。请参阅以下代码。

%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np

list1 = np.random.rand(10)*2.1
list2 = np.random.rand(10)*3.
bins = np.linspace(0, 1, 3)

fig, ax = plt.subplots(1,2)
ax[0].hist(list1, bins, alpha = 0.5, color = 'r')
ax[1].hist(list2, bins, alpha = 0.5, color = 'g')
plt.show()

答案 1 :(得分:4)

您可以使用matplotlib.pyplot.subplot

import matplotlib.pyplot as plt
import numpy as np

list1 = np.random.rand(10)*2.1
list2 = np.random.rand(10)*3.0

plt.subplot(1, 2, 1)  # 1 line, 2 rows, index nr 1 (first position in the subplot)
plt.hist(list1)
plt.subplot(1, 2, 2)  # 1 line, 2 rows, index nr 2 (second position in the subplot)
plt.hist(list2)
plt.show()

enter image description here