给定4个函数,如何在Python中创建2x2直方图?

时间:2015-05-23 22:50:54

标签: python python-2.7 csv python-3.x histogram

我在Python中制作2x2直方图时遇到问题,对于每个子图,我都有一个特定函数的输出,总共有4个函数。

这是我当前的代码,它不返回第一个函数的任何内容:

figure1 = pl.figure(1)
pl.subplot(221)
data = []
for tuple_1 in ratio_late(statistics, companies):
    data.append(tuple_1[1])

plt.hist(ratio_late)

pyplot.title("Top 10")

pyplot.xlabel("Companies")

# Would like entries with text rotated 45 degrees

pyplot.ylabel("Minutes")

pyplot.show()

我不知道如何使数据在y轴和x轴上,以及其他挣扎。

从未参加任何策划课程,谷歌也没有帮助:/

提前致谢!

2 个答案:

答案 0 :(得分:1)

始终查找the matplotlib gallery。您可以找到所需的绘图类型以及可以使用的代码。

EG。这是a histogram demohow to stack 4 plots into one

答案 1 :(得分:0)

如果您使用的是pyplot

  

matplotlib.pyplot是有状态的,因为它可以跟踪当前的情况   图和绘图区域,以及绘图功能   当前轴

(来自beginners tutorial)。这意味着每次创建子图时,它都将成为当前的axis。所以:

import matplotlib.pyplot as plt
data = [[1,2,3,4,5], [5,4,3,2,1], [1,1,3,3,1], [5,1,5,1,5]]
# 2x2, first axis
plt.subplot(221)
plt.plot(data[0])
# 2x2, second axis
plt.subplot(222)
plt.plot(data[1])
# 2x2, third axis
plt.subplot(223)
plt.plot(data[2])
# 2x2, fourth axis
plt.subplot(224)
plt.plot(data[3])

plt.show()
plt.close()

enter image description here