gpt4 book ai didi

python - 自动使 matplotlib 轴为正方形并等于 xlim 和 ylim

转载 作者:太空宇宙 更新时间:2023-11-03 17:25:45 25 4
gpt4 key购买 nike

假设我想在 matplotlib 中绘制一个椭圆:

import numpy as np
import matplotlib.pyplot as plt

x = np.sin(np.linspace(0,2*np.pi,100))
y = 2*np.cos(np.linspace(0,2*np.pi,100))

ax = plt.subplot(111)
ax.plot(x,y)
plt.show()

结果看起来像一个圆圈: enter image description here

我可以通过添加五行代码得到我想要的结果:

import numpy as np
import matplotlib.pyplot as plt

x = np.sin(np.linspace(0,2*np.pi,100))
y = 2*np.cos(np.linspace(0,2*np.pi,100))

ax = plt.subplot(111)
ax.plot(x,y)

#make the axes square and equal
ax.set_aspect('equal')

minimum = np.min((ax.get_xlim(),ax.get_ylim()))
maximum = np.max((ax.get_xlim(),ax.get_ylim()))

ax.set_xlim(minimum*1.2,maximum*1.2)
ax.set_ylim(minimum*1.2,maximum*1.2)

plt.show()

enter image description here

但这看起来很笨拙。 matplotlib 中是否内置了一个函数来自动给出预期的行为?

最佳答案

谷歌很快就提出了这个:http://matplotlib.org/examples/pylab_examples/equal_aspect_ratio.html 。不过我自己还没有测试过。

ax.set_aspect('equal', 'datalim')
ax.margins(0.1)

关于python - 自动使 matplotlib 轴为正方形并等于 xlim 和 ylim,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32589904/

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