簡體   English   中英

ggplot2中的x軸格式

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM