r - 在 ggplot barplot 中为多个条添加组标签
问题描述
我有数据框
DF <- data.frame(V1 = factor(c("Option 1", "Option 1", "Option 1", "Option 2", "Option 1", "Option 2", "Option 1", "Option 1", "Option 2", NA, "Option 2", "Option 1", "Option 2", "Option 1", "Option 2", "Option 1", "Option 2", "Option 1")),
Location = factor(c("California", "Georgia", "Texas", "Texas", "Georgia", "Georgia", "California", "Georgia", "Texas", "Texas", "California", "Georgia", "Mexico", "Mexico", "Mexico", "Canada", "Canada", "Canada")))
当我在 ggplot 中绘制它时,它会变得有点混乱,因为美国各州和其他两个国家并排显示:
DF %>%
filter(!is.na(V1)) %>%
ggplot(aes(Location, ..count..)) +
geom_bar(aes(fill = V1), position = "dodge")
Location
我可以通过重新排序变量的级别来使图更清晰:
DF$Location = factor(DF$Location, levels=c("Canada", "Mexico", "California", "Georgia", "Texas"))
DF %>%
filter(!is.na(V1)) %>%
ggplot(aes(Location, ..count..)) +
geom_bar(aes(fill = V1), position = "dodge")
但我想以某种方式标记加利福尼亚、乔治亚和德克萨斯是美国的州,例如(但不一定)在三个州的名称下方添加“美国”。有没有办法做到这一点?
下面的评论者认为这是重复的。我不这么认为。在下面链接的案例中,数据框中已经有一个“国家”等效类别。我当然可以创建一个,但是对于大型数据框来说这很耗时。我希望有一种方法可以将“国家”标签添加到情节中。
解决方案
推荐阅读
- node.js - How to share classes, with server side decorators, between server and client
- php - How can I get the session ID? from the cureent user login
- c++ - Is the main() function odr-used?
- dart - How can I initialize a mixin's immutable data in Dart?
- c++ - 与 std::wstring 的转换失败
- java - how to run another app with specific extras in android
- php - Laravel 从我在模型中的函数中获取价值
- java - 在 Bean 类型上找不到属性“{nameOfProperty}”
- python - 图像中颜色和纹理的均匀性
- java - 正则表达式模式匹配