Vì một số lý do, hàm tôi đang phù hợp với ggplot2
đang mở rộng ra ngoài trục y, mặc dù giá trị tối thiểu có thể đạt được bằng không. Vì vậy, trong cố gắng để hạn chế giới hạn dưới bằng không, tôi nhận thấy rằng dường như người ta không thể đặt chỉ giới hạn dưới để các điểm dữ liệu bị bỏ qua (hoặc các điểm dự đoán, rõ ràng). Điều này có đúng không?ggplot2 - đặt giới hạn dưới lớn hơn điểm thấp nhất
Ví dụ, người ta có thể sử dụng expand_limits
để thu nhỏ, vì nó là:
require(ggplot2)
p = ggplot(mtcars, aes(wt, mpg)) + geom_point()
p + expand_limits(y=0)
Nhưng người ta không thể phóng to:
p + expand_limits(y=15)
Cùng với việc thiết lập thẩm mỹ:
p + aes(ymin=0)
p + aes(ymin=15)
Tôi biết tôi có thể sử dụng ylim
, coord_cartesian
, v.v. để đặt cả hai giới hạn trên và dưới, nhưng trong trường hợp này, tôi chuyển danh sách tới ggplot
bằng cách sử dụng lapply
và các thay đổi giới hạn trên dựa trên đối tượng nào trong danh sách đang được vẽ. Vì vậy, tôi trở lại để vẽ từng đồ vật riêng lẻ, điều này rất tẻ nhạt. Bất kỳ ý tưởng?
EDIT: Hadley xác nhận điều này là không thể, do đó, giải pháp thay thế bằng @Arun sẽ phải làm!
tôi dường như không thể tìm thấy nó ngay bây giờ, nhưng tôi cảm thấy chắc chắn điều này đã được thảo luận trong danh sách gửi thư ggplot2. Sự hồi tưởng mơ hồ của tôi là một số người đưa ra ý tưởng cho phép bạn truyền 'Inf' hoặc' -Inf' thành 'xlim' và' ylim' nhưng việc thực hiện thực tế lại phức tạp hơn nhiều so với nó. – joran
@jslefche, như một công việc xung quanh, bạn không thể đặt nó là 'ylim (your_val, max (mtcars $ mpg))'? (khi bạn lặp lại, bạn có thể vượt qua giá trị tối đa của dữ liệu đó mọi lúc ..)? joran, bạn có chắc nó là cho 'xlim' và không cho' geom_rect'? – Arun
@Arun Tôi biết Inf có thể được sử dụng trong geom_rect, tôi thực sự cảm thấy như tôi nhớ yêu cầu này xuất hiện trên danh sách gửi thư, và một số người cho rằng nó sẽ là tốt đẹp nếu bạn có thể vượt qua Inf và -Inf để xlim và ylim , và rồi Hadley hoặc ai đó giải thích rằng điều đó sẽ tốt đẹp, nhưng rất khó thực hiện. – joran