小编R.V*_*Van的帖子

如何在ggplot2(R)的条形图中仅更改一个条形图的geom_text的颜色和位置?

我正在尝试创建一个条形图,其中使用 ggplot2 将所描绘的值写入条形图内。我仍然想用值“0”标记该组,但使用不同的颜色(黑色)并在 x 轴的正上方。如何仅更改此 geom_text 的位置和颜色?

我已经尝试在 scale_colour_manual 中输入一个向量,但它没有用(或者我没有做对)。

data <- read.table(text = "group percentage
               group1 30
               group2 29
               group3 0
               group4 18", header=TRUE)

library(ggplot2)
ggplot(data, aes(x=group, y=percentage))+
  theme_bw()+
  geom_bar(stat = 'identity', position = "dodge", fill="#13449f")+
  geom_text(aes(label = percentage), position = position_dodge(0.9), 
  vjust=1.3, colour = "white", size=6)
Run Code Online (Sandbox Code Playgroud)

使用此代码,group3 没有标签,因为也没有栏。我想在 x 轴上方仍然有一个黑色标签。

r ggplot2 geom-text

6
推荐指数
1
解决办法
2564
查看次数

在ggplot2中将三个相同大小的图排列在两行上

我试图在 ggplot2 中排列三个相同大小的图(或多或少是二次的)。我希望两个图位于上行,一个位于下行。下排的单个图应居中。我只知道当下部图左对齐时如何排列图。

到目前为止,我一直在使用 ggarrange 来排列绘图(因为使用了align=“v”命令)。我的代码看起来像这样(首先我创建了三个图 p1、p2、p3):

ggsave("H:/Documents/graph.pdf", height=8, width=10, units="in", dpi=300,
   ggarrange(p1, p2, p3, ncol=2, nrow=2, align="v"))
Run Code Online (Sandbox Code Playgroud)

我也尝试过将 grid.arrange 与layout_matrix 命令一起使用,但这根本不起作用!

有谁知道我如何将下部图居中?

r ggplot2

1
推荐指数
1
解决办法
3643
查看次数

如何在 ggplot2 中为 geom_text 更改千位分隔符

我使用 ggplot2 创建了一个条形图,并用它们描绘的值标记了条形图。由于这些值相当大,我想使用千位分隔符。但我想使用倒逗号而不是普通逗号(我已经找到了如何使用逗号分隔)。

我已经尝试以同样的方式来改变 scale_y_continuous 中的千位分隔符,但它没有用。

我还读到我应该使用:

df <- df %>%
  mutate(label.income = gsub("\\,","'", scales::comma(income)))
Run Code Online (Sandbox Code Playgroud)

但是后来我总是收到以下错误消息:“使用方法中的错误(“mutate_”):“mutate_”没有适用的方法应用于“函数”类的对象”

这是我正在使用的数据和代码:

set1 <- read.table(text = "group income
           group1 30500
           group2 29000
           group3 60500
           group4 18000", header=TRUE)

library(ggplot2)
ggplot(set1, aes(x=group, y=income))+
  theme_bw()+
  geom_bar(stat = 'identity', position = "dodge", fill="#13449f")+
  geom_text(aes(label = income), position = position_dodge(0.9), 
        vjust=1.3, colour = "white", size=5)+
  scale_y_continuous(breaks = seq(0, 70000, by = 10000), limits = c(0,70000), labels=function(income) format(income, big.mark = "'", scientific = FALSE))
Run Code Online (Sandbox Code Playgroud)

如何在条形标签上使用与 y 轴上相同的千位分隔符?

r bar-chart ggplot2 geom-text

0
推荐指数
1
解决办法
3223
查看次数

标签 统计

ggplot2 ×3

r ×3

geom-text ×2

bar-chart ×1