Thanks Jeff. That's exactly settled my problem. And a new way for me to learn R, the scm in http://r-forge.r-project.org. Much better than output the definition of functions from R. Regards, Wind ------------------ ???? ------------------ ???: "Jeff Ryan"<jeff.a.ryan at gmail.com>; ????: 2008?12?22?(???) ??1:14 ???: "Wind2"<windspeedo at qq.com>; ??: "r-sig-finance"<r-sig-finance at stat.math.ethz.ch>; ??: Re: [R-SIG-Finance] [R-sig-finance] Missing tick mark labels from barChart / quantmod - plot.xts missing Wind, This was fixed in the /dev branch (soon to be released) of xts back in July. Somehow I never pushed it through to the production version. Thanks for taking the time to debug and solve the issue though. A possibly more general patch for the production versions can be taken from here: http://r-forge.r-project.org/plugins/scmsvn/viewcvs.php/dev/pkg/R/axTicksByTime.R?rev=158&root=xts&view=markup Thanks, Jeff
On Sun, Dec 21, 2008 at 12:42 AM, Wind2 <windspeedo at qq.com> wrote:
Dear Jeff, I am glad to tell you that I have traced the problem into a line of code concerning the parameter of "%n" in time format string. Here is the data for test:
x<-xts(x[,-1],as.Date(x[,1])) #convert data frame to xts. head(x)
Symbol Close 1990-12-19 SH000001 99.98 1990-12-20 SH000001 104.39 1990-12-21 SH000001 109.13 1990-12-24 SH000001 114.55 1990-12-25 SH000001 120.25
plot(x[,"Close"],auto.grid=TRUE,minor.ticks=FALSE)
The plot is OK except that no date labels for x axis. Major ticks and grids are all Ok for x and y axis. Then I used the xts:::plot.xts method you taught me to get the definition of plot.xts. I found that a line of code as ep <- axTicksByTime(x, "auto") returned ep with no names
names(ep)
[1] "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" Then I trace the axTicksByTime. There is a line of code as: names(ep) <- format(index(x)[ep], fmt) The fmt is something like "%b %d%n%Y".
ep
1 10 263 514 767 1010 1259 1505 1748 1994 2233 2472 2712 2949 3190 3433 3674 3915 4157 4393
format(index(x)[ep])
[1] "1990-12-19" "1991-01-02" "1992-01-02" "1993-01-04" "1994-01-03" "1995-01-03" "1996-01-02" "1997-01-02" "1998-01-05" [10] "1999-01-04" "2000-01-04" "2001-01-02" "2002-01-04" "2003-01-02" "2004-01-02" "2005-01-04" "2006-01-04" "2007-01-04" [19] "2008-01-02" "2008-12-18"
format(index(x)[ep], "%b %d%n%Y")
[1] "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
I test with several definitions of format string, the format() will output nothing with "%n" in the format string. If I remove "%n", everything is OK. The help said that "%n" is for a new line. I guess maybe "%n" just conflict with something in my computer. Since my vista is in Chinese, the "%b" will output month names in Chinese. I omit the "%b". The problem is still there.
format(index(x)[ep], "%d%n%Y")
[1] "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" Then I changed the locale to US:
Sys.setlocale("LC_TIME","US")
[1] "English_United States.1252" format still has problems with "%n".
format(index(x)[ep], "%d%n%Y")
[1] "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
format(index(x)[ep], "%b %Y")
[1] "Dec 1990" "Jan 1991" "Jan 1992" "Jan 1993" "Jan 1994" "Jan 1995" "Jan 1996" "Jan 1997" "Jan 1998" "Jan 1999" [11] "Jan 2000" "Jan 2001" "Jan 2002" "Jan 2003" "Jan 2004" "Jan 2005" "Jan 2006" "Jan 2007" "Jan 2008" "Dec 2008" I could not trace the porblem futher into the definition of format() because of my limited knowledge of computer and R :( I guess maybe you have told me the issue since you have said: "not showing line breaks in the date (windows doesn't recognize this)." Previously I did not understand your comment well because I am not familiar with R. If that's the case, I wonder whether there is some easy way for me to alter the code in axTicksByTime a little in my computer to make it worked. Thanks. Information on Package xts: URL: http://r-forge.r-project.org/projects/xts/ Packaged: Tue Nov 18 09:15:14 2008; jryan Built: R 2.7.2; i386-pc-mingw32; 2008-11-18 19:22:56; windows Information on my computer: Fujitsu Notebook Windows Vista Basic, OEM, Chinese. R 2.7.2 (Previously I have got the same problem in R 2.8) Regards, Wind Jeff Ryan wrote:
Hi Wind,
plot.xts is there, just not exported. This means it gets called when
an xts object is passed to plot()
xts:::plot.xts
That aside, the issue is somewhere else. I have tried the CRAN
release, the R-forge package, and the dev code on R-forge and all seem
to show an x axis with dates.
There may be a formatting issue with Windows and the release you have
not showing line breaks in the date (windows doesn't recognize this).
Try using this version (though probably won't fix either):
install.packages("xts",repos="http://R-Forge.R-project.org")
chartSeries and plot.xts use axTicksByTime to format the labels. The
issue most likely is that of the line breaks.
All of the above have been fixed in not yet released /dev branch of
xts. We are hoping to have that ready in the next few weeks.
Jeff
On Sun, Nov 16, 2008 at 3:24 AM, ? <windspeedo at qq.com> wrote:
Dear Jeff and R experts, I wonder whether you have received the previous email on this matter. I have narrow the problem to plot.xts missing.
require(quantmod)
Loading required package: quantmod
Loading required package: xts
Loading required package: zoo
Attaching package: 'zoo'
The following object(s) are masked from package:base :
as.Date.numeric
Loading required package: Defaults
quantmod: Quantitative Financial Modelling Framework
Version 0.3-6, Revision 433
http://www.quantmod.com
getSymbols('AAPL')
[1] "AAPL"
barChart(AAPL)
#successful. But NO date label for x axis labels.
a<-Cl(AAPL) class(a)
[1] "xts" "zoo"
plot.zoo(a)
#successful. There are annual label for x axis major ticks.
chartSeries(a)
Error in sum(poss.new) : invalid 'type' (list) of argument
plot(a)
#no date label for x axis ticks
plot(as.xts(a))
#same graph as the above. still no date label for x axis ticks
plot.xts(a)
Error: could not find function "plot.xts"
?plot.xts
#the help window for plot.xts poped up.
library(help=xts)
#window poped up with the following content: Version: 0.0-15 Revision: 139 Date: 2007-06-04 Author: Jeffrey A. Ryan, Josh M. Ulrich Depends: zoo ... License: GPL-3 URL: http://r-forge.r-project.org/projects/xts/ Packaged: Mon Jun 9 23:47:46 2008; jryan Built: R 2.7.2; i386-pc-mingw32; 2008-10-15 23:19:56; windows Index: ... plot.xts Plotting xts Objects ... It seems that plot.zoo does its job but plot.xts may have some problem. Besides, the OS is Vista Oem on a notebook. R is 2.7.2 or 2.8.0. I wonder whether it is enough for R experts to diagnose the problem. Thanks. Wind
-- Jeffrey Ryan jeffrey.ryan at insightalgo.com ia: insight algorithmics www.insightalgo.com
_______________________________________________ R-SIG-Finance at stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-sig-finance -- Subscriber-posting only. -- If you want to post, subscribe first.
-- View this message in context: http://www.nabble.com/Missing-tick-mark-labels-from-barChart---quantmod---plot.xts-missing-tp20523627p21112578.html Sent from the Rmetrics mailing list archive at Nabble.com.
_______________________________________________ R-SIG-Finance at stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-sig-finance -- Subscriber-posting only. -- If you want to post, subscribe first.
Jeffrey Ryan jeffrey.ryan at insightalgo.com ia: insight algorithmics www.insightalgo.com