Tôi có một số mã ggplot hoạt động tốt trong 0.8.9 nhưng không phải trong 0.9.1.geom_vline với Ký tự xintercept
Tôi sẽ vẽ dữ liệu trong theDF
và muốn vẽ một đường thẳng đứng tại xintercept="2010 Q1."
theGrid
chỉ được sử dụng để tạo theDF
.
theGrid <- expand.grid(2009:2011, 1:4)
theDF <- data.frame(YrQtr=sprintf("%s Q%s", theGrid$Var1, theGrid$Var2),
Minutes=c(1000, 2200, 1450, 1825, 1970, 1770, 1640, 1920, 1790, 1800, 1750, 1600))
Mã được sử dụng là:
g <- ggplot(theDF, aes(x=YrQtr, y=Minutes)) +
geom_point() +
opts(axis.text.x=theme_text(angle=90))
g + geom_vline(data=data.frame(Vert="2010 Q2"), aes(xintercept=Vert))
Một lần nữa, điều này làm việc tốt trong R 2.13.2 với ggplot2 0.8.9, nhưng không vào R 2.14+ với ggplot2 0.9.1.
Một cách giải quyết là:
g + geom_vline(data=data.frame(Vert=4), aes(xintercept=Vert))
Nhưng đó không phải là một giải pháp tốt cho vấn đề của tôi.
Có thể gây rối với scale_x_discrete
có thể hữu ích?
Điều này không thể tái sản xuất nếu không có 'theVerts' (mà tôi cho là khung dữ liệu?). – joran
@joran Tôi tình cờ có 'data =' trong 'aes'. Bây giờ nó đã được sửa, theVerts đã được thay thế bằng 'data.frame (Vert =" 2010 Q2 ")'. – Jared
Điều này trông giống như một lỗi. Bạn có thể gửi một vấn đề tại: https://github.com/hadley/ggplot2/issues – wch