#python #numpy #csv #matplotlib
#python #numpy #csv #matplotlib
Вопрос:
Я пытаюсь построить линейные линии наилучшего соответствия для трех графиков на одном графике с их соответствующими наклонами и пересечениями; Я не знаю, как это сделать, чтобы все они были на одном графике вдоль моих данных. Кто-нибудь знает, как это сделать? Я прикрепил изображение того, как выглядит график ниже.
CSVfile_1 = 'Gas01_Fast.csv'
V_1, T_1, P_1, t_1 = getVTPt(filename='Gas01_Fast.csv')
CSVfile_2 = 'Gas02_Fast.csv'
V_2, T_2, P_2, t_2 = getVTPt(filename='Gas02_Fast.csv')
CSVfile_3 = 'Gas03_Fast.csv'
V_3, T_3, P_3, t_3 = getVTPt(filename='Gas03_Fast.csv')
fig, ax = plt.subplots()
ax.set_xlabel("Log(Volume)")
ax.set_ylabel("Log(Pressure)")
ax.set_title("Log(Pressure) vs Log(Volume)")
ax.errorbar(x=np.log10(V_1),y=np.log10(P_1),xerr=0,yerr=0,fmt='ro', ms=3)
ax.errorbar(x=np.log10(V_2),y=np.log10(P_2),xerr=0,yerr=0, fmt='bo', ms=3)
ax.errorbar(x=np.log10(V_3),y=np.log10(P_3),xerr=0,yerr=0, fmt='go', ms=3)
plt.legend(["Gas01_Fast.csv", "Gas02_Fast.csv","Gas03_Fast.csv"])
plt.show()
Ответ №1:
Вам нужно указать xerr и yerr, которые отличаются от 0. Они указывают, какой длины вы хотите, чтобы размер полосы ошибок вдоль осей x и y был.
Вам также не нужно использовать подзаголовки и ax, а скорее вы можете вызвать errorbar непосредственно на plt, как в примере здесь:
https://matplotlib.org/3.3.2/gallery/lines_bars_and_markers/errorbar_limits_simple.html