我只是从Stata开始,但已经通过了很多可用的页面来找到答案。
使用包含两个变量aa
和bb
的简单数据集。
aa的格式为%td
bb的格式为%8.0g
我使用的图形命令如下:
graph twoway tsline bb,
title("Numbers by Day", size(medsmall))
ytitle("Value", size(small))
xtitle("Date", size(small))
ysize(2)
xsize(4)
tlabel(#15, labsize(vsmall), format(%tcD_m_CY))
ylabel(#10, labsize(vsmall))
我正在尝试将日期格式化为其他内容而不是21jan2016
但无论我在format
函数中放入什么,我都会收到错误"无效日期"
%tcD_m_CY
只是Stata论坛的一个例子:我尝试过双引号和其他内容但都失败了..
(我确实首先使用tsset
来定义日期轴。)
答案 0 :(得分:0)
你的问题缺乏一个最小的,完整的,可验证的例子,因为(1)它缺少我们可以阅读的数据,(2)你的例子中的几个细节与你的问题无关。见https://stackoverflow.com/help/mcve
您的示例显示了format()
tlabel()
子%tc
子选项(非函数)的参数,该子参数从D_m_CY
开始:这向Stata坚持认为具有的值作为每日日期输入(并计为#天,其原点为0 = 1 1960年1月)将被解释为日期时间(并计为#毫秒,原点0 = 01jan1960 00:00:00)。
因此,根据您的指示,每日日期(例如2016年7月25日(保留原因为20660)将显示为日期时间。这样的日期时间是1960年1月1日开始后约2秒;显示格式的其余部分clear
set obs 15
gen aa = daily("30 Jun 2016", "DMY") + _n
format aa %td
mat bb = (12, 14, 10, 8, 6, 8, 9, 11, 13, 15, 17, 19, 21, 23, 25)
gen bb = bb[1, _n]
tsset aa
graph twoway tsline bb, ///
title("Numbers by Day") ytitle("Value") xtitle("") ///
tlabel(#7, format(%tdd_M))
表示“只显示我的日,月和年”,按照此说明,正如1960年1月1日所述,日,月和年。
就Stata而言,我认为您的日期格式无效;问题是人,这根本不是你想要的。当然,我无法准确解释您尝试过的任何其他代码到底出现了什么问题。
下面的假数据和代码说明了一些技巧。对于每日日期,每天标记通常是一个坏主意,超过一周的数据,因为你没有足够的空间;同样一年又一次地显示同一年通常是不必要的,并且空间使用不当。只要明确给出日期,诸如“日期”之类的轴标题就是多余的。这些要点适用于您使用的任何软件。
%td
这是你的图表,但底线很简单:每日日期需要某种%tc
格式,help datetime
格式完全错误,与令人困惑的美分和数百万美元相提并论单位。
你没有准确地说出你所读到的内容,但这有很好的记录:Stata中的if(this.model.attributes.systemColumnName === 'City') {
this.$('#createButton').prop('disabled', false);
}
以及它指出的所有内容都是你需要学习的。