Создайте 2 линейных графика на одном рисунке с общим диапазоном y Python - PullRequest
1 голос
/ 05 августа 2020

Я хотел бы сделать двухстрочный график на одном графике:

import matplotlib.pyplot as plt

x1 = [0.53884, 0.53878, 0.53898, 0.53662, 0.53748, 0.5398, 0.53894, 0.53732, 0.53744, 0.54052, 0.54402, 0.54178] 
x2 = [54.9, 54.9, 54.9, 54.9, 54.9, 54.9, 54.9, 54.9, 54.9, 54.9, 54.9, 54.9]

x = range(len(x1))

top_lim = max( max(x1), max(x2) ) + 0.001
bottom_lim = min( min(x1), min(x2) ) - 0.001
plt.ylim(bottom_lim, top_lim)

plt.plot(x, x1)
plt.plot(x, x2 ,color='r')

plt.show()

Однако это дает мне пустую цифру. Как мне получить правильный участок?

1 Ответ

1 голос
/ 05 августа 2020

Итак, проблема в вашем коде - ylim, вы можете попробовать следующее:

import matplotlib.pyplot as plt

x1 = [0.53884, 0.53878, 0.53898, 0.53662, 0.53748, 0.5398, 0.53894, 0.53732, 0.53744, 0.54052, 0.54402, 0.54178]
x2 = [54.9, 54.9, 54.9, 54.9, 54.9, 54.9, 54.9, 54.9, 54.9, 54.9, 54.9, 54.9]

x = list(range(len(x1)))

top_lim = max( max(x1), max(x2) ) + 5
bottom_lim = min( min(x1), min(x2) ) - 5
plt.ylim(bottom_lim, top_lim)

plt.plot(x, x1)
plt.plot(x, x2 ,color='r')

plt.show()

Из-за того, что значения между x1, x2, то обе строки находятся по краям сюжета, таким образом, вы не могли его увидеть.

...