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

Add the same point to all subplots

我有一个显示 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 值,但这不起作用。

有什么想法吗?

您必须遍历您拥有的不同轴。

你没有post你的图表生成代码,所以我会补上一些:

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()