具有可变字体系列的 geom_text 图例

2024-04-30

我想要geom_text()标签根据变量采用字体系列。 按照上面的例子ggplot2 文档 http://docs.ggplot2.org/current/geom_text.html(向下滚动到底部),我已经这样做了(与 ggplot 文档示例相同):

library(ggplot2)
p <- ggplot(mtcars, aes(x=wt, y=mpg, label=rownames(mtcars)))
p + geom_text(aes(family=c("serif", "mono")[am+1]))

产量:

这一切都很好 - 但我如何获得图例中的字体系列?


它不太漂亮:您可以在以下位置更改图例标签的字体系列grob级别(我不知道另一种方法,但我希望有)。

首先添加colour为了美观,自动生成图例,然后手动设置颜色,scale_colour_manual让它们像以前一样。然后调整图例细节,以更改键中的标签和字体。

library(ggplot2)
library(grid)



p <- ggplot(mtcars, aes(x=wt, y=mpg, colour=factor(am), label=rownames(mtcars))) + 
         geom_text(aes(family=c("serif", "mono")[am+1])) + 
         scale_colour_manual(values=c('0'= "#000000FF", '1'="#000000FF"),
                             name="am") +
         theme(legend.text=element_text(size=16),
               legend.key.width=unit(2, "cm"))

g <- ggplotGrob(p)

# change labels and fonts
g$grobs[[8]]$grobs[[1]]$grobs[[4]]$label <- "mono"
g$grobs[[8]]$grobs[[1]]$grobs[[4]]$gp$fontfamily <- "mono"
g$grobs[[8]]$grobs[[1]]$grobs[[6]]$label <- "serif"
g$grobs[[8]]$grobs[[1]]$grobs[[6]]$gp$fontfamily <- "serif"

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

具有可变字体系列的 geom_text 图例 的相关文章

  • 如何使用 sprintf 函数在字符中添加前导“0”而不是空格?

    我正在尝试使用sprintf函数为字符添加前导 0 并使所有字符长度相同 然而我得到的是领先空间 My code a lt c 12 123 1234 sprintf 04s a 1 12 123 1234 我试图得到什么 1 0012 0
  • 在 Shiny 中叠加两个 ggplot

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

    我想结合不同的DiagrammeR绘制成一个图形 生成的图如下例所示 library DiagrammeR pDia lt grViz digraph boxes and circles a graph statement graph ov
  • 在函数中使用 quit/q 会导致 RStudio 出现致命错误

    更多的是好奇 但当你使用时q or quit在 R studio 内的函数内部 它会导致致命错误 如下所示 但 rgui 中的相同函数会导致 R 像往常一样停止 并且仅使用q 在 RStudio 中按预期关闭 R 为什么q在函数中导致 RS
  • 使用自定义渐变填充直方图箱

    我想在 R 和 ggplot2 中创建一个直方图 其中根据连续的 x 值填充箱 大多数教程仅通过离散值或密度 计数进行着色 下列的这个例子 https stackoverflow com questions 40284227 how to
  • R闪亮主面板显示样式和字体

    我正在学习闪亮的应用程序 并且有一些关于调整布局的基本问题 特别是样式和字体 希望得到指点或明确的答案 谢谢 考虑一个基本的输入输出应用程序 用户在 sidebarPanel 中输入数据 然后在 mainPanel 中反应性地输出结果 如何
  • R闪亮:使用闪亮的JS从数据表中获取信息

    我想读出所有列名称以及它们在数据表中显示的顺序 由于不同的原因 我无法使用 stateSave 等选项 我对 JS 没有什么把握 但我确信用它可以完成 所以我需要你帮助我 我尝试过类似的代码片段 datatable data callbac
  • 改进R中从google获取股票新闻数据的功能

    我已经编写了一个函数来从 Google 获取和解析给定股票代码的新闻数据 但我确信有一些方法可以改进它 对于初学者来说 我的函数返回一个 GMT 时区的对象 而不是用户当前的时区 如果传递的数字大于 299 它就会失败 可能是因为 goog
  • R:ifelse 中的字符串列表

    我正在寻找与 MySQL 中的 where var in 语句类似的东西 我的代码如下 data lt data frame id 10001 10030 cc1 rep c a b c 10 attach data data new lt
  • 在 Lavaan 生长曲线模型中提取个体轨迹

    我已经使用 R 的 Lavaan 包中的 Growth 函数成功地对一项研究的纵向数据进行了建模 我找不到任何关于如何提取每个参与者的预测轨迹的记录 我只能找到整个组的预测轨迹 在摘要输出的 拦截 部分下给出 使用 lavPredict m
  • 通过 R 中的数据子集执行计算

    我想对数据框的 PERMNO 列中的每个公司编号进行计算 其摘要可以在此处查看 gt summary companydataRETS PERMNO RET Min 10000 Min 0 971698 1st Qu 32716 1st Qu
  • R data.table 1.9.2 关于 setkey 的问题

    这似乎是 1 8 10 后引入的一个错误 与包含列表的 DT 的 setkey 相关 运行下面两个代码来查看问题 library data table dtl lt list dtl 1 lt data table scenario 1 p
  • R 多元一步预测和准确性

    我想使用 R 来比较两个预测模型的 RMSE 均方根误差 第一个模型使用 1966 年至 2000 年的估计值来预测 2001 年 然后使用 1966 年至 2001 年的估计值来预测 2002 年 依此类推直至 2015 年 第二个模型使
  • 使用 ggplot 构面时增加闪亮的绘图大小

    有没有办法增加绘图窗口的大小shiny取决于在一个中使用的面的数量ggplot图 也许使用垂直滚动 例如 使用下面的示例 当输入为 A 有三个方面 情节看起来不错 当选项 B 选择绘图数量会增加 但绘图窗口保持相同大小 导致绘图太小 是否有
  • 如何将同一行中以逗号分隔的值拆分到R中的不同行

    我有一些数据来自谷歌表格 https forms gle rGQQL3tvA1PrE4dD8我想拆分以逗号分隔的答案 and 复制参与者的 ID 数据如下 gt head data names Q2 Q3 Q4 1 PART 1 fruit
  • 在 igraph 中为社区分配颜色

    我在 igraph 中使用 fastgreedy community 检测算法在 R 中生成社区 代码返回 12 个社区 但是在绘图时很难识别它们 因为它返回的图的颜色数量有限 我怎样才能用十二种不同的颜色绘制这个图表 l2 lt layo
  • 如何绘制堆积比例图?

    我有一个数据框 x lt data frame id letters 1 3 val0 1 3 val1 4 6 val2 7 9 id val0 val1 val2 1 a 1 4 7 2 b 2 5 8 3 c 3 6 9 我想绘制一个
  • 从 R 中的方差分析 (glm) 中提取残余偏差

    我在 R 中安装了一个 glm 模型并采用了方差分析表 我需要提取 残余偏差 列 但它会产生错误 以下是代码 创建数据 counts lt c 18 17 15 20 10 20 25 13 12 outcome lt gl 3 1 9 t
  • 不同 R/lme4 版本的单一拟合结果不匹配

    我试图将 R 版本 3 5 3 lme4 1 1 18 1 的随机效应估计与 R 版本 4 1 1 lme4 1 1 27 1 相匹配 然而 当存在奇异拟合时 这两个版本之间的随机效应存在微小差异 我对奇点警告很满意 但令人费解的是不同版本
  • 通过使用 navbarPanel() 并隐藏导航栏构建多页闪亮应用程序用户端(在 ui.R 中)?

    我想构建一个多页闪亮应用程序 我可以在其中控制用户可以看到哪个页面 迪安 阿塔利确实这个演示应用程序中有类似的东西 https github com daattali advanced shiny tree master multiple

随机推荐

  • 无法从 Windows Phone 8.1 访问 .NET 4.5 PCL 中的本地化资源

    我在访问针对 NET 4 5 的可移植类库中的本地化字符串资源时遇到问题 我允许用户在第一页上选择语言 并在其他页面上获得本地化体验 我试图通过代码获取资源来实现这一点 MyTextBloxk Text PasswordResetMetho
  • 将字符串化数组转换回数组

    我使用 hstore 与 Postgres 9 2 和 Rails 3 2 来存储我的对象 如下所示 class User user hstore user id gt 123 user courses gt 1 2 3 end 现在 当我
  • 在eclipse中的另一个项目中使用一个项目的包

    如何在定义包的主项目之外使用包的类 例如 假设 people 包中有一个属于 ProjectOne 的 Employee 类 假设另一个具有相同功能的项目 ProjectTwo 需要 Employee 我应该在那里做什么 在 Package
  • scikit-learn:SVC 和 SGD 有什么区别?

    SVM http scikit learn org stable modules svm html classification http scikit learn org stable modules svm html classific
  • jquery 改变标签

    我的代码不起作用 你能帮我吗 我希望将 class s7 的标签名称 p 更改为 h1 问题是您将所有元素与类相匹配s7 但是您需要对它们进行一一处理 以便将其内容复制到新元素中 在您当前的代码中 this总是document 不是当前元素
  • 导航抽屉突出显示所选项目不起作用

    我试图突出显示选定的导航抽屉项目 但它不起作用 它仅在按下项目时突出显示 但在选择项目后不会保持突出显示 我有以下代码 列表视图
  • 检查调用是否是方法链

    是否可以知道方法调用是否来自方法链 例如 我有以下内容class class Test protected string 123 public function a string this gt string string if metho
  • JavaScript 日期差异

    我看过 在javascript中获取两个日期之间的差异 https stackoverflow com questions 3224834 get difference between 2 date in javascript 我仍然无法让
  • 使用远程存储库中的最新快照版本

    现在 我应该明确指定版本 dependencies compile projGroup projName 0 1 SNAPSHOT 我已经尝试过什么 但它不起作用 compile projGroup projName 0 SNAPSHOT
  • 如何根据视图最大尺寸自动调整多行 TextView 上的文本大小?

    我一直在寻找一种在文本视图中自动调整文本的方法 通过我的搜索 我找到了很多解决方案 例如 字体适合文本视图 https stackoverflow com questions 2617266 how to adjust text font
  • 如何在字符串中写入反斜杠 (\)?

    我想写这样的东西C Users UserName Documents Tasks in a textbox txtPath Text Environment GetFolderPath Environment SpecialFolder M
  • 睡觉的演员?

    让演员睡觉的最佳方式是什么 我将参与者设置为代理 希望维护数据库的不同部分 包括从外部源获取数据 由于多种原因 包括不使数据库或通信过载以及一般负载问题 我希望参与者在每个操作之间休眠 我正在看大约 10 个演员对象 参与者将几乎无限地运行
  • Spring Boot 2:如何将不同模块的每个 application.yml 文件加载到给定的 Web 或批处理运行器中

    我创建了一个 Spring Boot 应用程序 我想知道是否可以加载不同模块的 upmteens application yml 文件 我有这样的结构 myProject moduleCommons application yml modu
  • 检查 Erlang 中的活动计时器

    有没有一种简单的方法来获取所有当前等待的计时器的列表erlang send after erlang apply after等在Erlang中 出于调试目的 您可以使用dbg 首先创建一个 ets 表来存储所有计时器引用 1 gt ets
  • 仅在开始模式和结束模式之间匹配模式

    我的正则表达式 si bStart b bError b bEnd b 这适用于以下场景 stuff happens Start stuff happens Error stuff happens End 但也很匹配Error外部Start
  • Docusign:带有选项卡的复合模板

    创建信封时如何使用复合模板指定预填充字段 我尝试将选项卡信息包含在inlineTemplate recipients signers 0 tabs 但我收到一个错误System String cannot be cast to API RE
  • 用于在 Cakephp 中创建单选按钮的表单助手

    我正在尝试使用 Cakephp 创建一个单选按钮 结果应该类似于 div div
  • 在我的 Android 应用程序中检测 5G NR (SA/NSA)

    我正在尝试检测 5G 网络 我使用电话管理器来获取网络类型 https developer android com reference android telephony TelephonyManager getNetworkType 即使
  • 检测用户是否位于代理后面

    我试图弄清楚如何检测登录我网站的人是否在代理后面 我读到您可以通过可嵌入对象 Flash 和 Java 检测一个人的真实 IP 地址 但是 我实际上无法找到任何示例或来源 我正在使用 PHP 并且我已经阅读了寻找 SERVER HTTP X
  • 具有可变字体系列的 geom_text 图例

    我想要geom text 标签根据变量采用字体系列 按照上面的例子ggplot2 文档 http docs ggplot2 org current geom text html 向下滚动到底部 我已经这样做了 与 ggplot 文档示例相同