如何解决条形图和折线图覆盖在同一图形上,包含组,并由另一个组
我正在尝试创建一个图形,该图形基本上具有对应于一个组的条形图和对应于另一组的线图,但在前面描述的每个组中都有两个组。我尝试了使用 twoway 和 binscatter 的各种方法,但都没有达到我想要的效果。
我附上了一张我想创作的图片:
(在 y 轴上是折线图和条形图所指的“成本”。从数据可视化的角度来看,我个人会使用 4 个折线图甚至 4 个条形图,但是 2 条线和 2 组条形是所需要的)。
我想这可能需要一些重塑,但也可能不需要。如果有人有任何线索,我肯定会很感激。如果颜色可以随用户的喜好而定,那就更好了。虽然我认为数据的形状是为了可以通过参考类别“自动”创建图形,但可能可以重新调整数据并使用县年作为分类变量。
开发数据集的代码(感谢 Nick Cox 开发了我的示例代码的高级版本):
clear
set seed 1234
set obs 16
g year = cond(_n > 8,2010,2000)
bysort year: g country = cond(_n > 4,"China","USA")
bysort year country : gen month = _n
g cost = runiform(0,100)
解决方法
我似乎明白你想创造什么。请参阅下面的示例代码:
//Trick 1
separate cost,by(year)
//Trick 2
gen month1 = month - 0.12
gen month2 = month + 0.12
twoway (bar cost2000 month1 if country == "USA",barw(0.2) color(red)) || ///
(bar cost2010 month2 if country == "USA",barw(0.2) color(ltblue)) || ///
(line cost2000 month if country == "China",lcolor(cranberry) lwidth(0.8) ) || ///
(line cost2010 month if country == "China",lcolor(blue) lwidth(0.8)),///
legend(order(1 "2000" "USA" 2 "2010" "USA" 3 "2000" "CHN" 4 "2010" "CHN") row(1)) ///
ytitle("Cost")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。