나는 파이썬에서 matplotlib
데이터 ( plot
및 errorbar
함수 사용) 를 그리는 데 사용 하고 있습니다. 완전히 분리되고 독립적 인 플롯을 그린 다음 ylim
시각적으로 쉽게 비교할 수 있도록 값 을 조정해야 합니다.
ylim
각 플롯 에서 값을 검색하여 각각 하한 및 상한 ylim 값의 최소값과 최대 값을 가져 와서 시각적으로 비교할 수 있도록 플롯을 조정할 수 있습니까?
물론 데이터를 분석하고 나만의 맞춤 ylim
값 matplotlib
을 생각 해낼 수는 있지만 저를 위해 사용하고 싶습니다 . 이를 쉽고 효율적으로 수행하는 방법에 대한 제안이 있습니까?
다음은 사용하여 플롯하는 Python 함수입니다 matplotlib
.
import matplotlib.pyplot as plt
def myplotfunction(title, values, errors, plot_file_name):
# plot errorbars
indices = range(0, len(values))
fig = plt.figure()
plt.errorbar(tuple(indices), tuple(values), tuple(errors), marker='.')
# axes
axes = plt.gca()
axes.set_xlim([-0.5, len(values) - 0.5])
axes.set_xlabel('My x-axis title')
axes.set_ylabel('My y-axis title')
# title
plt.title(title)
# save as file
plt.savefig(plot_file_name)
# close figure
plt.close(fig)
답변
그냥 사용 axes.get_ylim()
하면 set_ylim
. 로부터 문서 :
get_ylim ()
y 축 범위 가져 오기 [bottom, top]
답변
ymin, ymax = axes.get_ylim()
plt
API를 직접 사용하는 경우 축에 대한 호출을 모두 피할 수 있습니다.
def myplotfunction(title, values, errors, plot_file_name):
# plot errorbars
indices = range(0, len(values))
fig = plt.figure()
plt.errorbar(tuple(indices), tuple(values), tuple(errors), marker='.')
plt.xlim([-0.5, len(values) - 0.5])
plt.xlabel('My x-axis title')
plt.ylabel('My y-axis title')
# title
plt.title(title)
# save as file
plt.savefig(plot_file_name)
# close figure
plt.close(fig)
답변
위의 좋은 답변을 활용하고 plt를 다음과 같이 사용한다고 가정합니다.
import matplotlib.pyplot as plt
그러면 plt.axis()
다음 예제에서와 같이 사용하여 네 가지 플롯 한계를 모두 얻을 수 있습니다 .
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5, 6, 7, 8] # fake data
y = [1, 2, 3, 4, 3, 2, 5, 6]
plt.plot(x, y, 'k')
xmin, xmax, ymin, ymax = plt.axis()
s = 'xmin = ' + str(round(xmin, 2)) + ', ' + \
'xmax = ' + str(xmax) + '\n' + \
'ymin = ' + str(ymin) + ', ' + \
'ymax = ' + str(ymax) + ' '
plt.annotate(s, (1, 5))
plt.show()