ggsave() 不会将文本加粗,它会更改所有文本的字体而不仅仅是绘图标题

2023-11-21

我正在 ggplot2 中制作图表ggsave()没有达到我的预期。

require(ggplot2)
require(showtext)

showtext_auto()
hedFont <- "Pragati Narrow"
font_add_google(
  name = hedFont,
  family = hedFont,
  regular.wt = 400,
  bold.wt = 700
)

chart <- ggplot(
  data = cars,
  aes(
    x = speed,
    y = dist
  )
) +
  geom_point() +
  labs(
    title = "Here is a title",
    subtitle = "Subtitle here"
  ) +
  theme(
    plot.title = element_text(
      size = 20,
      family = hedFont,
      face = "bold"
    ),
    axis.title = element_text(
      face = "bold"
    )
  )

ggsave(
  filename = "myplot",
  plot = chart,
  device = "png",
  path = "~/Desktop",
  width = 300,
  height = 200,
  units = "mm",
  dpi = 72
)

我期望图表的标题具有自定义字体。反而,ggsave()制作一个图表,其中所有文本都有字体。我希望轴标题是粗体的,但事实并非如此。

这是我运行时在 RStudio 查看器中看到的内容ggplot()里面的代码。

enter image description here

这是什么ggsave()产生。

enter image description here

I want ggsave()制作一个图表,其中只有图表标题具有字体,并且轴标题为粗体。

UPDATE: 我尝试了Tung的建议。我将 Google 字体下载到我的计算机上。这是我的新代码。

font_import(
  paths = "/usr/share/fonts/truetype/google-fonts/",
  recursive = T,
  prompt = F,
  pattern = "Pragati"
)
loadfonts(device = "pdf")
loadfonts(device = "postscript")

myFont <- "Pragati Narrow"

chart <- ggplot(
  data = cars,
  aes(
    x = speed,
    y = dist
  )
) +
  geom_point() +
  labs(
    title = "Here is a title",
    subtitle = "Subtitle here"
  ) +
  theme(
    plot.title = element_text(
      size = 20,
      family = myFont,
      face = "bold"
    ),
    axis.title = element_text(
      face = "bold"
    )
  )

ggsave(
  filename = "myplot2.png",
  plot = chart,
  device = "png",
  path = "~/Desktop",
  width = 300,
  height = 200,
  units = "mm",
  dpi = 72
)

似乎没有改变什么。

enter image description here

我在 RStudio 控制台中也没有看到任何错误或警告。


我使用时遇到了类似的问题extrafont包,其中我指定的字体将显示在 RStudio 查看器中,但当我保存为.png with ggsave()。上述答案都不适合我(字体已保存在我的extrafont数据库并指定base_family没用)。

我只需卸载它就可以让它工作ragg封装使用installr::uninstall.packages("ragg").

我不知道为什么会这样,如果有人对此有任何解释,我很想听听。

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

ggsave() 不会将文本加粗,它会更改所有文本的字体而不仅仅是绘图标题 的相关文章

  • kernlab 中 SVM 训练之外的核矩阵计算

    我正在开发一种新算法 该算法可以生成修改后的核矩阵以用于 SVM 训练 但遇到了一个奇怪的问题 出于测试目的 我比较了使用 kernelMatrix 接口和普通内核接口学习的 SVM 模型 例如 Model with kernelMatri
  • 在 R 中创建虚拟变量,排除某些情况为 NA

    我的数据看起来像这样 V1 V2 A 0 B 1 C 2 D 3 E 4 F 5 G 9 我想创建一个虚拟变量R where 0 1 1 2 3 4 and NA 0 5 9 应该很简单 有人可以帮忙吗 我们可以转换V2 into a fa
  • 以引用透明的方式从函数的省略号参数中提取符号

    事情又发生了 我正要按下发布答案按钮的问题被删除了 我正在寻找一种方法来从函数的省略号参数中提取绑定到符号的对象的值以及符号 也就是说 我试图以引用透明的方式从省略号中提取符号 我尝试过使用替代品和lazy dots 但没有成功 funct
  • 使用 R 选择第一个非 NA 值

    df lt data frame ID c 1 1 1 2 3 3 3 test c NA 5 5 6 4 NA 7 3 NA 10 9 我想创建一个名为 value 的变量 它是每个单独 ID 测试的第一个非 NA 值 对于只有NA的个体
  • r 中训练和测试数据的最小最大缩放/归一化

    我正在创建一个函数 它将训练集和测试集作为其参数 最小 最大缩放 标准化并返回训练集并使用这些same最小值和最小 最大范围的值 标准化并返回测试集 到目前为止 这是我想出的功能 min max scaling lt function tr
  • 相当于 min() 的 rowMeans()

    我在 R 邮件列表上多次看到这个问题 但仍然找不到满意的答案 假设我有一个矩阵m m lt matrix rnorm 10000000 ncol 10 我可以通过以下方式获得每行的平均值 system time rowMeans m use
  • 如何获得所有大于x且有位置的数字?

    V lt c 1 3 2 4 2 3 1 X lt 3 pos lt V V X pos is 3 3 我需要的是所有 3 个的位置 I need 2 and 6 哪些职位是3 in V Use which pos lt which V 3
  • 为什么 R 更新后 sim_slopes() 中会出现此错误?

    我正在尝试使用 交互 包来创建简单斜率的约翰逊 尼曼图 但是 当尝试运行 sim slopes 函数时 出现以下错误 直到我将R更新到4 2 2 我才没有遇到这个问题 我使用的是 macOS Ventura 13 1 Error class
  • read_html(url) 和 read_html(content(GET(url), "text")) 之间的区别

    我正在看这个很棒的答案 https stackoverflow com a 58211397 3502164 https stackoverflow com a 58211397 3502164 解决方案的开头包括 library httr
  • 删除极坐标图边缘的多余空间和圆环

    我有一个极坐标图ggplot2我已经非常接近完成 相当简单的情节 我已经能够在删除矩形边框方面获得帮助 但我不需要删除最后一个范围轮廓与带有方位角标签的绘图周围的环之间的额外空间 我希望该图的边界为 15 000 而不是 15 214 我编
  • 如何在将两根柱子保持在一起的同时熔化柱子?

    我有这种宽格式的数据 我想将其转换为长格式 Cond Construct Line Plant Tube shoot weight shoot Tube root weight root 1 Standard NA NA 2 199 95
  • 条件字体颜色 R Markdown

    我无法找到一种方法来根据变量的值 gt 0 0 或 r setup include FALSE x lt 4 This is an R Markdown document r if x gt 0 textcolor red Markdown
  • R:使用 tidyverse 将 NA 替换为 df 中的其他变量

    我想使用 tidyverse 替换 df 中的 NA 值 我想要的值应该从其他列中计算出来 input ID X1 X2 X3 A 0 96 NA 0 97 B 1 00 NA 1 01 C 0 98 0 03 NA A 1 00 NA 1
  • 实三次多项式的最快数值解?

    R 问题 寻找最快的方法来数值求解一堆已知具有实系数和三个实根的任意三次方程 据报道 R 中的 polyroot 函数对复杂多项式使用 Jenkins Traub 算法 419 但对于实多项式 作者参考了他们早期的工作 对于实三次或更一般的
  • 任意列中包含字符串的子集行

    我有一个如下所示的数据集 Col1 Col2 Col3 abckel NA 7 jdmelw njabc NA 8 jdken jdne 如何对数据集进行子集化 使其仅保留包含字符串 abc 的行 最终预期输出 Col1 Col2 Col3
  • Shiny:动态数据框构建; renderUI、观察、reactiveValues

    我认为如何使用 Shiny 的 renderUI 功能动态子集数据的问题经常出现 但我很难理解何时使用 renderUI 带有 uiOutput 而不是其他功能 包括观察 反应 反应值甚至条件面板 我想构建一个完全交互式的数据框架 其中每个
  • 无法更改 RStudio 中的 R 版本

    我的 RStudio V 0 99 491 无法更改 R 版本 我以平常的方式行事Global Options gt R Version 然后它挂起并且不再工作或反应 R 运行良好的初始版本是R 3 1 0 我以前从未遇到过这样的问题 也许
  • 如何修复 R 中 Kaplan Meier 图的风险表计算错误

    以下是一个数据帧 其中 6 个参与者中的每一个都有唯一的 record ID 我想绘制一个生存分析图 其中包含感兴趣事件的复发以及在时间间隔 tstart 到 tstop 内 暴露 药物剂量 数值变量 的时间依赖性协变量 每个参与者的最大
  • 线性判别分析图

    如何将样本 ID 行号 作为标签添加到此 LDA 图中的每个点 library MASS ldaobject lt lda Species data iris plot ldaobject panel function x y points
  • 如何使用 dplyr 独立过滤每列的行

    我有以下内容 library tidyverse df lt tibble tribble gene colB colC a 1 2 b 2 3 c 3 4 d 1 1 df gt A tibble 4 x 3 gt gene colB c

随机推荐

  • 使用 ref 传递引用类型是否节省内存?

    在 C 中 方法的参数可以是引用类型或值类型 传递引用类型时 会传递引用的副本 这样 如果在方法内部我们尝试将传递的引用重新分配给另一个对象实例 则在方法外部重新分配是不可见的 为了使其正常工作 C 有 ref 修饰符 使用 ref 传递引
  • 创建后更改注释图像

    我有一个自定义注释 它使用 viewForAnnotation 委托方法根据注释的类型设置其图像 我只使用 1 个注释来表示一辆正在移动的汽车 并希望在检测到汽车正在移动和停止时更改图像 除了删除注释并重新添加它 导致眨眼 之外 我还能如何
  • System.Drawing.Image 流式传输 C#

    我有一个System Drawing Image在我的程序中 该文件不在内存中保存的文件系统上 我需要从中创建一个流 我该怎么做呢 请尝试以下操作 public static Stream ToStream this Image image
  • Symfony 2 服务容器为空

    我是 Symfony 2 的新手 正在尝试创建一些简单的应用程序来学习 我创建了一个捆绑包GoogleApiBundle 在捆绑包内 我有一个控制器YouTubeController 这是一项服务 services yml service
  • 生成签名的apk android studio

    我是 Android 开发新手 刚刚完成了我的第一个应用程序 我想在 android studio 中生成签名的 apk 我阅读了开发人员文档 但无法理解这些步骤 当我点击Build gt Generate Signed APK 它向我显示
  • Firebase 身份验证 JS/PHP

    我的任务是为基于 firebase 的 Android 应用程序构建 Web 界面 我有一些与数据库 云函数 交互的端点 要访问这些端点 我需要使用电子邮件和密码 1 对用户进行身份验证 检索 accessToken 2 并使用Author
  • 在Matlab中更改图形字体没有效果

    我在标签和图例中渲染希腊字符时遇到问题 所以我想也许切换字体会有所帮助 因此 我发现了一个更大的问题 Matlab似乎根本不尊重我的字体设置 当然我也尝试过 set gcf FontName Ubuntu set gca FontName
  • 如何应用 GCC 补丁

    我正在尝试申请this给 MinGW 上的 GCC 打补丁来获取它编译 GDC 2 但我不知道怎么做 我对 GCC 的内部结构仍然很陌生 甚至对一般的 nix 工具也很陌生 我知道有patch命令 但我不知道如何使用它 我什至不知道我是否有
  • 在写入所有字节之前无法关闭流(GoodData API)

    我做了一些搜索 大多数人在发送大量数据时似乎都会遇到这个问题 但我没有 我正在向 API 发出以下请求 request Method POST request ContentType application json request Acc
  • 为什么 JSON.NET 在反序列化时不支持继承

    我正在使用以下工作正常的类将 JSON 字符串反序列化为根对象 Serializable public class MoviesListRootObject public int count get set public Paginatio
  • 组织一个多文件 Go 项目 [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 注意 这个问题与this one 但是两年在Go历史上是一个非常长的时间 在开发过程中组织 Go 项目的标准方法是什么 我的项目是单个包mypack 所以我想我把所有的 go 文件放在一个
  • 如何以编程方式获取带有更新信息的java版本

    java version 打印如下 java version 1 8 0 40 Java TM SE Runtime Environment build 1 8 0 40 b27 Java HotSpot TM 64 Bit Server
  • 将自定义依赖属性绑定到自定义 WPF 样式

    我在设计继承的扩展器时遇到问题 我的目的是在默认 Expander 标题中的切换按钮和文本后面有一个进度栏 我有这个 XAML 代码 它为我提供了标题中的进度条 这是一种定制风格
  • 如何在 Rails 中创建类别

    我正在尝试将类别添加到我的 Rails 应用程序 但不太知道如何执行此操作 我有很多 Pin 图 图像 并希望用户能够在这些 Pin 图上分配类别 ASSIGN无需创建 编辑或删除类别 只需为其 Pin 图选择一个类别即可 这意味着 当用户
  • 如何将 build.gradle 导入 IntelliJ

    NOTE 完整的源代码is here 我使用 Gradle Init 插件创建了一个 Scala 库 gradle init type scala library 然后我修改了它build gradle为 Gradle 2 13 生成包装器
  • Xcode/iOS:如何在向下滚动时隐藏导航和工具栏?

    我想在 iPhone 上向下滚动时隐藏这两个栏 当我向上滚动时 它们应该再次出现 我该如何处理这个问题 void scrollViewWillBeginScroll UIScrollView scrollView if scrollView
  • vuejs 在模板中渲染异步函数显示承诺而不是返回的数据

    我正在调用一个加载个人资料图片的异步函数 await 调用按预期将值返回到变量 pf 但我无法从 loadProfilePic 返回该值 至少一开始我尝试返回一个静态字符串以显示为 object Promise 在 vue 模板中 但是当我
  • 为什么打字稿无法通过其字段推断通用类型?

    我不明白为什么有时打字稿无法推断 const 的泛型类型 这是一个例子 type OneTwoThree 1 2 3 type MyType
  • Clang stdio,h 文件未找到

    我使用 Visual Studio 安装了 clang 然后按照文档中所述构建了突出显示的项目 构建成功 但是当我尝试这样做时 clang cc1 analyze analyzer checker core DivideZero test
  • ggsave() 不会将文本加粗,它会更改所有文本的字体而不仅仅是绘图标题

    我正在 ggplot2 中制作图表ggsave 没有达到我的预期 require ggplot2 require showtext showtext auto hedFont lt Pragati Narrow font add googl