5
我製作了一個非常寬的圖表,它在輸出爲PNG文件時佔用了幾千像素在x軸上;有大約20年的日常數據。 (這可能會也可能不會被認爲是好的做法,但它是爲了我自己的用途,而不是用於發佈。)由於圖表非常寬,所以在您滾動瀏覽圖表時,y軸從視圖中消失。因此,我希望以每兩年一次的間隔向標繪添加標籤,以顯示y軸上的值。生成的圖表看起來像下面的一個,除了在保持其緊湊我用只有30天假數據的利益,並把標籤大約每隔10天:R:在ggplot中,如何在x軸上爲多個日期中的每一個在y軸上添加多個文本標籤
此作品或多或少地但我想知道是否有更好的方法來處理它(如下面的代碼)我有一個專門針對120,140和160三個y軸的值。真實數據有更多的層次,所以我最終會收到15個對geom_text的調用,以便將所有內容放在繪圖區域中。
問:是否有一種更簡單的方法可以將所有20多個日期(每個日期有15個標籤)一次摔到圖表上?
require(ggplot2)
set.seed(12345)
mydf <- data.frame(mydate = seq(as.Date('2012-01-01'), as.Date('2012-01-31'), by = 'day'),
price = runif(31, min = 100, max = 200))
mytext <- data.frame(mydate = as.Date(c('2012-01-10', '2012-01-20')),
col1 = c(120, 120), col2 = c(140,140), col3 = c(160,160))
p <- ggplot(data = mydf) +
geom_line(aes(x = mydf$mydate, y = mydf$price), colour = 'red', size = 0.8) +
geom_text(data = mytext, aes(x = mydate, y = col1, label = col1), size = 4) +
geom_text(data = mytext, aes(x = mydate, y = col2, label = col2), size = 4) +
geom_text(data = mytext, aes(x = mydate, y = col3, label = col3), size = 4)
print(p)
完美的作品,謝謝。必須更多地融化! – SlowLearner 2012-07-15 14:59:14