我想创建一个包含多个图的图形。但是我希望能够让每个地块都有不同的尺寸。例如,我希望第一个子图大约是第二个子图的两倍宽。我希望能做到这样的事情:
using PyPlot
a = rand(500,900)
b = rand(500,400) # notice how 'a' is 900 in width and 'b' is 400, i.e. 'a' is approximately twice as wide as 'b'
figure(1)
subplot(2,5,1:2) ; imshow(a)
subplot(2,5,3) ; imshow(b)
# and so on...
但这似乎不起作用。有没有人知道允许我调整每个子图的大小的方法?
答案 0 :(得分:3)
与matlab类似,可以在同一个图窗口中包含不同大小的子图,只要它们不重叠并且它们是根据有效网格中的有效元素定义的。 e.g:
julia> subplot(2,2,1); imshow(a);
julia> subplot(2,4,3); imshow(b); # note the different grid size
但是,如果您想要更精确的控制,那么完全放弃subplot命令,并手动将轴直接绘制到您想要的位置:
julia> axes([0.05, 0.55, 0.5, 0.4]); imshow(a);
julia> axes([0.6, 0.55, 0.35, 0.4]); imshow(b);
答案 1 :(得分:1)
使用Plots.jl
这样的事情要容易得多。参见例如the documentation中的第一个示例中的@layout
命令。