【问题标题】:Octave: resize figure with subplotsOctave:使用子图调整图形大小
【发布时间】:2016-05-23 16:38:38
【问题描述】:

我有一个关于子图的简单问题。 如果我写:

x=linspace(0,50,4);
subplot(1,2,1);
plot(x,x.^2);
subplot(1,2,2);
plot(x,x.^4);

我在二次窗口中得到两个非常高且窄的图。 如何更改我有两个二次大小图的窗口大小 在一个高度是宽度一半的矩形窗口中? 我知道如何将图形窗口中的子图调整为二次图,但在它们上方是一半的图形是空的,我不想要这个。

我也在 help@octave.org 上问过这个问题,但直到现在才得到答案。

【问题讨论】:

  • 你对“二次窗口”或“二次大小”有什么看法?您是否尝试使用 "equal" 参数 (gnu.org/software/octave/doc/v4.0.1/Axis-Configuration.html) 调用 axis?或者你可能想要subplot(2,1,1)subplot(2,1,2) 代替?
  • @Dan,如果我运行脚本,我会得到左右两个子图,每个高度:宽度为 2:1。我可以调整子图的大小,使它们具有 1:1 的尺寸并位于图形窗口的下部,但上部是空的。如何获取图形窗口,使其被子图填充,即尺寸为 1:2?
  • 您是否尝试过我上面的建议? subplot(2,1,1) 应该这样做。即您告诉subplot 您想要两行一列的图表(即两个垂直堆叠的图表),而不是您当前拥有的一排两列的图表。
  • @Dan,如果我按照你的建议做,我会得到两个相互重叠的图(我不想要,我想要一个在左边,一个在右边),现在都有一个比例 1:2。我想要两个比例为 1:1 的图,它们 填充 图形窗口。所以我看到的问题是:如何调整图形窗口的大小?
  • pos = get(gcf,'Position'); set(gcf, 'Position', [0,0,pos(3),pos(3)/2]) 怎么样 在你的两个地块上调用 axis("square")

标签: plot octave


【解决方案1】:

如果二次方只是指正方形,请尝试在每个子图上调用axis("square"),然后消除图形窗口中的多余部分,您可以这样做:

pos = get(gcf,'Position'); 
set(gcf, 'Position', [0,0,pos(3),pos(3)/2]); %// note the 'Position' argument takes a vector like [StartX, StartY, Width, Height)

【讨论】:

    猜你喜欢
    • 2015-04-01
    • 2018-10-23
    • 1970-01-01
    • 2021-09-19
    • 2011-01-24
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多