[英]x axis format in ggplot2
我正在嘗試在ggplot2中做一個簡單的溫度隨時間變化的曲線。 我每天有8個月的平均溫度測量。 當我繪制此圖時,x軸變得非常擁擠。 如何格式化x軸,以便僅使用全名和年份的8個月(例如2013年10月)作為刻度名稱?
到目前為止,這是我的代碼:
T <- read.table("R_Q_all.csv", header=T, sep=";")
head(T)
Q date
1 2.440 2013-10-01
2 2.206 2013-10-02
3 2.172 2013-10-03
4 3.115 2013-10-04
5 3.136 2013-10-05
6 2.788 2013-10-06
library("ggplot2")
library("scales")
ggplot(data=na.omit(T), aes(x=date, y=Q))
+ geom_line()+
+ scale_x_date(breaks = "month", labels=date_format("%m-%Y"))+
+ xlab("date")+
+ ylab("temp"))
Fehler in aes(x = date, y = Q) + geom_line() :
nicht-numerisches Argument für binären Operator
這給我一個錯誤,即二進制運算符有一個非數字參數。
您的date
列必須是使用as.Date
的日期時間變量,並確保在每個句子的末尾加上+
號。 這是我的測試代碼:
#T <- read.table("R_Q_all.csv", header=T, sep=";")
set.seed(20141028)
T <- data.frame(Q=rnorm(100,mean=2.6428,sd=0.4433),
date=as.character(as.Date(Sys.time())+c(1:100)),
stringsAsFactors=FALSE)
head(T)
T$date <- as.Date(T$date)
library("ggplot2")
library("scales")
ggplot(data=na.omit(T), aes(x=date, y=Q))+
geom_line()+scale_x_date(breaks = "month", labels=date_format("%m-%Y"))+
xlab("date")+ylab("temp")
我創建了一個模仿read.table輸出的T data.frame,然后轉換了名為date的字符串列,並且ggplot代碼正常運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.