我在剧情中制作的每张图都看起来很棒,直到我保存它的那一刻,所以图像看起来有点哑光,如果它有意义,那就是非常差的质量.有谁知道如何以高品质保存它?您可以使用此基本图表作为示例.
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')
Run Code Online (Sandbox Code Playgroud)
谢谢!
至少在Plotly v4.7.1 +中,您可以将图形导出为SVG(由于是矢量图形格式,因此这可能是最高质量的)。
为此,您需要Rselenium安装该软件包。然后,您可以export按以下方式使用Plotly的功能(在本示例中,使用Chrome作为Selenium驱动程序):
if ( !require(RSelenium) ) {
install.packages("RSelenium", repos = "https://cloud.r-project.org/")
}
p %>%
export(file = "filename.svg",
selenium = RSelenium::rsDriver(browser = "chrome"))
Run Code Online (Sandbox Code Playgroud)
这会将图表下载filename.svg到默认的下载目录(~/Downloads在许多Linux发行版或%USERPROFILE%\DownloadsWindows上)。如果您想将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())
))))
Run Code Online (Sandbox Code Playgroud)
可以在以下Gist中找到更复杂的自定义导出功能,该功能允许设置导出的SVG的宽度和高度(以及更多的可选转换为PDF和PNG):https : //gist.github.com/salim- b / 32c4370cee4ac0a3fbfef13a9ce98458
如果您像我一样尝试在离线模式下使用 Plotly,我建议您执行以下步骤:
首先,另存为 SVG:
fname = "/home/me/output"
plot(fig, filename=fname, image='svg', image_filename=fname)
Run Code Online (Sandbox Code Playgroud)
然后在浏览器中打开 HTML(名为output.html),它会提示您保存 SVG(这是一个令人沮丧的步骤,但目前 Plotly 没有办法解决它)。
然后,使用 cairosvg 通过更好的缩放将 SVG 转换为 PNG。请参阅我的其他答案。在 python 中使用 cairosvg 模块时可以指定缩放吗
| 归档时间: |
|
| 查看次数: |
6342 次 |
| 最近记录: |