我有一个显示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值,但这不起作用。
任何想法?
答案 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()