在Pyplot.jl中使用相等和共享坐标轴的子图

3
正如标题所示,我想在Pyplot.jl中制作一个具有相等轴(圆形看起来像圆形)和共享轴(图表具有相同的限制)的图。每当我尝试使用setp()时,例如new pythonic style for shared axes square subplots in matplotlib?或使用subplots()命令并访问返回的图和轴元素时,我都会遇到错误。我对PyPlot或Python不是很熟悉。例如,我想要的是:
using PyPlot

u = linspace(0, 2pi, 100)
unit_x = cos(u)
unit_y = sin(u)

A = [1 2; 0 2]
transf = [unit_x unit_y] * A'

subplot(121)
plot(unit_x, unit_y)
axis(:equal)

subplot(122)
plot(transf[:, 1], transf[:, 2])
axis(:equal)

将图表并排显示,使用相同的坐标轴,以便直接进行比较。目前这样做会导致

http://imgur.com/YuESmIr

我还尝试返回轴限制并将左图设置为与右图相等,但在调用 axis(:equal) 后它们没有正确返回。

1个回答

3

你可能在寻找的是

fig, ax = subplots(1,2, sharey = true)
ax[1,1][:plot](unit_x, unit_y)
ax[2,1][:plot](transf[:, 1], transf[:, 2])

我总是认为fig/ax符号对于做子图更有帮助,但你的看法可能不同... 这给出了:

enter image description here


1
谢谢!这让我走了大部分的路。我主要无法弄清 fig/ax 符号的语法。在 Julia 0.3.11 上使用 PyPlot 2.1.0 和 PyCall 1.0.3,当我为轴使用两个索引时,会出现错误,因此我使用了 ax[1]ax[2]。最后一个 axis(:equal) 调用调整了所有内容的大小。 - John Best
你如何为单独的子图添加标题?写ax[1,1][:title]("Example...")不起作用。 - Axion004

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接