【问题标题】:Superimpose linetype on CI color in marginsplot legend (Stata)在边距图例中的 CI 颜色上叠加线型(Stata)
【发布时间】:2020-12-14 10:33:42
【问题描述】:

我想知道是否可以将线型(plotopts 参数,即点、破折号、实线等)叠加到它们对应的 CI(ciopt 参数,即颜色)上?

我用下面的例子来说明(请注意图例部分,只显示CI颜色,虽然可以插入order(3 "f=0's line type" 4 "f=1's line type")之类的东西来显示它们的线型符号,但它们不会叠加在它们对应的CI上)。如果有人能给我一些提示,将不胜感激。

/* using the example from UCLA data archive */

use https://stats.idre.ucla.edu/stat/data/logitcatcon, clear

logit y i.f##c.s, nolog
margins f, at(s=(20(5)70)) vsquish

/* plotting */
marginsplot, recast(line) recastci(rarea) ciopt(color(gs14) alwidth(none)) ci1opt(color(gs5) alwidth(none)) plotopts(lc(gs0) lpattern(dot)) plot1opts(lc(gs0) lpattern(solid)) legend(order(1 "f=0" 2 "f=1") rows(1))

【问题讨论】:

  • 我不关注这个。从上图和运行代码来看,线型确实是虚线和实线。顺便说一句,我会为这样的图表应用透明度。
  • 我仍在 Stata 14 上运行(它不支持透明度选项),我猜这会导致线条类型被 CI 颜色抑制(?)
  • 我无法访问 Stata 14,只有 16 个,但您的图像显示点和实线,因此您似乎得到了您所要求的。在线条或点之前先放置区域通常是一种好习惯,marginsplot 似乎正在这样做,尽管我懒得检查代码。
  • 我的意思是在图例的 CI 颜色上叠加线型(在图表的底部)。
  • 我明白了。这很难。图例一对一地映射到显示的变量,因此您可以显示一片区域或一段线型,但据我所知,不能同时显示两者。不是你想要的答案,但在这里,而且很多时候,传说充其量只是一种必要的邪恶。我会丢失图例,并在绘图区域的曲线上方和下方放置直接标签 f = 0f = 1,只要有空间(或者,自然地,更好的解释性文字解释 0 和 1 的含义);

标签: graph legend stata


【解决方案1】:

将图例命令中的 1 和 2 更改为 3 和 4。Stata 将它们视为四个图。 更改:图例(顺序(1“f=0”2“f=1”) 至:图例(顺序(3“f=0”4“f=1”) 我遇到了同样的问题!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多