gpt4 book ai didi

python - matplotlib axes.set_aspect ('equal')的行为不符合预期

转载 作者:行者123 更新时间:2023-12-04 13:32:44 24 4
gpt4 key购买 nike

我需要matplotlib中的一个图,其中两个轴的长度始终相同。为此,我使用选项“等于”。在大多数情况下,它工作得很好,并且我得到了预期的结果(见图1),但是当y轴的值比x高得多时,该图显示了意外的行为(见图2)。有人知道matplotlib的这种行为吗?

约克Danke

        host = SubplotHost(fig, 111)
try:
min_x_val = min(x for x in self.x_values if x is not None)
max_x_val = max(self.x_values)
except ValueError:
return

max_y_val = list()
for n, evaluator in enumerate(self.cleaned_evaluators):
max_y_val.append(max(self.y_values[n]))

# axis settings
host.axis['left'].label.set_fontsize('small')
host.axis['left'].major_ticklabels.set_fontsize('small')
host.axis['bottom'].label.set_fontsize('small')
host.axis['bottom'].major_ticklabels.set_fontsize('small')
host.axis['bottom'].major_ticklabels.set_rotation(0)
host.set_ylabel(y_label)
host.set_xlabel(x_label)


host.set_xlim(0, max_x_val)
host.set_ylim(0, max_y_val)

host.minorticks_on()
host.toggle_axisline(False)
host.axes.set_aspect('equal')
host.grid(True, alpha=0.4)

return fig

图1:

图2:

最佳答案

equal表示x和y维度在数据坐标中的长度相同。要获得方轴,您可以手动设置纵横比:

ax.set_aspect(1./ax.get_data_ratio())

关于python - matplotlib axes.set_aspect ('equal')的行为不符合预期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18572234/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com