2015-05-03 19 views
10

Đây là khung dữ liệu của tôi:khó chú thích cốt truyện khi x giá trị trục là ngày

> s 
     Date Average Treatment  SE 
1 2014-10-15 4.875   1 1.6304852 
2 2014-11-12 6.250   1 0.9955257 
3 2014-12-11 0.250   1 0.1636634 
4 2015-02-11 1.000   1 0.5000000 
5 2015-03-09 0.000   1 0.0000000 
6 2014-10-15 22.750   2 3.4369318 
7 2014-11-12 10.625   2 2.1207942 
8 2014-12-11 7.500   2 2.9215945 
9 2015-02-11 7.750   2 2.3126207 
10 2015-03-09 0.125   2 0.1250000 

Tôi đang sản xuất một âm mưu sử dụng mã này:

s$Date <- as.Date(s$Date) 
s$Treatment <- factor(s$Treatment) 
cols <- c("#000000","#F5F5DC") 
library(ggplot2) 
solitaryrecruits <- (ggplot(s, aes(x=Date, y=Average, fill=Treatment)) + 
    geom_bar(width=20, position=position_dodge(20), 
      stat="identity", colour="black") + 
    geom_errorbar(aes(ymin=Average, ymax=Average+SE), 
       width=10,      
       position=position_dodge(20))+ 
    scale_fill_manual(name="Treatment", labels=c("No Cage", "Cage"), values = cols) + 
    labs(x=("Panel Date"), y=expression(bold(paste("Mean Num. Ind. (" ,cm^2, ")", sep = "")))) + 
    theme_bw() + 
    theme(axis.text=element_text(size=14), 
     legend.title=element_text(size=14), 
     legend.text=element_text(size=12), 
     axis.title=element_text(size=16,face="bold"), 
     legend.justification = c(1, 1), legend.position = c(1, 1), 
     axis.title.x = element_text(vjust=-0.2), 
     axis.title.y = element_text(vjust=+0.6))) + 
    guides(fill = guide_legend(override.aes = list(colour = NULL))) + 
theme(legend.key = element_rect(colour = "black")) 

enter image description here

Tôi có một vài lô rằng tôi sẽ trình bày cùng nhau. Vì vậy, tôi đang cố gắng chú thích từng ô bằng cách đặt văn bản (cho ô này "a)") ở góc trên cùng bên trái. Tôi đã cố gắng tạo một lớp chú thích nhưng tôi đang cố gắng xác định vị trí x. Bất kỳ hỗ trợ nào sẽ được đánh giá cao, cảm ơn!

Edit: đây là một bức ảnh bằng tay chỉnh sửa để hiển thị những gì tôi muốn đặt vào cốt truyện:

enter image description here

Trả lời

9

Bạn có thể sử dụng chú thích để đạt được mục tiêu của bạn:

solitaryrecruits + 
    annotate(geom="text",x=as.Date("2014-10-05"), 
    y=25,label="a",fontface="bold") 

Điều quan trọng điểm là bạn cho x-phối hợp của bạn như là một ngày.

Ngoài ra, bạn có thể đặt tên lô của bạn bằng cách cho họ một danh hiệu

solitaryrecruits + labs(title="a") 
1

Bạn có thể làm điều đó như thế này:

ggplot(s, aes(x=Date, y=Average, fill=Treatment)) + annotate("a)", 
x = as.POSIXct(-Inf, origin = '2014-10-15'), y = Inf, hjust = 1, vjust = 1) 
Các vấn đề liên quan