设置猫图格式-统计数据 [英] Formatting catplot - stata

查看:0
本文介绍了设置猫图格式-统计数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

遗憾的是,由于道德原因,我无法向您发送数据集,但我正在尝试创建分类变量的catplot。所有的分类变量都是李克特的回答。

有18个标签:psq1 psq2 psq3 psq4 psq5 psq6 psq7 psq8 psq9 psq10 psq11 psq12 psq13 psq14 psq15 psq16 psq17 psq18

如果您查看的是graph.png,psq1就是使用代码

显示的猫图

猫图psq7,asyvars堆栈百分比超过(Psq_Pubpriv)百分比

graph.png

我要移动公共栏和私人栏,使它们彼此水平,然后使用相同的轴将所有psq堆叠在彼此的顶部。这在psq.png中显示。

psq.png

另一个问题是标题被从y轴标签上剪下。我要使该文本换行并显示在两行中,以便所有内容都可见。

我还想更改配色方案,以便同意和强烈同意是绿色阴影,强烈不同意和不同意是红色阴影,不确定是蓝色

推荐答案

无法发布数据的策略很简单,任何程序员都应该清楚:想出一个类似的问题来处理虚假数据或公共数据集。

catplot来自SSC:有关解释您使用的任何社区贡献的命令(以及刚才给出的建议)的请求,请参阅Stata标签维基。

您的数据结构对您想要的不友好。答案是reshape long,以便使用更少的变量。

此代码的大部分只是设置了一个假数据集。

clear 
set obs 100 
set seed 2803 

label def whatever 1 "strongly agree" 2 agree 3 uncertain 4 disagree 5 "strongly disagree"

forval j = 1/5 { 
    gen psq`j' = runiformint(1, 5)
    label val psq`j' whatever 
}

gen public = runiform() > 0.5 
label def public 1 public 0 private 
label val public public 

gen id = _n
reshape long psq, i(id) j(which)
label val psq whatever 

set scheme s1color 
local toshow  "absurdly long title shown vertically that is unfriendly to readers" 
catplot psq which, percent(which public)  asyvars stack by(public, note("") l1title(`"`toshow'"')) 

关于额外的详细信息:

您的轴标题太长,无法阅读。那就别那么做!是真诚而严肃的忠告。否则,请使用曲线图编辑器。(我尝试了通常的变通方法

`" "part 1" "part 2" "' 

但无法使其工作。由于catplot将该代码直接传递给graph hbar,这可能是后者的一个限制,即这不被接受。)

红色和绿色混合的配色方案应严格避免。辨别红色和绿色的困难是人们对颜色最常见的一种困难(所谓的色盲)。否则,请使用帮助。

这篇关于设置猫图格式-统计数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆