首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在ggplot2中设置因子顺序和颜色

如何在ggplot2中设置因子顺序和颜色
EN

Stack Overflow用户
提问于 2021-11-02 13:42:46
回答 1查看 52关注 0票数 1

我正在尝试为我的7个变量中的每个变量分配颜色,并以特定的顺序设置变量。然而,geom_col代码中的'my_scale‘似乎覆盖了我的因子顺序,并将它们放回字母顺序。当我运行没有'my_scale‘行的脚本时,它们的顺序是正确的。

代码语言:javascript
运行
AI代码解释
复制
my_colors <- c("#1b9e77", "#d95f02", "#66A628", "#E81E89", "#7570b3", "#FFC000", "#0E85F2")
names(my_colors) <- levels(factor(c(levels(behavssec$Behaviour), levels(behavssec$Behaviour))))
my_scale <- scale_fill_manual(name = "Behaviour", values = my_colors)
behavssec$Behaviour <- factor(behavssec$Behaviour,levels = c("Burst","High energy swimming"   , "Medium energy swimming", "Low energy swimming", "Travel", "Ascending", "Descending"))

ggplot(behavssec, aes(fill=Behaviour, y=n, x= SharkID)) +
    geom_col(position = position_dodge2(width = 0.9, preserve = "single"))+
  theme_classic ()+ my_scale +
  theme (axis.text.x=  element_text( size = 12))+
theme (axis.text.y = element_text( size=16))+
  labs(x= "SharkID", y= "Time (second)")

具有my_scale的图形-将颜色指定给因子,但顺序错误:

因子按正确的顺序排列,但没有指定颜色:

这是我正在处理的数据:

代码语言:javascript
运行
AI代码解释
复制
SharkID Behaviour   n
2   High energy swimming    2067
2   Medium energy swimming  3413
3   High energy swimming    16473
3   Medium energy swimming  15191
4   Burst   11
4   High energy swimming    825
4   Low energy swimming 24855
4   Medium energy swimming  465
5   High energy swimming    38
5   Low energy swimming 20063
5   Medium energy swimming  12
6   Burst   102
6   High energy swimming    21262
6   Medium energy swimming  6233
1   Ascending   1654
1   Burst   19
1   Descending  1211
1   Low energy swimming 5357
1   Travel  10685
EN

回答 1

Stack Overflow用户

发布于 2021-11-09 06:08:32

你的想法是对的。对于scale_fill_manual,需要在命名矢量中提供颜色。稍微简化的示例:

代码

代码语言:javascript
运行
AI代码解释
复制
my_colors <- c(
    "#1b9e77", "#d95f02", "#66A628", "#E81E89", 
    "#7570b3", "#FFC000", "#0E85F2"
)
names(my_colors) <- levels(behavssec$Behaviour)

ggplot(behavssec, aes(x = SharkID, y = n, fill = Behaviour)) +
    geom_col(position = position_dodge2(width = 0.9, preserve = "single")) +
    scale_fill_manual(name = "Behaviour", values = my_colors)

数据

代码语言:javascript
运行
AI代码解释
复制
library(ggplot2)
behavssec <- structure(list(SharkID = c(2L, 2L, 3L, 3L, 4L, 4L, 4L, 4L, 5L, 
5L, 5L, 6L, 6L, 6L, 1L, 1L, 1L, 1L, 1L), Behaviour = c("High energy swimming", 
"Medium energy swimming", "High energy swimming", "Medium energy swimming", 
"Burst", "High energy swimming", "Low energy swimming", "Medium energy swimming", 
"High energy swimming", "Low energy swimming", "Medium energy swimming", 
"Burst", "High energy swimming", "Medium energy swimming", "Ascending", 
"Burst", "Descending", "Low energy swimming", "Travel"), n = c(2067L, 
3413L, 16473L, 15191L, 11L, 825L, 24855L, 465L, 38L, 20063L, 
12L, 102L, 21262L, 6233L, 1654L, 19L, 1211L, 5357L, 10685L)), class = "data.frame", row.names = c(NA, 
-19L))

behavssec <- read.table(text = "
SharkID,Behaviour,n
2,High energy swimming,2067
2,Medium energy swimming,3413
3,High energy swimming,16473
3,Medium energy swimming,15191
4,Burst,11
4,High energy swimming,825
4,Low energy swimming,24855
4,Medium energy swimming,465
5,High energy swimming,38
5,Low energy swimming,20063
5,Medium energy swimming,12
6,Burst,102
6,High energy swimming,21262
6,Medium energy swimming,6233
1,Ascending,1654
1,Burst,19
1,Descending,1211
1,Low energy swimming,5357
1,Travel,10685
", header = TRUE, sep = ",")

behavssec$Behaviour <- factor(
    behavssec$Behaviour,
    levels = c(
        "Burst","High energy swimming",
        "Medium energy swimming",
        "Low energy swimming",
        "Travel",
        "Ascending",
        "Descending"
    )
)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69817252

复制
相关文章
ggplot2设置legend顺序
library(tidyverse) library(patchwork) dat_wide <- tibble( x = 1:3, top = c(4.5, 4, 5.5), middle = c(4, 4.75, 5), bottom = c(3.5, 3.75, 4.5) ) dat <- dat_wide %>% pivot_longer( cols = c(top, middle, bottom), names_to = "region", valu
用户1359560
2020/04/09
2.1K0
如何在 PowerBI 中设置数值标签的动态颜色
PowerBI 的数值标签从 2022 年 8 月开始支持动态颜色了。 首先,需要下载最新版的 Power BI Desktop。 渐变色方式 效果如下: 在【视觉对象】【数据标签】【值】【颜色】下设置即可。如下: 动态标记最大值与最小值 还可以用度量值进行设置,例如标记最大值与最小值。度量值如下: View.Color = 注意 这里的 DAX 用到的《BI 真经》视图型计算方法,不再重复。 这样就可以通过度量值,动态标记颜色,如下: 扩展创意用法 太多标签比较乱,可以仅仅显示需要的标签。创建
BI佐罗
2022/12/18
17.9K0
如何在 PowerBI 中设置数值标签的动态颜色
pycharm的背景颜色设置_css中设置背景颜色
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/174387.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/27
7.4K0
pycharm的背景颜色设置_css中设置背景颜色
在seaborn中设置和选择颜色梯度
seaborn在matplotlib的基础上进行开发,当然也继承了matplotlib的颜色梯度设置, 同时也自定义了一系列独特的颜色梯度。在seaborn中,通过color_palette函数来设置颜色, 用法如下
生信修炼手册
2020/11/02
4K0
在seaborn中设置和选择颜色梯度
pycharm怎么设置字体和颜色_pycharm背景颜色
1.settings-Appearance–勾选Override default fonts.
全栈程序员站长
2022/09/27
4.2K0
pycharm怎么设置字体和颜色_pycharm背景颜色
markdown怎么设置颜色和字体以及背景颜色?
使用markdown写博客时,可能需要设置字体、颜色以及背景色,现在就做一个小小的分享。
青山师
2023/05/04
2.5K0
HTML:设置背景颜色和图片[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/134572.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/18
6.1K0
css颜色介绍和背景设置
现在美丽网页的设计图中颜色五花八门的,网页模块中漂亮背景图也很多,网页中颜色和背景设置必不可少,接下来我们就先学颜色是如何表达的,要知其然,知其所以然。
呆呆
2021/09/28
1.9K0
设置pycharm背景颜色_python设置背景颜色
1、选择不同的主题、选择背景图片            Appearnce & Behavior  –>  Appearance
全栈程序员站长
2022/09/27
3.9K0
如何在 Linux 中安装、设置和使用 SNMP?
SNMP(Simple Network Management Protocol)是一种用于管理和监控网络设备的协议。它允许网络管理员通过远程方式收集设备的运行状态、性能数据和错误信息,以便进行故障排除和网络优化。在Linux系统中,我们可以安装、设置和使用SNMP来监控和管理服务器和网络设备。本文将详细介绍在Linux中安装、设置和使用SNMP的步骤和方法。
网络技术联盟站
2023/06/25
3.6K0
如何在 Linux 中安装、设置和使用 SNMP?
如何在 Linux 中安装、设置和使用 SNMP?
在Linux系统中,我们首先需要安装SNMP软件包。具体的安装命令可能因您使用的Linux发行版而有所不同。以下是一些常见的发行版的安装命令示例:
网络技术联盟站
2023/09/06
3.6K0
如何在 Linux 中安装、设置和使用 SNMP?
matlab中plotyy设置曲线颜色,matlab plotyy 颜色「建议收藏」
MATLAB 画双纵坐标 plotyy 的用法 对数坐标 MATLAB 画双纵坐标具有两个纵坐标标度的图形 在 MATLAB 中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用 ……
全栈程序员站长
2022/07/05
1.7K0
pycharm设置字体颜色_pycharm界面颜色设置
File–>Settings–>Editor–> Color Scheme–>Language Defaults–>Comments–>Line comment–>再选取自己想要的颜色即可
全栈程序员站长
2022/09/27
3.1K0
pycharm设置字体颜色_pycharm界面颜色设置
ggplot2包图形参数(坐标轴、分面、配色)整理
R具有强大的统计计算功能和便捷的数据可视化系统。目前R主要支持四套图形系统:基础图形(base)、网格图形(grid)、lattice图形和ggplot2。其中ggplot2凭借强大的语法特性和优雅的图形外观,逐渐成为R中数据可视化的主流选择。
DataCharm
2021/02/22
11.5K0
ggplot2包图形参数(坐标轴、分面、配色)整理
ggplot2点图调整顺序
但是这里有个问题是,本来应该还有一组点,因为这一组点最少,画在最下边被挡住了。我想让这一组点显示出来。一开始我打算修改分组的levels的顺序,将这一组换一下位置,但是最终图并没有变化。
生信编程日常
2020/06/28
1.3K0
Android中TextView文字设置不同的颜色
在项目的过程中会遇到在一行文字中,部分功能需要不同的文字颜色来展示,下面介绍两种方式实现:
SoullessCoder
2019/08/07
9.9K0
Android中TextView文字设置不同的颜色
windows默认颜色设置_微信怎么设置颜色皮肤
emwin使用了默认皮肤之后就不能够容易的重新设置颜色。这边我提供一种解决的方法,以button为例子。 正常设置皮肤BUTTON_SetDefaultSkin(BUTTON_SKIN_FLEX);后效果如下:
全栈程序员站长
2022/09/27
2.8K0
IDEA设置背景颜色和字体「建议收藏」
我设置的颜色是R = 199; G = 237; B = 204; #为#C7EDCC
全栈程序员站长
2022/07/29
6.1K0
IDEA设置背景颜色和字体「建议收藏」
【SeeMusic】音符方块颜色设置 ( 单一颜色设置 | 多彩音符设置 | 定时变色设置 | 渐变颜色 | 分轨道提示 )
【SeeMusic】下载安装并注册 SeeMusic 软件 【SeeMusic】购买付费版本 ( 进入购买页面 | 购买流程 )
韩曙亮
2023/03/29
1.6K0
【SeeMusic】音符方块颜色设置 ( 单一颜色设置 | 多彩音符设置 | 定时变色设置 | 渐变颜色 | 分轨道提示 )
点击加载更多

相似问题

ggplot2因子颜色和图例调整

20

如何在ggplot2中将颜色属性设置为因子级别

10

ggplot2:图例中的更改因子顺序

13

因子ggplot2和颜色的多个趋势线

118

ggplot2中的设置因子水平

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档