【发布时间】:2014-05-12 12:30:49
【问题描述】:
我正在循环生成多个图表,使用下面的示例代码
forvalues i = 1/11 {
local t: label (countryID) `i'
twoway line Var1 Var2 Var3 year if countryID == `i', ylabel(, valuelabel grid ///
angle(horizontal)) xlabel(1999(2)2013) xtitle("") ///
lpattern("l" "dash_dot" "longdash") legend(size(small)) title("`t'")
graph export output/PredictLaw`t'.png, replace
}
每个变量的值都有标签,但仅限于整数级别。不过,变量本身可以取两个整数之间的任何值。因此,我想以某种方式确保 yaxis 仅使用整数作为距离,例如总是以 1 为步长。
但是,由于每个国家/地区的范围不同,我希望 Stata 确定 y 轴的范围必须有多长,因为较短的范围当然会产生更整洁的图表。因此,我宁愿不使用ylabel(1(1)21, ... 形式的东西。
有没有办法定义y轴的间距,同时保持y轴的范围是Stata确定的变量?
【问题讨论】:
-
我不确定我是否理解您的要求。你介意改写吗?或者发布图表并描述您想要/不想要的内容?
-
如果您总是希望整数步长为 1,那么该指令必然类似于
1(1)21或1/21。很难看出还有其他可能性。在任何情况下,你都不会说你为什么不想要那个。您可以在每张图之前summarize并制作r(min)和r(max)。 -
@NickCox,我也在考虑使用
r(min)r(max),但我不确定如何在例如r(min)确保它们是整数。不过,无论如何,我都会发布一个示例图表来可视化我的问题。