【发布时间】:2014-08-12 15:26:30
【问题描述】:
我正在尝试为黑白出版物制作一些图形,但我在轴上遇到了一些问题。
我需要在轴(而不是网格)中绘制数据的子刻度,并且我发现了一个技巧,即使用基数为 2 的 annotation_logticks(base=2, sides="trbl"),因为我的数据在日志中不相关。
但这似乎不适用于 y 轴,它是日期格式类型 (xts)。
到目前为止,我得到的图表如下所示,我只需要删除背景网格(这部分应该很容易)并在 y 轴上添加刻度(这对我来说是困难的部分)。
这是我用来绘制图表的代码:
ratio_plot_start_time = "01:45"
ratio_plot_end_time = "02:10"
channelNo = 1
p <- ggplot(onsetratios, aes(x=ratio*100, y=onset)) + geom_point(aes(y=onset))
p <- p + ylim(as.POSIXct(paste(date, ratio_plot_start_time, sep=" ")), as.POSIXct(paste(date, ratio_plot_end_time, sep=" ")))
p <- p + geom_errorbar(aes(ymin=onset-error, ymax=onset+error), width=0.0)
p <- p + xlab(expression("percent of peak counts"))+ ylab(expression("UT Time (2012 May 17)")) + theme(aspect.ratio = 2/(1+sqrt(5)))
p <- p + theme_bw(base_size = 14, base_family = "Helvetica") + annotate("text",x=max(onsetratios$ratio),y=as.POSIXct(paste(date, ratio_plot_end_time, sep=" ")),vjust=4,hjust=2,label=paste("F", channelNo, "'"))
p <- p + annotation_logticks(base=2, sides="trbl")
而用于构建图表的数据是:
> onsetratios
ratio onset error
1 0.01092106 2012-05-17 01:49:03 19.05407
2 0.02092106 2012-05-17 01:49:35 14.89534
3 0.03092106 2012-05-17 01:51:01 12.82914
4 0.04092106 2012-05-17 01:50:22 21.45099
5 0.05092106 2012-05-17 01:50:22 21.45099
6 0.06092106 2012-05-17 01:51:13 20.09877
7 0.07092106 2012-05-17 01:51:13 20.09877
8 0.08092106 2012-05-17 01:51:13 20.09877
9 0.09092106 2012-05-17 01:51:13 20.09877
10 0.10092106 2012-05-17 01:52:34 15.53187
11 0.11092106 2012-05-17 01:53:53 14.79303
12 0.12092106 2012-05-17 01:53:53 14.79303
13 0.13092106 2012-05-17 01:53:32 17.12521
14 0.14092106 2012-05-17 01:53:32 17.12521
15 0.15092106 2012-05-17 01:53:32 17.12521
16 0.16092106 2012-05-17 01:53:32 17.12521
17 0.17092106 2012-05-17 01:46:30 36.96600
18 0.18092106 2012-05-17 01:46:30 36.96600
19 0.19092106 2012-05-17 01:46:30 36.96600
【问题讨论】:
标签: r ggplot2 axis-labels