ggplot 中仅一个图例的标签为斜体

2024-03-14

我正在尝试格式化一个侧面有两个独立图例的绘图。我有一个用于所有不同分类单元的形状图例,以及一个用于它们所属类别的颜色图例。我只想将形状图例中的分类单元名称斜体化,而不将颜色图例中的类别名称斜体化。到目前为止,我可以使用这一行将所有图例条目设置为斜体或不使用斜体:

plot + theme(legend.text = element_text(face = "italic"))

但我不知道如何仅指定形状图例。我不认为theme()是合适的,因为它改变了整个情节的主题。我也调查过guides()但它似乎没有用于指定图例标签字体的选项。

一些示例数据和绘图:

species <- c("M. mulatta", "P. ursinus", "C. mitis", "C. guereza")
subfam <- c("Cercopithecine", "Cercopithecine", "Cercopithecine", "Colobine")
x <- rnorm(4, 1:10)
y <- rnorm(4, 2:20)
df <- data.frame(cbind(species, subfam, x, y))

ggplot(df, aes(x, y)) + geom_point(aes(shape = species, color = subfam), size = 4) +
  labs(shape = "Species", color = "Subfamily")

总之,我想将物种名称设为斜体,但不将亚科名称设为斜体。看起来应该很简单......这在 ggplot 中是否可能?

提前致谢!


您可以专门为以下内容定制标签shape图例,通过设置element_text参数,包括字体,在scale_shape_discrete*.

ggplot(df, aes(x, y)) +
  geom_point(aes(shape = species, color = subfam), size = 4) +
  labs(shape = "Species", color = "Subfamily") +
  scale_shape_discrete(guide =
                         guide_legend(label.theme = element_text(angle = 0, face = "italic")))

*此方法也适用于scale_shape_manual,其中还有一个guide争论。看?scale_shape and ?scale_shape_manual.


由于某种原因我需要指定angle in element_text,否则会出错。您可能还需要设置size.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ggplot 中仅一个图例的标签为斜体 的相关文章

  • 在 mutate 和 across 之后使用 ~separate

    目的是将所有物种 setosa 行转换为一行 setosa 这是一个最小的示例 实际上有更多列和更多组 我有这个数据框 head iris 2 gt select 1 2 5 gt group by Species Sepal Length
  • 使用管道语法处理模型列表

    我经常喜欢拟合和检查与 R 数据框中的两个变量相关的多个模型 我可以使用如下语法来做到这一点 require tidyverse require broom models lt list hp exp cyl hp cyl map df m
  • 使用滑动窗口动画 ggplot 时间序列图

    我正在寻找在不失去分辨率的情况下对长时间序列图进行动画处理的方法 我希望视图能够 平移 数据 显示从开始到结束的滑动子集 假设我有以下内容 library ggplot2 library dplyr library gganimate df
  • 如何在Python中绘制数据立方体

    我想知道是否有一种方法可以在 Python 中绘制数据立方体 我的意思是每个点都有三个坐标 x part points 0 y part points 1 z part points 2 对于每个点我都有一个标量场 t x y z 我想绘制
  • 如何在向量中的所有点之间绘制线?

    我有一个包含二维空间中一些点的向量 我希望 MATLAB 用从每个点到每个其他点绘制的线来绘制这些点 基本上 我想要一个所有顶点都连接的图 你能用情节来做到这一点吗 如果可以 怎么做 一种解决方案是使用该函数为每个点组合创建一组索引MESH
  • jupyter 中的 r 图形 - 无法启动 png() 设备

    我在 Jupyter 中使用 R 但无法在笔记本本身中绘制图表 这是一个可重现的示例 set seed 123 mat as matrix x rnorm 100 y rnorm 100 plot mat 在朱皮特中 Error in pn
  • 如何从R中的日期中提取月份

    我正在使用lubridate封装并应用month从日期中提取月份的函数 我在日期字段上运行了 str 命令 得到了 Factor w 9498 levels 01 01 1979 01 01 1980 5305 1 1 1 1 1 1 1
  • rpart是自动剪枝吗?

    Is rpart自动修剪 生成的决策树rpart比具有自动修剪功能的 Oracle Data Mining 生成的级别要多得多 否 但拟合函数的默认值可能会 提前 停止分割 对于 早期 的某些定义 See rpart control对于您可
  • 在 Shiny 中叠加两个 ggplot

    我有一个非常大的数据集 我正在使用 ggplot 在 Shiny 上绘制它 我有一个与 x 轴上的值相关联的滑块 我想用它对选定的数据子集重新着色 并让其余数据保持原样 最简单的选择是重新创建整个绘图 但由于它是一个大型数据集 因此这是一个
  • stat_function 从函数生成平线

    我有以下代码 library ggplot2 f lt function x if x gt 2 1 x 0 3 else 0 graph lt ggplot data frame x c 0 10 aes x graph lt graph
  • 在函数中使用 quit/q 会导致 RStudio 出现致命错误

    更多的是好奇 但当你使用时q or quit在 R studio 内的函数内部 它会导致致命错误 如下所示 但 rgui 中的相同函数会导致 R 像往常一样停止 并且仅使用q 在 RStudio 中按预期关闭 R 为什么q在函数中导致 RS
  • R闪亮主面板显示样式和字体

    我正在学习闪亮的应用程序 并且有一些关于调整布局的基本问题 特别是样式和字体 希望得到指点或明确的答案 谢谢 考虑一个基本的输入输出应用程序 用户在 sidebarPanel 中输入数据 然后在 mainPanel 中反应性地输出结果 如何
  • pandas 中连续数据的平行坐标图

    pandas 的 parallel coordinates 函数非常有用 import pandas import matplotlib pyplot as plt from pandas tools plotting import par
  • R闪亮:使用闪亮的JS从数据表中获取信息

    我想读出所有列名称以及它们在数据表中显示的顺序 由于不同的原因 我无法使用 stateSave 等选项 我对 JS 没有什么把握 但我确信用它可以完成 所以我需要你帮助我 我尝试过类似的代码片段 datatable data callbac
  • 在 R 中导入 csv 文件时如何保留前导零?

    当我写一个 csv来自 R 的文件 其中我的组名称以前导零值开头 前导零被保留 但是当我导入 csv前导零被删除 组名称被转换为整数 当我导入一个组时 如何保留组名称中的前导零 csvR 中的文件 Example df lt data fr
  • 如何在R中匹配具有相同主键的两个表中的数据

    我有两个表 其中包含有关人员的数据 df1 lt data frame id c 113 202 377 288 359 name c Alex Silvia Peter Jack Jonny 这为我提供了 id name 1 113 Al
  • 根据 row_number() 过滤 data.frame

    更新 自从提出这个问题以来 dplyr 已经更新 现在按照 OP 的要求执行 我正在尝试获取第二行到第七行data frame using dplyr 我正在这样做 require dplyr df lt data frame id 1 1
  • for 循环中的绘图没有可见点

    我正在努力解决我想使用 for 循环制作的情节 我知道当我在循环之后添加它时它会起作用 只是一个简单的图 但我想用另一种方式尝试一下 fib ones 1 10 for k 3 10 hold on fib k fib k 1 fib k
  • dplyr 中的标准评估:全局环境中的函数出现“无法找到函数”错误

    我试图在 dplyr 中对全局环境中的函数使用标准评估 但出现 无法找到函数 错误 这是一些代码 create data frame df lt data frame x rnorm 10 y rnorm 10 define arbitra
  • 按组计算连续行中的值之间的差异

    这是我的一个df 数据框 group value 1 10 1 20 1 25 2 5 2 10 2 15 我需要按组计算连续行中的值之间的差异 所以 我需要一个结果 group value diff 1 10 NA because the

随机推荐

  • FlagsAttribute 有什么用?

    下面的代码有什么区别 no Flags Public Enum MyEnum Monday 1 Tuesday 2 Wednesday 4 Thursday 8 End Enum and
  • 从 xhr 对象获取请求 url

    有没有办法从 xhr 对象中提取请求 url 我可以通过通道属性看到 firebug 中的 url 但你无法使用 javascript 查询它 使用以下 hack 不需要包装器 var xhrProto XMLHttpRequest pro
  • Microsoft Graph 身份验证

    我正在用 Python 构建一个应用程序 它可以从 Azure AD 检索数据 此数据可能需要应用程序权限或委派权限 我成功检索了仅需要应用程序权限的数据 但是 为了检索需要委托权限的数据 我尝试使用 OAuth2 是否可以使用 OAuth
  • 如何在 Java 中将 2010-12-15T16:26:49.841-08:00 转换为 GregorianCalendar? [复制]

    这个问题在这里已经有答案了 我有一个字符串日期 2010 12 15T16 26 49 841 08 00 我需要将其转换为Java中的GregorianCalendar 你怎么做到这一点 Jesper 的回答的解决方案 使用joda时间的
  • 如何在 Docker Python 镜像中安装 GDAL 库?

    我正在为我的 django 项目使用 python3 7 slim buster docker 映像 现在我想使用django的Geo功能 但看来我必须安装GDAL 因此 我执行 RUN apt get install gdal 并引发异常
  • JPA 是否支持映射到 sql 视图?

    我目前正在使用 Eclipselink 但我知道现在大多数 JPA 实现已经相当标准化 是否有一种将 JPA 实体映射到视图的本机方法 我不想插入 更新 但问题实际上是如何处理 Id 注释 JPA 世界中的每个实体都必须有一个 ID 字段
  • java中本地对象的内存管理

    如果我在类中有一个方法并且我在该方法中创建一个对象 那么该对象会被销毁并释放分配给它的内存吗 该方法完成后 eg public void drawFigure Paint paint new Paint paint setSomePrope
  • Vue-test-utils 包装器未定义

    我在 Jest 中有以下组件的测试套件 我已经成功地为其他几个遵循类似结构的组件编写了单元测试 import createLocalVue mount from vue test utils import Vuex from vuex im
  • python 基于部分字符串匹配合并两个 pandas 数据框

    我是 Python 新手 在连接两个 pandas 数据框时遇到很多麻烦 因为合并应该基于部分字符串匹配 进一步来说 我有一个名为的数据框df看起来像这样 writtenAt 2015 01 01T18 31 01 00 00 conten
  • Oracle sql 按当天对工作日进行排序

    我试图根据顺序对日期进行排序 周六 周日 周一 周二 周三 周四 周五 我正在尝试使用案例 select day CASE day WHEN 1 THEN 1 WHEN 2 THEN 2 WHEN 3 THEN 3 WHEN 4 THEN
  • Netsuite 脚本 beforeLoad 记录未被修改

    我试图在用户打开采购订单时修改它 这似乎是一个非常简单的例子 但似乎不起作用 在 GUI 中我没有看到 测试 备忘录 在脚本调试中 备注字段为空 由于调试 我知道脚本正在运行 Update Drop Ship PO with route I
  • Express Checkout 错误消息:“安全标头无效”

    我正在实施快速结帐在贝宝 前两步我没有问题SetExpressCheckout and GetExpressCheckout 但是当我使用DoExpressCheckout 我遇到错误 安全标头无效 API 凭证是相同的 我已经通过更改来修
  • ec2 每次启动时运行脚本

    我在这里关注了一些帖子 尝试在每次启动后 而不仅仅是第一次启动 在我的 ec2 实例上运行 python 或 shell 脚本 我已经尝试过 脚本用户 始终 到 etc cloud cloud cfg 文件 将脚本添加到 scripts p
  • 如何在纯 PHP 中执行 HTTP 重定向后获取最终 URL?

    我想做的是找出重定向后的最后 最终 URL 是什么 我不想使用 cURL 我想坚持使用纯 PHP 流包装器 现在我有一个网址 比方说http 域名 test http domain test 我使用 get headers 从该页面获取特定
  • 如何将变量传递给布局?

    我的应用程序布局有两个版本 它们仅在几行中有所不同 考虑以下示例 html head a lot of code here body some more code here if defined flag and flag true var
  • iOS 7.1:当应用程序在后台时获取核心运动数据(加速计、陀螺仪)

    我想知道当应用程序处于后台模式时如何继续接收运动传感器值 我意识到那里已经有几个帖子了 例如 我尝试过iPhone 上的 Nike GPS 如何在后台接收加速度计更新 https stackoverflow com questions 87
  • Bouncy Castle 在 CBC 模式下使用 AES 进行基于密码的加密

    我最近遇到了一段在 CBC 模式下使用 BouncyCastle 的 PBE 和 AES 的代码 PBEWithSHA1And256BitAES CBC BC public static final String ALGORITHM PBE
  • 给出很多间隔 [ai, bi],找到与最多间隔数相交的间隔

    给定很多间隔 ai bi 找到与间隔数量最多的间隔 我们能在 O nlogn 或更好的时间内做到这一点吗 我只能想到 n 2 方法 假设间隔给出为 a1 b1 an bn 制作一个长度已排序的数组2n关系被打破的地方 if ai aj 然后
  • PostgreSQL - jsonb_each

    我刚刚开始在 postgres 上使用 jsonb 并在网上很难找到示例 因为它是一个相对较新的概念 我尝试使用 jsonb each text 打印出键和值表 但在单列中获取 csv 我将下面的 json 保存为 jsonb 并用它来测试
  • ggplot 中仅一个图例的标签为斜体

    我正在尝试格式化一个侧面有两个独立图例的绘图 我有一个用于所有不同分类单元的形状图例 以及一个用于它们所属类别的颜色图例 我只想将形状图例中的分类单元名称斜体化 而不将颜色图例中的类别名称斜体化 到目前为止 我可以使用这一行将所有图例条目设