Я думаю, что было бы глупо задавать этот вопрос, но я не смог найти подходящего решения моей проблемы в Google. Надеюсь, что кто-то может помочь.
Проще говоря, я хочу построить разные функции на одном и том же графике, а не на вспомогательных участках, поскольку большинство сетевых решений, которые я обнаружил, используют для этого вспомогательный участок. Моя цель - для лучшего сравнения, чтобы разные строки данных были на одном и том же рисунке, но с другим цветом и разными легендами. У меня есть 2 цифры, потому что вторая цифра - это просто нечто с той же идеей.
I попробовал с помощью следующего кода. Но подзаголовок каждый раз перезаписывался на l oop. Я не хочу стереть старую линию. Я хочу, чтобы каждый l oop обновлял рисунок 1 и рисунок 2 отдельно, не стирая предыдущие строки данных.
fig1 = plt.figure(1)
fig2 = plt.figure(2)
for diffSteps,listpair in fixed_table_plots.items():
ax1 = fig1.add_subplot(1,1,1)
ax1.scatter(listpair[0],listpair[1],s=2000,label="error_step_"+str(diffTableSteps))
ax1.legend()
plt.show()
ax2 = fig2.add_subplot(1,1,1)
accuracy_bw = [x - math.log(y,2) for x,y in zip(listpair[0],listpair[1])]
ax2.scatter(listpair[0],accuracy_bw,s=200,label="accuracy bw_step_"+str(diffTableSteps))
ax2.set_xlabel("input int bw")
ax2.set_ylabel("total bw accuracy")
ax2.legend()
plt.show()
Действительно благодарен за любую помощь!
Обновление:
for diffSteps,listpair in fixed_table_plots.items():
plt.figure(1)
ax1.scatter(listpair[0],listpair[1],s=2000,label="error_step_"+str(diffTableSteps))
ax1.legend()
plt.figure(2)
accuracy_bw = [x - math.log(y,2) for x,y in zip(listpair[0],listpair[1])]
ax2.scatter(listpair[0],accuracy_bw,s=200,label="accuracy bw_step_"+str(diffTableSteps))
ax2.set_xlabel("input int bw")
ax2.set_ylabel("total bw accuracy")
Это хорошо сработало для меня, единственное, что plt.show () не может быть вызван в середине. Есть ли способ динамически показывать графики? Также чувствует себя странно, чтобы оживить участки. Пожалуйста, дайте мне знать, если это хороший способ ...
Спасибо!