2013-01-11 29 views
7

HI Tôi đang sử dụng hàm ggmap và gg_point để hiển thị dữ liệu được đo tại cửa sông.geom_text không hoạt động khi ggmap và geom_point sử dụng

Mã mà tôi sử dụng là như sau:

library(ggmap) 
al1 <- get_map(location = c(lon = -87.525, lat = 30.35), zoom = 12, maptype = 'terrain') 

lon<- c(-87.604474,-87.55) 
lat<- c(30.362563,30.35) 
label <- c("A","B") 
df<-data.frame(lon,lat,label) 

p <- ggmap(al1)+geom_point(data=df,aes(x=lon,y=lat,shape=label,label=label),size=3) 
p <- p + xlab("Longitude")+ylab("Latitude") 
p <- p +geom_text(aes(label=label, size=3,vjust=0)) 
p <- p + labs(title="Monitoring stations ") 
p 

ggsave("plot.pdf") 

đây khi tôi sử dụng geom_text sau đó tôi nhận được lỗi sau: "Thẩm mỹ phải thể là chiều dài một, hoặc cùng độ dài như dataProblems: label ".

Tôi muốn đặt nhãn bên cạnh các điểm trong ô. Tôi muốn đặt cả hai điểm và nhãn và với một số khoảng cách để nó sẽ được dễ dàng hơn để đọc.

Tôi đã xem bài đăng này "ggplot legend issue w/ geom_point and geom_text" và cố gắng sửa mã của tôi như bạn có thể thấy ở trên nhưng tôi không biết tại sao tôi gặp sự cố này.

Có một bài đăng khác How can I persuade ggplot2 geom_text to label a specified date in a time series plot? có các câu hỏi tương tự. Tôi nhận được kết quả khác nhau bởi vì tôi đang sử dụng ggmap cũng?

Hãy giúp tôi giải quyết vấn đề này. Cảm ơn bạn rất nhiều.

Jdbaba

Trả lời

10

Vấn đề của bạn là bạn đã không quy định tính thẩm mỹ trong geom_text một cách chính xác:

geom_text(data = df, aes(x = lon, y = lat, label = label), 
      size = 3, vjust = 0, hjust = -0.5) 

Bạn không nói geom_text sử dụng các biến từ khung dữ liệu df. Nếu bạn không làm điều này, tất cả thẩm mỹ được thừa hưởng từ cuộc gọi chính. Cuối cùng, khi đặt tính thẩm mỹ thành một giá trị duy nhất, bạn không làm điều này bên trong aes(), nhưng ở bên ngoài.

Tôi đã cài đặt chế độ hjust để hiển thị nhãn.

+0

Cảm ơn joran, tôi đã tìm ra điều đó và sẽ đăng bài đó. Cảm ơn bạn rất nhiều vì thời gian của bạn. –

+0

@Jdbaba Không sao cả. (Tôi đã sai về unmapping 'hình dạng', btw.) – joran

+0

Tôi chỉ học R và ggplot và rất vui mừng với loại hỗ trợ các bạn cung cấp. Cảm ơn @Joran và @ Josh O'Brien –

Các vấn đề liên quan