2011-10-13 29 views
28

Tôi đang sử dụng ggplot để vẽ dữ liệu thời gian biểu đồ (cố định tỷ lệ theo thời gian cho các đối tượng khác nhau trên màn hình) và muốn sử dụng ruy-băng để hiển thị SE. cạnh trên và dưới, làm cho việc đọc đồ thị khó hơn một chút. Tôi đã không thể tìm ra cách để loại bỏ những đường viền đó. Đây là mã cốt truyện của tôi:ggplot: xóa các đường ở các cạnh ruy băng

ggplot(gaze, aes(Time, Fix, color=Object, fill=Object)) + 
    stat_summary(fun.y="mean", geom="line", size=2) + 
    stat_summary(fun.data="mean_se", geom="ribbon", alpha=.3) 

Mọi đề xuất?

Dưới đây là ví dụ hoạt động tối thiểu. Tôi đã nén dữ liệu của tôi để:

Time Object   y  lower  upper 
1 1000  C 0.12453389 0.04510504 0.2039627 
2 1000  T 0.58826856 0.37615078 0.8003864 
3 1000  U 0.09437160 0.03278069 0.1559625 
4 1100  C 0.12140127 0.03943988 0.2033627 
5 1100  T 0.64560823 0.44898727 0.8422292 
6 1100  U 0.06725172 0.01584248 0.1186610 

d <- structure(list(Time = c(1000L, 1000L, 1000L, 1100L, 1100L, 1100L), Object = structure(c(1L, 2L, 3L, 1L, 2L, 3L), .Label = c("C", 
"T", "U"), class = "factor"), y = c(0.12453389, 0.58826856, 0.0943716, 
0.12140127, 0.64560823, 0.06725172), lower = c(0.04510504, 0.37615078, 
0.03278069, 0.03943988, 0.44898727, 0.01584248), upper = c(0.2039627, 
0.8003864, 0.1559625, 0.2033627, 0.8422292, 0.118661)), .Names = c("Time", 
"Object", "y", "lower", "upper"), class = "data.frame", row.names = c("1", 
"2", "3", "4", "5", "6")) 

và đây là mã cốt truyện mới:

ggplot(d, aes(Time, y, color=Object, fill=Object)) + 
    geom_line(size=2) + 
    geom_ribbon(aes(ymin=lower, ymax=upper), alpha=.3) 
+0

Bạn có xây dựng một ví dụ làm việc tối thiểu. Điều đó có nghĩa là bạn nên thêm vào một số dữ liệu đơn giản để chạy lệnh đồ thị của mình. – csgillespie

+0

Cảm ơn, điều đó dường như đã giúp. –

Trả lời

36

Bạn có thể loại bỏ biên giới bằng cách sử dụng colour luận:

ggplot(d, aes(Time, y, color=Object, fill=Object)) + 
    geom_line(size=2) + 
    geom_ribbon(aes(ymin=lower, ymax=upper), alpha=.3, colour=NA) 
2

Ở đây bạn đi

ggplot(d, aes(Time, y, fill=Object)) + 
    geom_line(size=2, aes(colour = Object)) + 
    geom_ribbon(aes(ymin=lower, ymax=upper), alpha=.3) 
15

geom_ribbon hiểu được linetype thẩm mỹ. Chỉ cần cung cấp cho nó NA, như vậy:

ggplot(d, aes(Time, y, color=Object, fill=Object)) + 
    geom_line(size=2) + 
    geom_ribbon(aes(ymin=lower, ymax=upper, linetype=NA), alpha=.3) 

Thông tin thêm ở đây: http://docs.ggplot2.org/current/geom_ribbon.html

+0

'linetype = NA' không hoạt động đối với tôi, tuy nhiên,' linetype = 0' hoặc 'linetype = 'blank'' hoạt động. http://ggplot2.tidyverse.org/reference/aes_linetype_size_shape.html – fber

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