我正试图控制Stata中散点图的轴。考虑一个例子:
sysuse auto
twoway (scatter mpg turn), aspectratio(1)
我得到以下图表:
我希望两个轴都跨越相同的范围。手动这可以通过以下方式实现:
twoway (scatter mpg turn), aspectratio(1) yscale(r(10 50)) xscale(r(10 50))
我的任务是生成一系列图表,这些图表将成为动态LaTeX文档的一部分,因此我想跳过手动调整比例的步骤。我怎么能实现呢?
我正在考虑使用Stata的本地人以某种方式从两个变量中获取最小值和最大值(我不能先验地知道哪个变量/轴具有最大值/最小值)但是可能有一个更智能的解决方案来解决这个问题?
答案 0 :(得分:2)
我们假设您事先知道您正在绘制哪些变量,y
和x
:
local myvars "y x"
tokenize `myvars'
args myy myx
su `myy', meanonly
local min = r(min)
local max = r(max)
su `myx', meanonly
local min = min(r(min), `min')
local max = max(r(max), `max')
现在在local
的通话中使用这些graph
。
这不是一般的 - 例如,它不支持if
或in
限定符 - 但它可以更通用。