Matplotlib - 匹配轴单位长度(分辨率)

发布于 2024-12-10 02:27:01 字数 271 浏览 0 评论 0原文

我需要匹配 matplotlib 中 x 轴和 y 轴的分辨率,以便线性函数 y=x 可以绘制为精确的 45° 线,并且以数学方式绘制圆(y=x >r^2=x^2+y^2) 将显示为圆形。

这是因为我正在绘制地理数据,并且希望沿 x 轴测量的给定距离等于沿 y 轴测量的距离。我对 MatPlotLib 相当陌生,在文档中找到答案时遇到问题。

编辑:这可以通过手动设置两个轴的像素每单位比率来完成。这可能吗?如果是这样,怎么办?

I need to match the resolution of x- and y-axes in matplotlib, so that the linear function y=x would plot as an exactly 45° line, and so that a mathematically plotted circle (r^2=x^2+y^2) would appear round.

This because I'm plotting geographical data, and would like a given distance measured along the x-axis to equal the distance measured along the y-axis. I'm rather new to MatPlotLib, and have problems finding the answer in the documentation.

Edit: This could be accomplished by manually setting an pixels-per-unit-ratio for both axes. Is this possible? If so, how?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

柳絮泡泡 2024-12-17 02:27:01

您可以使用 axes.set_aspect 来做到这一点。例如:

import matplotlib.pyplot as plt

f = plt.figure()
x = f.gca()
x.set_aspect("equal")
x.plot(range(10),range(10))
plt.show()

You can do that with axes.set_aspect. For example:

import matplotlib.pyplot as plt

f = plt.figure()
x = f.gca()
x.set_aspect("equal")
x.plot(range(10),range(10))
plt.show()
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文