0
Matplotlib GUI을 만들고 x 및 y 축의 대화식 크기를 조정하려고합니다. 이를 위해 4 개의 텍스트 상자를 사용하여 각각 x 및 y 축 제한의 최소 및 최대를 설정할 수 있습니다. 내가 지금까지 가지고있는 코드는 다음과 같습니다 여러 텍스트 상자에 적합한 제출 기능
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.widgets import TextBox
import matplotlib.gridspec as gridspec
fig, ax = plt.subplots()
ax.plot([1,3,2])
fig.subplots_adjust(bottom=0.4)
gs = gridspec.GridSpec(2,2)
gs.update(left=0.4, right=0.7, bottom=0.15, top=0.25, hspace=0.1)
axes = [fig.add_subplot(gs[i,j]) for i,j in [[0,0],[0,1],[1,0],[1,1]]]
# create the textboxes
tb_xmin = TextBox(axes[0],'x', hovercolor='0.975', label_pad=0.1)
tb_xmax = TextBox(axes[1],'', hovercolor='0.975')
tb_ymin = TextBox(axes[2],'y', hovercolor='0.975', label_pad=0.1)
tb_ymax = TextBox(axes[3],'', hovercolor='0.975')
def submit(val):
data = eval(val)
# how to know which limit to set here?
ax.set_xlim(data)
plt.draw()
for tb in [tb_xmin,tb_xmax,tb_ymin,tb_ymax]:
tb.on_submit(submit)
plt.show()
그러나 나는
submit
기능이 붙어있다. 입력란이 유효하고 데이터 범위 내에서 어떤 텍스트 상자가 제출되고 입력되는지를 인식하고 적절한 최소값 또는 최대 값을 설정하는 기능을 원합니다.
누구든지 나를 도울 수 있습니까?
놀랍습니다. 감사합니다. – STJ
저는 이것을 별도의 질문으로 게시했습니다 : 나는 TextBox 위젯을 matplotlib에 추가하면 TextBox를 사용하지 않을 때 상호 작용이 느려지는 것을 발견했습니다. 이것은 TextBox 위젯의 일반적인 부작용입니까? – STJ