I'd guess that what's happening is that the categorical axis labels as
shown are always strings. That's the general case, after all. If they
really are strings, meaning values of a string variable, that works.
If they really are value labels that might contain string characters,
that works. If they really are numbers, then showing the same numeric
characters as a string also works.
So -format()- is here is regarded as irrelevant, as supplying a date
format could not change a string.
That's consistent with your work-around.
I haven't dived into the -graph box- code, but that's my guess. From
the programmer's point of view, it's intended behaviour; it's just
that you can't get what you want without a trick. This may be why
-format()- is not documented as a cat_axis_label option.
Nick
On Tue, Nov 6, 2012 at 6:43 PM, Nick Cox <njcoxstata@gmail.com> wrote:
> I'd want -format()- to work in that context. It's not listed as one of
> the cat_axis_label_options, but I share Allan's surprise.
>
> On Tue, Nov 6, 2012 at 5:44 PM, Allan Reese (Cefas)
> <allan.reese@cefas.co.uk> wrote:
>> This ought to be obvious; apologies if it's well documented elsewhere.
>>
>> A dataset where the group variable is a date, stored as integer with %td format:
>> - tab idate - shows the dates as 1apr2012 etc with count for each date
>> - scatter y idate - labels the X axis with date values, though not necessarily those in the data
>> - graph box y, over(idate) -
>> labels the categories with the internal (SIF) values
>> - graph box y, over(idate, label( angle(30) format(%td) ) ) -
>> rotates the labels; format is ignored but NOT flagged as error
>>
>> The workround is to create a string variable containing the date strings, use that for the labels but coerce the date ordering:
>>
>> - g sdate=string(idate,"%td") -
>> - graph box y, over( sdate, label(angle(30)) sort(idate)) -
>>
>> It seems a bug that the format is honoured by scatter but not by box, and another that a format option is accepted but ignored.
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/faqs/resources/statalist-faq/
* http://www.ats.ucla.edu/stat/stata/