相关疑难解决方法(0)

使用ggplot2中的scale_x_date格式化日期

在以前版本的ggplot2中,我能够使用以下两个命令之一来格式化我的x日期:

scale_x_date(breaks = "1 month", minor_breaks = "1 week", labels=(date_format="%B")) +
Run Code Online (Sandbox Code Playgroud)

要么

scale_x_date(major="months", minor="weeks", format="%B") +
Run Code Online (Sandbox Code Playgroud)

生成完整月份名称的"%B"格式.

(我担心我再也无法区分哪一个有效,因为它们都被注释掉了.)

我不记得什么时候,但在ubuntu 12.04升级中更新R或ggplot之后,这对我来说不再适用.现在,完全相同的数据会产生错误:

Error in scale_labels.continuous(scale) : 
  Breaks and labels are different lengths
Run Code Online (Sandbox Code Playgroud)

与第一,和

Error in continuous_scale(aesthetics, "date", identity, breaks = breaks,  : 
  unused argument(s) (major = "months", minor = "weeks", format = "%B")
Run Code Online (Sandbox Code Playgroud)

随着第二个.

如果我删除labels =参数,并申请

scale_x_date(breaks = "1 month", minor_breaks = "1 week") +
Run Code Online (Sandbox Code Playgroud)

它在每个月的第一天产生日期格式"YYYY-MM-DD".

咨询功能帮助?scale_x_date,我也尝试了以下方法:

scale_x_date(breaks = "1 month", minor_breaks = "1 week", labels=date_format("%B")) +
Run Code Online (Sandbox Code Playgroud)

但是这会产生这个错误:

Error in structure(list(call = …
Run Code Online (Sandbox Code Playgroud)

formatting r date ggplot2

52
推荐指数
2
解决办法
6万
查看次数

在日期格式轴的ggplot2中绘制次要刻度(不是网格刻度)

我正在尝试为黑白出版物制作一些图形,我在使用轴时遇到了一些问题.

我需要在轴(而不是网格)中绘制数据的子图,并且我通过使用annotation_logticks(base=2, sides="trbl")with base 2 找到了一个技巧,因为我的数据与日志无关.

但这似乎不适用于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, "'")) …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 axis-labels

6
推荐指数
1
解决办法
4558
查看次数

标签 统计

ggplot2 ×2

r ×2

axis-labels ×1

date ×1

formatting ×1