2016-03-29 4 views
2

У меня есть программа, которая отображает 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 мой набор значение х и mean_length мой набора у значения, но это не работает.

любые идеи?

+0

вы можете вставить полный код или большую часть кода? – Alessandro

+0

Может быть проще использовать [subplots] (http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.subplots), то есть. 'fig, axs = plt.subplots (...)' таким образом вы можете добавить график к каждой оси после. – GWW

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

спасибо! использовал цикл для построения всех моих данных на подзаголовках (площадь по отношению к длине) и использовал append для вычисления средней длины из всех 8 файлов данных. затем используют эту вторую петлю, чтобы построить свои специфические х и у координат точки на каждом графике 'mean_length = круглый (np.mean (LL), 3) plotnum = 1 для plotnum в диапазоне (1,9): PLT .subplot (2,4, plotnum) plt.plot (np.log (100), np.log (mean_length), 'ro') ' – Rcoder

Смежные вопросы