绘制无间隙的条形图

时间:2019-05-28 21:42:00

标签: graph bar-chart stata

我正在尝试在Stata中绘制条形图,但是之间有一个空条。

数据和代码示例:

sysuse auto, clear  
drop if rep78 == . | rep78 == 3  
collapse price, by(rep78)  
twoway bar price rep78 

enter image description here

我如何只绘制其他条形图?

2 个答案:

答案 0 :(得分:1)

您可以使用egen命令使用连续编号创建新变量:

sysuse auto, clear
drop if rep78 == . | rep78 == 3
egen rep78_2 = group(rep78)
collapse price, by(rep78_2)
label variable rep78_2 "Repair Record 1978"
twoway bar price rep78_2, barwidth(0.2)

或者,您可以在recode变量上使用rep78命令:

sysuse auto, clear
drop if rep78 == . | rep78 == 3
recode rep78 (4 = 3) (5 = 4)
collapse price, by(rep78)
twoway bar price rep78, barwidth(0.2)

两种情况下的结果将相同:

enter image description here

答案 1 :(得分:1)

一个更简单的选择是

sysuse auto, clear  
drop if rep78 == . | rep78 == 3  
graph bar price, over(rep78) 

注意

  1. graph bar默认情况下计算给定任何结果变量的均值。

  2. graph bar没有连续的 x 轴的概念,而只是分类轴。

  3. graph bar没有可能的概念,只是倾向于将数据中存在的类别排序,除非您另外指定。

  4. graph bar将类别视为离散类别,因此默认情况下条不会接触。 graph bar price, over(rep78, gap(0))将确保触摸条,但对于此类示例,我不建议这样做。