我需要绘制一个显示计数的条形图和一个在一个图表中显示速率的折线图,我可以分别做两个,但是当我把它们放在一起时,我的第一层的比例(即geom_bar)与第二层重叠层(即geom_line).
我可以将轴geom_line向右移动吗?
我在上个月一直在加快速度.
这是我的问题:
将颜色分配给ggplot2中具有稳定映射的分类变量的好方法是什么?我需要在一组图表中具有一致的颜色,这些图表具有不同的子集和不同数量的分类变量.
例如,
plot1 <- ggplot(data, aes(xData, yData,color=categoricaldData)) + geom_line()
Run Code Online (Sandbox Code Playgroud)
哪里categoricalData有5个级别.
然后
plot2 <- ggplot(data.subset, aes(xData.subset, yData.subset,
color=categoricaldData.subset)) + geom_line()
Run Code Online (Sandbox Code Playgroud)
哪里categoricalData.subset有3个级别.
但是,两组中的特定级别将以不同的颜色结束,这使得更难以一起阅读图形.
我是否需要在数据框中创建颜色矢量?或者是否有另一种方法可以为类别指定特定颜色?
在ggplot2,我怎么能修改axis.line.y只对sec.axis(如果可能的话)?
p <- ggplot(mtcars, aes(cyl, mpg)) +
geom_point()
# Create a simple secondary axis
p + scale_y_continuous(sec.axis = sec_axis(~.+10)) +
theme(axis.line.y = element_line(color = "red"),
# I can modify text color but not sure about line?
axis.text.y.right = element_text(color = "red"))
Run Code Online (Sandbox Code Playgroud)
更新:如评论beloew所示,对右轴元素的完全控制现在包含在ggplot2的开发版本中 theme( axis.line.y.right = element_line(color = "red"), axis.ticks.y.right = element_line(color = "red"))
我正在尝试创建一个ggplot2图形,该图形显示相互重叠的条形图和折线图。在excel中,这可以通过添加第二个轴来完成。
x轴表示产品类型,条形图的y值应表示收入,而我想将利润率表示为百分比的折线图。折线图和条形图的值应彼此独立,即不存在这种关系。
require(ggplot2)
df <- data.frame(x = c(1:5), y = abs(rnorm(5)*100))
df$y2 <- abs(rnorm(5))
ggplot(df, mapping= aes(x=as.factor(`x`), y = `y`)) +
geom_col(aes(x=as.factor(`x`), y = `y`),fill = 'blue')+
geom_line(mapping= aes(x=as.factor(`x`), y = `y`),group=1) +
geom_label(aes(label= round(y2,2))) +
scale_y_continuous() +
theme_bw() +
theme(axis.text.x = element_text(angle = 20,hjust=1))
Run Code Online (Sandbox Code Playgroud)
上面的图像几乎产生了我想要的。但是,缩放比例不正确-我需要按幅度对1.38和0.23值进行排序,即0.23点应显示在1.38以下。我也不确定如何在右侧添加另一个轴。