如何设置绘图图表以在 R 中具有透明背景?

Posted

技术标签:

【中文标题】如何设置绘图图表以在 R 中具有透明背景?【英文标题】:How to set plotly chart to have a transparent background in R? 【发布时间】:2016-09-19 16:52:13 【问题描述】:

到目前为止,这是我所拥有的:

f1 <- list(
   family = "Arial, sans-serif",
   size = 25,
   color = "white"
)
f2 <- list(
   family = "Old Standard TT, serif",
   size = 14,
   color = "black"

)
a <- list(
   title = "SALES PER SONG",
   titlefont = f1,
   showgrid = FALSE,
   showticklabels = TRUE,
   showline=TRUE,
   tickangle = 45,
   tickfont = f2
  )

 salesplot <-plot_ly(producersales, type="scatter", x=Producer, y=SalesPerSong, color=SongRange, colors=cols, mode="markers", size=SalesPerSong) %>% 
layout(xaxis = a, yaxis = a)

我尝试在layout() 中的 x 和 y 轴信息之后添加paper_bgcolor=#00000000, plot_bgcolor=#00000000,但是当我运行命令时,我得到了加号。我不知道该怎么做,所以任何帮助表示赞赏。谢谢!

【问题讨论】:

请注意,透明背景也将应用于导出的图像。这会在某些图像查看应用程序中使黑色标签文本不可见,包括 Windows 10 的默认照片工具。 请注意,paper_bgcolor=#00000000 返回一个加号,因为# 将此后同一行中的所有内容都作为注释,从而否定了您的右括号。替换为paper_bgcolor = '#00000000' 【参考方案1】:

试试吧:

salesplot <-plot_ly(producersales, type="scatter", x=Producer, y=SalesPerSong, color=SongRange, colors=cols, mode="markers", size=SalesPerSong) %>% 
layout(xaxis = a, yaxis = a) %>% 
layout(plot_bgcolor='rgb(254, 247, 234)') %>% 
layout(paper_bgcolor='rgb(254, 247, 234)') #will also accept paper_bgcolor='black' or paper_bgcolor='transparent'

您可以更改 rgb 数字以满足您的需要。

【讨论】:

【参考方案2】:

我发现玩具需要在布局中使用 rgba AND fig_bgcolor

plt %>%
    layout(plot_bgcolor  = "rgba(0, 0, 0, 0)",
           paper_bgcolor = "rgba(0, 0, 0, 0)",
           fig_bgcolor   = "rgba(0, 0, 0, 0)")

【讨论】:

这很有用,即使 plotly 告诉我 'fig_bgcolor' 不是有效参数。

以上是关于如何设置绘图图表以在 R 中具有透明背景?的主要内容,如果未能解决你的问题,请参考以下文章

如何使页面的背景半透明以在 Flutter 中显示上一个屏幕?

如何使用 ggplot2 在 R 中制作具有透明背景的图形?

与ggplot2的透明背景图表在高分辨率,R

c#中使用Graphice类绘图 怎么才能把背景的黑白格去掉或者变透明

再HTML中如何设置一个表格的背景色为透明的

如何制作具有透明背景的 Flash 电影