- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在查看了 StackOverflow 上提供的一些答案后,我一直试图添加一个额外的图例,但不知何故我无法完成这项工作。我正在使用以下代码:
x_breaks <- seq(as.Date("2010/1/1"), as.Date("2015/4/1"), "months")
x_labels <- as.character(x_breaks, format="%b%y")
vLines <- data.frame('Date'=as.Date('2014/1/1'))
vLines <- rbind(vLines,vLines,vLines,vLines)
vLines$Date[1] <- as.Date('2010/6/7')
vLines$Date[2] <- as.Date('2012/1/1')
vLines$Date[3] <- as.Date('2012/10/1')
vLines$Date[4] <- as.Date('2013/1/1')
vLines$grp <- c('Complex Cases','Breach of Contract Cases','PI, PD and WD cases','All other civil cases')
p <- ggplot(toPlot[1:296,], aes(x=Date, y=value, fill=OrderType)) + scale_x_date(breaks=x_breaks, labels=x_labels) +
geom_area(stat="identity",alpha=0.6) +
# scale_y_continuous(labels = percent_format()) +
ggtitle('Some Title') + theme_bw() + ylab('Transactions') + xlab('') +
theme(axis.text.y=element_text(hjust=0, angle=0),
axis.text.x = element_text(hjust=1, angle=45),
panel.grid.minor.x = element_blank(),
panel.grid.minor.y = element_blank(),
panel.grid.major.x=element_line(color='grey90',linetype='dashed'),
panel.grid.major.y=element_line(color='grey90',linetype='dashed'),
plot.title=element_text(size=20),
axis.text=element_text(size=15),
legend.text=element_text(size=20),
legend.key=element_blank(),
legend.title=element_blank()) +
scale_fill_manual(values=c("#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a")) +
geom_vline(data=vLines,aes(xintercept=as.numeric(Date),color=grp,linetype=grp),size=1,show_guide=TRUE)
p
dput(head(toPlot))
的输出是:
structure(list(Date = structure(c(14853, 14914, 15034, 15187,
15309, 15340), class = "Date"), OrderType = structure(c(1L, 1L,
1L, 1L, 1L, 1L), .Label = c("Delivery", "eFiling", "Filing",
"ProcessServing", "Research"), class = "factor"), variable = structure(c(1L,
1L, 1L, 1L, 1L, 1L), .Label = c("Orders", "Revenue"), class = "factor"),
value = c(1, 1, 1, 1, 18, 37)), .Names = c("Date", "OrderType",
"variable", "value"), row.names = c(NA, 6L), class = "data.frame")
最佳答案
怎么样show_guide=FALSE
在:
geom_vline(data=vLines,aes(xintercept=as.numeric(Date),color=grp,linetype=grp),size=1,show_guide=FALSE)
ggplot
绘制一个图例,它尝试使用所有可能的属性(填充、颜色、线型),因此绘制
fill
传说你也得到
vline
线条属性(颜色和线型)。
guides(fill=guide_legend(override.aes=list(colour=NA)))
scale_fill_manual(values=c("#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a")),
guide=guide_legend(override.aes = list(colour=NA)) +
geom_area
之后
geom_vline
,正如这里的建议:
how to remove line from fill scale legend using geom_vline and geom_histogram r ggplot2
vline
的情况下执行此操作。 ,但这在您的情况下不会很好用,因为您有
alpha=0.6
值(value)。因此,对于此解决方案,您还需要使用
override.aes
,有这样的事情:
scale_fill_manual(values=c("#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a"),
guide=guide_legend(override.aes=list(alpha=1))) +
geom_vline(data=vLines,aes(xintercept=as.numeric(Date),color=grp,linetype=grp),size=1,show_guide=TRUE)+
geom_area(stat="identity",alpha=0.6)
geom
并添加:
guides(fill=guide_legend(override.aes=list(alpha=1)))
guide_legend(override.aes)
如果有其他解决方案。写作是安定下来的好方法。
关于r - 图例显示带有 geom_vline 的意外黑线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29975176/
我知道之前有人问过这个问题,但这些解决方案似乎对我不起作用。 我想要做的是用不同颜色在直方图上表示我的中位数、均值、上下分位数,然后在图中添加图例。这就是我到目前为止所拥有的,我尝试使用 scale_
我想在我的绘图上绘制几条垂直线,并为每个相应的 vline 提供一个图例。 阅读后this post ,这是我实现的: set.seed(99) df.size <- 1e6 my.df <- dat
我想在我的绘图上绘制几条垂直线,并为每个相应的 vline 提供一个图例。 阅读后this post ,这是我实现的: set.seed(99) df.size <- 1e6 my.df <- dat
对于下面的数据集,我想使用密度图来比较以下变量在两种性别中的分布:withdraw、affect 和 estress。这些图还应包含描述每个性别变量平均值的垂直线,并绘制在具有不同方面的同一图形上。
在查看了 StackOverflow 上提供的一些答案后,我一直试图添加一个额外的图例,但不知何故我无法完成这项工作。我正在使用以下代码: x_breaks <- seq(as.Date("2010
我试图扩展我的 ggplot 图中的 geom_vline 线,以超出绘图空间并进入轴区域。这样做的目的是让这些线分隔轴标签,以便它可以与旁边的另一个图对齐(见下文)。 一些简短的示例代码(我有更多的
我正在尝试添加应该特定于每个情节方面的垂直线。我试图通过与绘图数据分组相同的过程对 geom_vline 数据进行分组来做到这一点。垂直数据来自与点不同的数据帧。下面的代码行是我所拥有的。 plots
我使用分面 View 绘制了 3 个直方图,并为均值和中值添加了 vlines。 我想添加一个图例来指示哪个 vline 指的是哪个统计数据。 ggplot(x, aes(x=earnw)) + ge
我的情节中有这五 (5) 个 geom_vline(),我希望它们具有不同的颜色。有没有办法做到这一点? 这是我的代码, library(ggplot2) x <- seq(-7, 8, length
我无法在绘图的 x 轴上绘制离散(因子)级别的垂直线。在此解决方案中似乎有效 drawing vertical line with factor levels in ggplot2 但是 OTH 这不
我有一些 ggplot 代码在 0.8.9 中运行良好,但在 0.9.1 中不起作用。 我将绘制 theDF 中的数据并想在 xintercept="2010 Q1." 处绘制一条垂直线theGrid
我尝试在图表中包含一条垂直线,x 轴上有日期。线的位置应在某个日期之前确定。然而,我无法通过日期本身来控制位置,而只能通过数据集中日期的位置/行来控制。 由于其他行可能会在稍后的时间点进入数据集,因此
我四处寻找,但无法找到答案。我想做一个加权 geom_bar 图,上面覆盖着一条垂直线,显示每个方面的整体加权平均值。我无法做到这一点。垂直线似乎是应用于所有方面的单个值。 require('ggpl
我用 geom_hline() 和 geom_vline() 创建了一个散点图,该图很好,但图例条目不是我想要的显示方式。 vline (Restauration) 和 hline (Threshol
请看下面的例子 library(dplyr) library(lubridate) library(ggplot2) data data # A tibble: 5 × 3 time
与其他 ggplot geom 相比,geom_vline 似乎在色彩美学方面“表现不佳”。我想弄清楚我是否对 geom_vline 有误解,或者这是否是对 geom_vline 设计的疏忽。 # F
我使用 ggplot2 创建了一个混合密度图,我想在图中添加摘要信息,即每个密度的均值和代表某种真实均值的 1 个值。 这是从@Hernando Casas 借来的模拟示例。 set.seed(123
我有一个很大的时间序列数据集,我使用 xts 在 30 秒内进行了总结。不知道如何使这组易于重现,但它看起来像这样 > str(taonedf) 'data.frame': 480 obs. of
使用 geom_tile 函数时,我无法删除矩形之间的空白区域。 df <- data.frame( x = c(seq(2,16,2),seq(17,39,2)), y = c(rep(c(
我正在创建一个密度图并对其进行分面。假设我有 4 个变量组,使用这个变量对其进行分面将生成 4 个密度图。 对于每个密度图,我都画了一条代表平均值的垂直线。 然而,需要观察并查看 x 轴和垂直线之间的
我是一名优秀的程序员,十分优秀!