2016-07-25 7 views
-1

私はStataだけで始まっていますが、すでにこれに答えるために多数のページがあります。グラフ内の日付ラベルのフォーマットが無効

2つの変数aabbで単純なデータセットを使用する。

%td BBは次のように私が使用してきたグラフのコマンドがある%8.0g

としてフォーマットされるAAがフォーマットされています

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

ご質問は最小限に欠け、 (1)読み込み可能なデータがなく、(2)あなたの例のいくつかの詳細があなたの問題に無関係である限り、完全で検証可能な例です。あなたの例では、%tcを開始tlabel()ない機能)のformat()サブオプションに供給された引数を示しhttps://stackoverflow.com/help/mcve

参照してください:これはStataのに主張し、その原点と日を入力として、毎日の日付となって(と#としてカウントした値0 = 1960年1月1日)は、日付時刻として解釈されます(起点0 = 01jan1960 00:00:00の#ミリ秒としてカウントされます)。

あなたの指示により、2016年7月25日(原点を与えられた20660として保持される)などの日付日は、あたかも日時であるかのように表示されます。このような日時は、1960年1月1日の開始後わずか2秒です。残りの表示形式D_m_CYは、この指示に従って、「ちょうど私に日、月、年を表示してください」と言い、1月、1月と1月は1960年1月1日です。

Stataに関する限り、あなたの日付書式には無効なものはありません。問題は人間であり、あなたが望むものではないということです。もちろん、あなたが試した他のコードで何が間違っていたのかを正確に説明することはできません。

以下の偽のデータとコードは、いくつかの手法を示しています。毎日の日付の場合、毎日のラベル付けは通常、十分なスペースがないため、約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)) 

enter image description here

それはあなたのグラフだが、一番下の行は単純です:毎日日付が%td形式のいくつかの種類が必要になります、と%tcフォーマットはドルの混乱セント、数百万人に匹敵する、全く間違っています単位として。

あなたが読んだものは正確には言いませんが、これは十分に文書化されています。help datetimeのStataとそれが指すものはすべてあなたが勉強する必要があるものです。

も注意http://www.statalist.org/forums/help#spelling

+0

おかげで、私はなど、次の質問の質を改善し、いくつかの例のデータを提供します あなたの例を使用している間、私が問題だったもの実現し、labsizeとフォーマットのサブオプションの間にはカンマがあってはなりません - それらはスペースで区切られています。 – Moseleyi

関連する問題