将相同的点添加到所有子图

时间:2016-03-29 13:31:48

标签: python subplot

我有一个显示8个子图的程序,所有日志日志图表都包含来自8个不同文件的不同数据。

我已将所有数据合并并计算出均值。现在,我有一个具有特定x和y坐标的点,我想在每个图上绘制。我在这方面遇到了麻烦,所有的子图都作为循环的一部分绘制,直到最后才算出平均值(一旦读完所有数据文件),所以需要找到一种方法将这一点绘制到现有的子图。

在我的循环结束时,我尝试了我认为显而易见(但效率低下)的方式来绘制这个:

if plotnum in [1,2,3,4,5,6,7,8]:
    plt.plot(np.log(100),np.log(mean_length),'ro')

其中100是我设定的x值,mean_length是我设定的y值,但这不起作用。

任何想法?

1 个答案:

答案 0 :(得分:0)

你必须循环通过你拥有的不同轴。

你没有发布你的图表生成代码,所以我会做一些:

import matplotlib.pyplot as plt
all_axes = []
for idx in range(1,10):
    ax = plt.subplot(3, 3, idx)
    ax.plot([1,2,3], [10, 30, 80])
    all_axes.append(ax)

现在我们有一堆图表,你想在每个图表中包含一个点。所以循环遍历这些轴,并添加这一点!

for ax in all_axes:
    ax.scatter([4.6], [20])

并使图表更新:

plt.draw()