Tôi đã tạo một thanh cốt thép bằng ggplot2 và Nhật ký tôi cần gửi để yêu cầu trục đánh dấu vào trong.Làm cách nào để làm cho các trục của mình quay mặt vào trong trong ggplot2
Đây là đại diện văn bản của dữ liệu của tôi (dput)
Mean.Inc.melt<-structure(list(Var1 = structure(c(1L, 2L, 1L, 2L, 1L, 2L), .Label = c("Harvest","Pre-Harvest"), class = "factor"), Var2 = structure(c(1L, 1L, 2L, 2L, 3L, 3L), .Label =c("Dip A", "Trip A", "Trip B"), class = "factor"), value = c(2, 34, 1, 36, 3, 46)), .Names =c("Var1", "Var2", "value"), row.names = c(NA, -6L), class = "data.frame")
Bao gồm sai số chuẩn
SEM.Inc.melt<-structure(list(Var1 = structure(c(1L, 2L, 1L, 2L, 1L, 2L), .Label = c("Harvest", "Pre-Harvest"), class = "factor"), Var2 = structure(c(1L, 1L, 2L, 2L, 3L, 3L), .Label = c("Dip A", "Trip A", "Trip B"), class = "factor"), value = c(1, 12, 1, 2, 1, 6)), .Names = c("Var1", "Var2", "value"), row.names = c(NA, -6L), class = "data.frame")
Đây là kịch bản tôi đã sử dụng cho đến nay để tạo ra cốt truyện:
ggplot(Mean.Inc.melt,aes(x=Var2,y=value,fill=Var1))+
geom_bar(stat='identity',position=position_dodge(),colour='black')+
scale_fill_manual(values=c('#000000','#FFFFFF'))+
geom_errorbar(aes(ymin=Mean.Inc.melt$value-SEM.Inc.melt$value,
ymax=Mean.Inc.melt$value+SEM.Inc.melt$value),width=.1,
position=position_dodge(.9))+
xlab('Treatment')+
ylab('Percentage Incidence (%)')+
ylim(0,60)+
scale_y_continuous(expand=c(0,0),limits=c(0,60))+
scale_x_discrete(expand=c(0,0))+
theme_bw()+
theme(axis.line=element_line(colour='black'),panel.grid.major=element_blank(),
panel.grid.minor=element_blank(),panel.border=element_blank(),
panel.background=element_blank())+
geom_vline(xintercept=0)+theme(legend.position='none')
Tôi đoán vấn đề là - có ai biết nếu có cách nào tôi có thể khiến trục của tôi phải đối mặt vào trong không?
Trong ggplot 2.0.0 có 'Thông báo cảnh báo: 'axis.ticks.margin' không được dùng nữa. Vui lòng đặt thuộc tính 'margin' của 'axis.text' thay thế' - và có vẻ như 'axis.text = element_text (margin = 5)' không trợ giúp ... Tôi sẽ đăng lại nếu các giải pháp googles up. – xealits
Vì vậy, theo phương pháp thử và thử, đây là cách bạn làm điều đó ngay bây giờ: 'theme (axis.ticks.length = unit (-0.25," cm "), axis.text.x = element_text (margin = unit (c (0,5,0,5,0,5,0,5), "cm")), axis.text.y = element_text (margin = đơn vị (c (0,5,0,5,0,5,0,5), "cm"))) '- bằng cách nào đó nó không kế thừa thiết lập từ 'axis.text', và thông báo lỗi nhắc lề là một vectơ có độ dài 4. – xealits
@xealits - cảm ơn bạn đã đăng chỉnh sửa. – jbaums