如何以高质量保存绘图?

2024-02-08

我用情节制作的每张图表在保存之前看起来都很棒,所以图像看起来有点哑光,如果有意义的话,质量真的很差。有谁知道如何高质量保存它?您可以使用此基本图表作为示例。

library(plotly)

x <- c(1:100)
random_y <- rnorm(100, mean = 0)
data <- data.frame(x, random_y)

p <- plot_ly(data, x = ~x, y = ~random_y, type = 'scatter', mode = 'lines')

谢谢你!


至少在 Plotly v4.7.1+ 中,您可以将图形导出为 SVG(由于是矢量图形格式,因此质量几乎是最高的)。

为此,您需要拥有该包Rselenium安装。然后你可以使用 Plotly 的export函数如下(在本例中使用 Chrome 作为硒驱动程序 https://seleniumhq.github.io/docs/quick.html#webdriver):

if ( !require(RSelenium) ) {
  install.packages("RSelenium", repos = "https://cloud.r-project.org/")
}

p %>%
  export(file = "filename.svg",
         selenium = RSelenium::rsDriver(browser = "chrome"))

这会将图表下载为filename.svg到您的默认下载目录(~/Downloads在许多 Linux 发行版上或%USERPROFILE%\Downloads在 Windows 上)。如果您想将 SVG 下载到当前 R 工作目录,则需要将几个选项传递给 Selenium 驱动程序(本例中为 Chrome):

p %>%
  export(file = "filename.svg",
         selenium = RSelenium::rsDriver(browser = "chrome",
                                        extraCapabilities = list(
                                          chromeOptions = 
                                            list(prefs = list(
                                              "profile.default_content_settings.popups" = 0L,
                                              "download.prompt_for_download" = FALSE,
                                              "download.default_directory" = getwd())
                                            ))))

可以在此要点中找到更复杂的自定义导出功能,该功能允许设置导出的 SVG 的宽度和高度(以及更多功能,包括可选转换为 PDF 和 PNG):https://gist.github.com/salim-b/32c4370cee4ac0a3fbfef13a9ce98458 https://gist.github.com/salim-b/32c4370cee4ac0a3fbfef13a9ce98458

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

如何以高质量保存绘图? 的相关文章

随机推荐

  • jQuery - 当 id 是数组类型表示法时,ID 选择器需要帮助

    我有一个输入元素定义如下
  • 当父母改变时重新设定合并提交

    给定一个 gerrit 变更集 它依赖于另外两个独立的变更集 P1 P2 C gerrit 将其表示为与两个父级的合并提交 但与正常的合并提交不同 它将包含与父级中的更改完全无关的重要更改 父变更集在 gerrit 中更新 因此我们提交了
  • 如何让用户编辑网页内容并保存给所有浏览者? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在尝试创建一个以简单文本 Hello 开头的网站 然后 任何访问该网站的人都可以将内容更改为他们喜欢的内容 保存这些内容不仅是为了
  • 网络故障后重新连接ActiveMQ服务器

    我们正在使用 ActiveMQ 5 8 0 通过 TCP 将 Java 应用程序连接到另一个系统 请求 回复 与对临时队列的回复同步 与我们的客户端及其相应部分配合良好 但我们不确定如何处理 异常 情况 例如短暂的网络故障 我们正在测试应用
  • 如何将wtforms的FileField自定义为图像按钮?

    我正在尝试从项目文件夹加载图像以用作图标 而不是正常的 选择文件 这是我到目前为止所尝试过的 不仅图像未加载 旧按钮仅显示一半 HTML div form tweet image class submit image tweet div C
  • 根据 R 中的匹配条件组合行中的值

    我有一个关于 R 中聚合值的简单问题 假设我有一个数据框 DF lt data frame col1 c Type 1 Type 1B Type 2 col2 c 1 2 3 看起来像这样 col1 col2 1 Type 1 1 2 Ty
  • SendKeys.Send 和 Windows 键

    我正在尝试为我的 WinForm 应用程序创建一个键盘触发器 调用 Windows 键 数字键 快捷键 从而在任务栏上的第 n 个插槽中启动应用程序的新实例 例如 我想运行 Photoshop 它位于任务栏的第一个位置 WinKey 1 我
  • 如何使用 zipfileset src 属性而无需为所有 jar 手动指定它?

    我目前有这个
  • brew 安装失败:curl(77) 设置证书验证时出错

    好的 我正在运行带有自制软件的旧 Mac 10 6 8 brew doctor 报告没有错误 我已经尝试过brew prune update 等 每次我尝试安装软件包时 都会收到此错误 curl 77 error setting certi
  • Web Essentials LESS 编译器没有给出错误消息

    使用 Visual Studio 2012 Update 2 Web Essentials 2 7 假设LESS有错误 保存文件时 预览窗格中会显示一条消息 上面写着 Compile Error See error list for det
  • 为 ggplot2 中的每个方面设置不同的轴限制,不使用刻度=“自由”

    我想要的一般解决方案是能够独立地为每个面指定任意轴限制 通过将秤设置为自由来获得基本功能 例如 ggplot diamonds aes x carat y price geom point facet wrap clarity nrow 4
  • Application.kt:未解析的参考:firebasemessaging

    我正在尝试更新firebase messaging到新版本8 0 0 dev 10 但是 我收到这些错误 Running Gradle task assembleDebug Application kt 5 27 Unresolved re
  • 在 MySQL 和 CodeIgniter 中使用 Match 和 Against

    我正在尝试在我的 codeIgniter 项目中实现搜索功能 我有一个名为 Product search 的表 使用以下命令在其中设置全文索引 ALTER TABLE product search ADD FULLTEXT prod tit
  • React循环通过json对象并显示数据

    我有一个演示here https stackblitz com edit react ts read json file index tsx 我有一个正在导入的简单 json 文件 我想循环遍历并在 div 中输出 json 数据 我可能想
  • 在支持多租户的 Django 中正确加载 Keras 模型

    我尝试在 django 中编写一个 REST api 它使用 Keras 模型返回预测 但是 那load model 函数需要一些时间来加载模型 我不希望我的用户必须等待这么长时间 每次初始化模型时 初始化模型的正确方法是什么 以便加载一次
  • 链接到 libcuda.so 时出现问题

    我被一个似乎很容易诊断和解决的问题所困扰 我有一个使用 CUDA 驱动程序 API 的 C 源文件 当我使用它编译时nvcc 可执行文件已生成并且可以正常运行 但是 当我尝试使用它来编译它时g 链接器抱怨对符号的未定义引用 usr lib
  • JSF 和 Spring 性能与较差的 JSP 性能

    我看到我的同事开发了一些 JSF 项目 这些项目在我看来速度非常慢 有人有同样的看法吗 我目前正在使用 jsp jstl 和 jQuery 作为 富 客户端 我想知道现代框架 jsf wicket tapestry 相对于旧的普通 jsp
  • 使用 XPATH 子字符串函数

    我需要帮助弄清楚这个 XPATH 子字符串函数 但我无法使用它 我尝试过这种方法的各种变体 a contains text Home href substring jsessionid 12 尝试从此标签获取 jsessionid 值 a
  • Web 服务与 WCF

    我正在从事 ASP NET 应用程序 NET 4 框架 设计 想了解使用 Web 服务与 WCF 技术的优缺点和最佳实践是什么 该应用程序最终将被外部客户端用来消费数据 您什么时候会使用 WebServices 什么时候会使用 WCF 其中
  • 如何以高质量保存绘图?

    我用情节制作的每张图表在保存之前看起来都很棒 所以图像看起来有点哑光 如果有意义的话 质量真的很差 有谁知道如何高质量保存它 您可以使用此基本图表作为示例 library plotly x lt c 1 100 random y lt rn