相关疑难解决方法(0)

matplotlib(等长单位长度):具有'相等'宽高比z轴不等于x-和y-

当我为3d图设置相等的宽高比时,z轴不会变为"相等".所以这:

fig = pylab.figure()
mesFig = fig.gca(projection='3d', adjustable='box')
mesFig.axis('equal')
mesFig.plot(xC, yC, zC, 'r.')
mesFig.plot(xO, yO, zO, 'b.')
pyplot.show()
Run Code Online (Sandbox Code Playgroud)

给我以下内容: 在此输入图像描述

显然,z轴的单位长度不等于x和y单位.

如何使所有三个轴的单位长度相等?我能找到的所有解决方案都不起作用.谢谢.

python matplotlib aspect-ratio

75
推荐指数
8
解决办法
5万
查看次数

matplotlib.pyplot,保留图的纵横比

假设我们有一个多边形坐标为polygon = [(x1,y1),(x2,y2),...],下面的代码显示了多边形:

import matplotlib.pyplot as plt
plt.fill(*zip(*polygon))
plt.show()
Run Code Online (Sandbox Code Playgroud)

默认情况下,它会尝试调整宽高比,以便多边形(或任何其他图表)适合窗口内部,并自动更改它,以便即使在调整大小后也适合.在许多情况下这是很好的,除非你试图在视觉上估计图像是否扭曲.如何将纵横比严格控制为1:1?

(不确定"宽高比"在这里是否是正确的术语,所以如果不是 - 我需要X和Y轴都具有1:1比例,因此X和Y上的(0,1)都需要精确相同数量的屏幕空间.无论我如何调整窗口大小,我都需要保持1:1的比例.)

python matplotlib

43
推荐指数
3
解决办法
4万
查看次数

matplotlib是否具有在轴坐标中绘制对角线的功能?

Matplotlib轴具有函数axhline,axvline用于在给定的y或x坐标(分别)上绘制水平或垂直线,与Axes上的数据比例无关.

绘制恒定对角线是否有类似的功能?例如,如果我有一个具有相似域的变量的散点图,通常有用的是知道它们是否高于或低于以下行y = x:

mean, cov = [0, 0], [(1, .6), (.6, 1)]
x, y = np.random.multivariate_normal(mean, cov, 100).T
y += x + 1
f, ax = plt.subplots(figsize=(6, 6))
ax.scatter(x, y, c=".3")
ax.plot([-3, 3], [-3, 3], ls="--", c=".3")
ax.set(xlim=(-3, 3), ylim=(-3, 3))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

这当然可以通过抓取轴限制(ax.get_xlim()等等)以编程方式完成,但是a)需要一些额外的步骤而b)在更多数据可能最终出现在图上并改变极限的情况下是脆弱的.(实际上在某些情况下,只需添加常量线就可以拉伸轴).

例如,最好是这样做,ax.axdline(ls="--", c=".3")但是不清楚matplotlib代码库中是否存在这样的东西.所有你需要做的是修改axhline代码绘制[0, 1]轴上的坐标两xy,我想.

python numpy matplotlib

37
推荐指数
4
解决办法
3万
查看次数

轴类 - 以给定单位明确设置轴的尺寸(宽度/高度)

我想用matplotlib创建一个图形,我可以明确指定轴的大小,即我想设置轴bbox的宽度和高度.

我到处都看了,我找不到解决方案.我通常会发现如何调整整个图形的大小(包括刻度和标签),例如使用fig, ax = plt.subplots(figsize=(w, h))

这对我来说非常重要,因为我希望轴的比例为1:1,即纸中的1个单位实际上等于1个单位.例如,如果xrange为0到10,主刻度线= 1且x轴为10cm,则1主刻度= 1cm.我将这个数字保存为pdf,将其导入乳胶文档.

这个问题带来了类似的话题,但答案并没有解决我的问题(使用plt.gca().set_aspect('equal', adjustable='box')代码)

从另一个问题我看到可以获得轴的大小,但不能明确地修改它们.

任何想法我如何设置轴盒大小而不仅仅是图形大小.图形尺寸应适应轴尺寸.

谢谢!

对于那些熟悉乳胶中的pgfplots的人来说,它会喜欢与scale only axis选项类似的东西(例如见这里).

python plot axis axes matplotlib

10
推荐指数
2
解决办法
3万
查看次数

定义我的轴的限制,但在两个方向上具有相同的比例

我如何结合这些陈述:

pyplot.axis([1234.0, 1773.0, 497.0, 1362.0])
pyplot.axis('equal')
Run Code Online (Sandbox Code Playgroud)

我只想定义轴的限制,但在两个方向上具有相同的比例。

PS:我尝试过pyplot.axis([1234.0, 1773.0, 497.0, 1362.0], 'equal'),但没有成功。

python axis matplotlib

5
推荐指数
1
解决办法
3268
查看次数

标签 统计

matplotlib ×5

python ×5

axis ×2

aspect-ratio ×1

axes ×1

numpy ×1

plot ×1