R 如何使x轴文本具有垂直方向(不以90/270的角度旋转)
我希望我的X轴文本看起来像: JR 如何使x轴文本具有垂直方向(不以90/270的角度旋转),r,ggplot2,R,Ggplot2,我希望我的X轴文本看起来像: J a n 不能随字母旋转 我想把它作为一个日期轴。例如,我知道我可以用“J\na\na\n”的值使其离散。也许我可以在axis.text.x值上映射这样的值向量?但似乎应该有一个更简单的方法 下面将说明这个问题。我把它旋转了90度,但如上所示,这不是我想要的 library(tidyverse) library(scales) y<- c(52014,51598,61920,58135,71242,76254,63882,64768,53526,55290
a
n 不能随字母旋转 我想把它作为一个日期轴。例如,我知道我可以用
“J\na\na\n”
的值使其离散。也许我可以在axis.text.x值上映射这样的值向量?但似乎应该有一个更简单的方法
下面将说明这个问题。我把它旋转了90度,但如上所示,这不是我想要的
library(tidyverse)
library(scales)
y<- c(52014,51598,61920,58135,71242,76254,63882,64768,53526,55290,45490,35602)
months<-seq(as.Date("2018-01-01"),as.Date("2018-12-01"),"month")
dat<-as.tibble(cbind(y,months)) %>%
mutate(month=as.Date(months,origin="1970-01-01"))
ggplot(dat) +
geom_line(aes(x=month,y=y)) +
scale_x_date(breaks=date_breaks("month"),labels=date_format("%b")) +
theme(axis.text.x=element_text(angle=90))
库(tidyverse)
图书馆(比例尺)
y示例数据:
date <- seq(from = as.Date("2000-01-01"), to = as.Date("2000-12-01"), by = "month")
df <- data.frame(Month = date, Value = rnorm(12))
我假设您的日期变量是'date'类,所以我使用scale\u x\u date
。如果是数字或字符,请使用scale\u x\u continuous
和scale\u x\u discrete
ggplot(df, aes(x = Month, y = Value)) +
geom_line() +
scale_x_date(breaks = date, labels = mon)
这里有几点建议:我会尝试,但我没有假设我可以在日期类型列上使用字符串函数。“一月”“二月”等来自于使用scale\u x\u date(breaks=“month”)
。也许可以使用标签
参数?此外,如果您提供一个最小的可复制示例,则更容易提供帮助。尝试了gsub
函数方法,得到一个错误,该错误似乎是由于列类型引起的。为我原来的问题添加了一个示例。谢谢。我认为这是可能的。我不知道month.name(这是R中内置的某种常量吗?)。我将使用month.abb
,我发现它也存在。很高兴帮助您month.name
和month.abb
是R中的本机字符向量。如果其他人读到这篇文章,breaks=date\u breaks(“月”)
不起作用。我不得不将它切换到breaks=MY.DATE
。
ggplot(df, aes(x = Month, y = Value)) +
geom_line() +
scale_x_date(breaks = date, labels = mon)