【问题标题】:Combining graphs for the same x axis length but when y values have different lengths组合具有相同 x 轴长度但 y 值具有不同长度的图
【发布时间】:2021-12-07 14:32:53
【问题描述】:

我认为这个问题与我见过的一些解决方案不同。我正在尝试将两个图表堆叠在一起,并且 x 轴的范围在图表之间是相同的。但是,对于底部的第二张图,y 轴上的值要大得多,这会缩小 x 轴。

我想知道是否有人知道如何做两件不同的事情,每件事情都至少需要强制 x 轴在图形之间的长度相同:

(a) 如果图形之间的 x 轴相等,并且允许 y 轴编号和 y 轴标签之间的间距相同,这样在图上 y 标签的左侧就会有更多的空白组合图像中的顶部图;

(b) 如果图之间x轴相等,可以推出下图中的y标签,并要求上图中y标签和y值之间有足够的空白使 y 标签相互对齐。

如果有人可以帮助解决这两种变化,我将不胜感激。代码如下。

use http://www.stata-press.com/data/r13/wpi1.dta, clear
g wpi10 = wpi * 100 

twoway scatter wpi t, ylabel(, angle(0))
graph save 1, replace

twoway scatter wpi10 t, ylabel(, angle(0))
graph save 2, replace
    
graph combine 1.gph 2.gph, cols(1)

【问题讨论】:

    标签: graph stata figure


    【解决方案1】:

    graph combine 使用起来会很痛苦,所以最好避免使用它。尝试改用by

    use http://www.stata-press.com/data/r13/wpi1.dta, clear
    g wpi10 = wpi * 100 
    rename (wpi wpi10) value=
    drop ln_wpi
    reshape long value, i(t) j(variable) string
    
    twoway scatter value t, ylabel(, angle(0)) by(variable, cols(1) yrescale)
    

    【讨论】:

    • 请参阅stata-journal.com/article.html?article=gr0085 了解有关此主题的即兴演奏。标题:graph的by()选项比graph combine效果更好
    • 谢谢你们 - 我会把解决方案交给 Wouter。我想我可能提出了一个过于简单的案例,其中每个图表都遵循类似的结构,所以我将尝试解决一个我使用 by 选项但两个子图的部分彼此完全不同的案例。但我会为此单独发一篇文章(如果没有类似的帖子)。再次感谢!
    猜你喜欢
    • 1970-01-01
    • 2013-01-22
    • 1970-01-01
    • 2014-12-08
    • 2021-03-20
    • 1970-01-01
    • 2022-06-15
    • 2022-12-03
    • 1970-01-01
    相关资源
    最近更新 更多