我用ggplot来绘制时间进程数据(屏幕上不同对象的固定比例随时间变化),并希望使用功能区来显示SE,但功能区本身在顶部和底部边缘有线条,这使得读取图形有点困难.我还没弄明白怎么去掉那些边缘线.这是我的绘图代码:

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

有什么建议吗?

下面是一个简单的工作示例.我已将数据压缩到:

   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"))

这是新的绘图代码:

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

推荐答案

可以使用colour参数删除边框:

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

R相关问答推荐

如何将绘图复制到剪贴板进行粘贴?

如何强制我的向量拆分为参数?

在 tibble R 的截止范围内随机采样

用一个区分列连接两个数据帧的单行器?

R中有没有办法改变累积减法来更新相同的变异变量?

在R中按组查找最长的值序列

使用矩阵图(matplot)作为 map ,位置作为位置

从R中的数字字符串创建单个数字的列总计

使用 ggplot2 创建一个中心 y 轴图,左右两侧有两个 x 轴

如果条件在 R 中匹配,则将一列拆分为两个现有列

减少标题和表格之间的填充

有没有办法初始化或修改允许引用先前值的列表?

比较两个矩阵,保持一个矩阵中的值在另一个矩阵中为 TRUE

在R中递归添加一列

取R中数组中所有元素的矩阵乘积?

似乎无法让 stringr() 恰好适合中间字符串提取

将一行转换成combine,c()作为r中的向量,然后用向量计算余弦相似度

网络元素名称的几种组合的正则表达式

R pivot_longer 带有存根名称和最后一个下划线

在 qqnorm 图中添加一条直线