Stata 图表中日期标签的格式无效

Stata 图表中日期标签的格式无效,stata,Stata,我只是从Stata开始,但是已经浏览了很多可用的页面来找到这个问题的答案 使用带有两个变量的简单数据集aa和bb aa的格式为%td bb的格式为%8.0g 我一直使用的graph命令如下所示: graph twoway tsline bb, title("Numbers by Day", size(medsmall)) ytitle("Value", size(small)) xtitle("Date", size(small)) ysize(2) xsize(4) tlabel(

我只是从Stata开始,但是已经浏览了很多可用的页面来找到这个问题的答案

使用带有两个变量的简单数据集
aa
bb

aa的格式为
%td
bb的格式为
%8.0g

我一直使用的graph命令如下所示:

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))
我正在尝试将日期格式化为其他格式,而不是2016年1月21日

但是无论我在
format
函数中输入什么,我都会得到一个错误“无效日期”

%tcD_m_CY
只是Stata论坛的一个例子:我尝试了双引号和其他方法,但都失败了


(我确实首先使用了
tsset
来定义日期轴。)

您的问题缺少一个最小的、完整的、可验证的示例,因为(1)它缺少我们可以读入的数据,(2)示例中的一些细节与您的问题无关。看

您的示例显示了一个输入到
tlabel()
not函数)的
format()
子选项的参数,该子选项启动
%tc
:这将坚持将输入为每日日期的值(以0=1960年1月1日为原点的#天)解释为日期时间(以#毫秒计,原点为0=01jan1960 00:00:00)

因此,根据您的指示,像2016年7月25日这样的每日日期(根据该来源,该日期为20660)将被显示为日期时间。这样的日期时间仅在1960年1月1日开始后2秒左右;而您的显示格式的其余部分
D_m_CY
则表示“只显示日期、月份和年份”根据这条指示,日期、月份和年份都是1960年1月1日

就斯塔塔而言,我看不出你的日期格式有任何无效之处;问题是人,根本不是你想要的。当然,我无法准确解释你尝试的任何其他代码的错误,也无法向我们展示

下面的假数据和代码说明了一些技巧。对于每日日期,每天标记超过一周的数据通常是一个坏主意,因为您没有足够的空间;同样地,反复显示同一年通常是不必要的,并且空间使用不当。轴标题如“日期”只要明确给出日期,这是多余的。这些要点适用于您正在使用的任何软件

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)) 

这是你的图表,但底线很简单:每天的日期需要某种类型的代码> %TD/<代码>格式,并且<代码> %TC 格式完全错误,与混淆的分值和数百万美元为单位。

你没有说清楚你读到了什么,但这是有很好的文档记录的:
help datetime
在Stata中,无论它指向什么,你都需要学习


另请注意

谢谢,我将提高下一个问题的质量,并提供一些示例数据等。在使用您的示例时,我意识到了问题所在,labsize和format子选项之间不应存在逗号-它们由空格分隔。