As I understand it, you have subtracted one date-time from another, but the result is not itself a date-time. It is an elapsed time, and Stata lacks any support specific to elapsed times. So, for example, 1 (elapsed) day and 2 (elapsed) days look identical in terms of clock time, as you already know.
. di %tc_HH:MM:SS 24 * 60 * 60 * 1000
00:00:00
. di %tc_HH:MM:SS 48 * 60 * 60 * 1000
00:00:00
Conversely, the difference between 21 December 2009 and 22 December 2009 is not as indicated by
. di %d mdy(12,22,2009) - mdy(12,21,2009)
02jan1960
But just 1 day.
In short, applying date-time formats to elapsed times at best tells only part of the story and at worst gives you nonsense. That shouldn't be a surprise when you think about it.
For elapsed times, you need to create your own code (setting aside earlier user-written efforts best consigned to history).
In essence, Stata carries no knowledge forward of how your variables were calculated. As I guessed earlier in the thread, you assigned a format that is no use for graphing, as it does not distinguish elapsed times except in terms of what a clock would show.
I asked earlier for you to -summarize- the values of your variables, but I've not seen any results. From your graph it seems that the data fall into two distinct subsets, times less than 1 day and times more than 1 day. I can't suggest why that is, but only looking at your data closely can tell you if there is some error or this does in fact make sense.
As I suggested earlier, it is likely that you need to create your own axis labels, using a conversion from milliseconds to hours. -mylabels- from SSC is there to help.
Nick
[email protected]
moleps islon
The measurements have taken place at -clock-. However trying to twoway
graph with clock along the x axis resulted in the problem with
changing dates and jumps on the graph. I tried to cricumvent this by
subtracting clock with the first clock-value.. but as you see it
leaves me with the same problem. I´m sure there is someway around
this...
.format x %9.0g
. l x clock in 1/5
+------------------+
| x clock |
|------------------|
1. | 0 18:46:46 |
2. | 18000 18:47:04 |
3. | 30000 18:47:16 |
4. | 36000 18:47:22 |
5. | 66000 18:47:52 |
+------------------+
M
On Mon, Dec 21, 2009 at 9:58 PM, Martin Weiss <[email protected]> wrote:
>
> <>
>
> I am not sure why you - format x %td_HH:MM:SS- while I formatted - format x
> %tc_HH:MM:SS-. What happens when you
>
> ***
> format x %9.0g
> l in 1/5
> ***
>
>
> HTH
> Martin
>
>
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of moleps
> Sent: Montag, 21. Dezember 2009 21:51
> To: [email protected]
> Subject: Re: AW: st: RE: Graphing time on the x axis
>
> To me there doesnt seem to be any difference between the sets, but doing the
> following explains why the graph looks as it does. However I do not
> understand how this comes about or how I can rectify it...
>
>
>
> . list x in 1/5
>
> +----------+
> | x |
> |----------|
> 1. | 00:00:00 |
> 2. | 00:00:18 |
> 3. | 00:00:30 |
> 4. | 00:00:36 |
> 5. | 00:01:06 |
> +----------+
>
> . sort x
>
> . list x in 1/5
>
> +----------+
> | x |
> |----------|
> 1. | 05:10:24 |
> 2. | 05:10:30 |
> 3. | 05:10:36 |
> 4. | 05:10:42 |
> 5. | 05:10:48 |
> +----------+
>
>
> M
>
>
>
> On 21. des. 2009, at 21.18, Martin Weiss wrote:
>
>>
>> <>
>>
>> How is your dataset different from the one I am playing with?
>>
>>
>> *******
>> clear*
>> set obs 1000
>> set seed 10234
>>
>> gen x=(_n-1)*6000
>>
>> format x %tc_HH:MM:SS
>>
>> gen mean_amp =rnormal()
>> gen meanp =rnormal()
>>
>> gen byte c7=(runiform()<.2)+1
>>
>> compress
>>
>> tw (line mean_amp x if c7==1) /*
>> */ (line mean_amp x if c7==2) /*
>> */ (line meanp x if c7==1) /*
>> */ (line meanp x if c7==2)
>> *******
>>
>>
>> HTH
>> Martin
>>
>> -----Original Message-----
>> From: [email protected]
>> [mailto:[email protected]] On Behalf Of moleps
>> Sent: Montag, 21. Dezember 2009 20:32
>> To: [email protected]
>> Subject: Re: AW: st: RE: Graphing time on the x axis
>>
>> picture of the graph
>>
>> http://www.flickr.com/photos/45805518@N04/?saved=1
>>
>> commands
>>
>>
>>
>>
>>
>> . format x %td_HH:MM:SS
>>
>> . list x in 1/5
>>
>> +----------+
>> | x |
>> |----------|
>> 1. | 00:00:00 |
>> 2. | 00:00:18 |
>> 3. | 00:00:30 |
>> 4. | 00:00:36 |
>> 5. | 00:01:06 |
>> +----------+
>> . tw (line mean_amp x if c7==1) (line mean_amp x if c7==2) (line meanp
> x
>> if c7==1) (line meanp x
>>> if c7==2)
>>
>> Regards,
>>
>> M
>>
>>
>>
>> On 21. des. 2009, at 19.57, Martin Weiss wrote:
>>
>>>
>>> <>
>>>
>>>
>>> You should probably reproduce the problem with a dataset shipped with
>> Stata.
>>> Is the time variable numeric or string?
>>>
>>>
>>>
>>> HTH
>>> Martin
>>>
>>>
>>> -----Ursprüngliche Nachricht-----
>>> Von: [email protected]
>>> [mailto:[email protected]] Im Auftrag von moleps
>>> Gesendet: Montag, 21. Dezember 2009 19:48
>>> An: [email protected]
>>> Betreff: Re: st: RE: Graphing time on the x axis
>>>
>>> Maybe I was unclear in my description of the graph, but i dont think it
> is
>> a
>>> scale or label question. The problem is that given the coordinates
> (00:00,
>>> 2.3) (05:36,1.9) (07:20,3.1) (18:58,2.9) they are not graphed in that
>> order;
>>> Instead I have (07:20,3.1) (18:58,2.9) (00:00, 2.3) (05:36,1.9) ...
>>>
>>> Regards
>>>
>>> M
>>>
>>>
>>> On 21. des. 2009, at 13.45, Nick Cox wrote:
>>>
>>>> Clearly you need to specify your own.
>>>>
>>>> A convenience tool is -mylabels- from SSC. You just need to specify the
>>> conversion from Stata's underlying scale, presumably milliseconds, to
> your
>>> desired scale, which may be hours (you don't say what you want instead).
>> See
>>> the help for more.
>>>>
>>>> Nick
>>>> [email protected]
>>>>
>>>> moleps islon
>>>>
>>>> I´ve created a variable, time, for two measurements that both have
>>>> been subtracted from the starting time of the measuerement so that the
>>>> two start out with time 00:00:00 and I have measurements every 10
>>>> sec. However after doing a twoway plot the starting point is not
>>>> 00:00:00. Instead I have these tick marks and values along the x
>>>> axis:: 07:20--12:53--18:58--00:00--05:36.... Any ideas?
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/