我在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轴上,以及其他挣扎。
从未参加任何策划课程,谷歌也没有帮助:/
提前致谢!
答案 0 :(得分:1)
始终查找the matplotlib gallery。您可以找到所需的绘图类型以及可以使用的代码。
答案 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()