在 Y 轴上显示百分比

Displaying percentages on Y-axis

如何在 Y 轴上显示百分比?我可以在图形编辑器中编辑值,但不知道如何通过脚本完成此操作,因为我在循环中创建多个图形并且刻度值随图形变化。

clear
input yr v1
2005 77.01
2006 84.01
2007 83.01
2008 85.01
2009 86.01
2010 83.01
2011 98.01
2012 80.01
2013 79.01
end
graph twoway connected v1 yr

实际

预计

由于编辑,我之前的回答有点乱。

这是一个新的 self-contained 答案,基于 nicelabels(自 2022 年 5 月 10 日起在 SSC 上)和 mylabels(在 SSC 上有一段时间,也许是 2003 年)。

首先要注意添加 % 符号不是任何官方显示格式的一部分。所以,我们必须在自己的代码中完成。

clear
input yr v1
2005 77.01
2006 84.01
2007 83.01
2008 85.01
2009 86.01
2010 83.01
2011 98.01
2012 80.01
2013 79.01
end

nicelabels v1, local(yla)
if wordcount("`yla'") < 5 nicelabels v1, local(yla) nvals(10)
mylabels `yla', suffix(%) local(yla) 

twoway connected v1 yr , yla(`yla')

所以 nicelabels 被要求为 v1 建议好的标签。如果建议的数字小于 5,则告诉它重试。一旦这些标签存在,它们就会通过 mylabels 推送,以便为每个标签添加 %。该过程不需要用户干预。