簡體   English   中英

R Plotly:如何更改外框的顏色?

[英]R Plotly: How to change the color of the outer border?

我正在創建一個.html格式的繪圖。 該情節具有黑色背景,我想知道如何將白色邊框更改為黑色?

我注意到,如果定義圖的尺寸(自動縮放設置為FALSE),則外面會有很多空白。

非常感謝你。

抱歉,沒有發布示例,這是我第一次發布。

這是一個簡單的示例:

labels = paste((data/sum(data))*100,"%")

values = c(53, 43, 77, 33)

p1 = plot_ly(labels=labels,
             values=values,
             type="pie",
             hoverinfo = "label+percent",
             showlegend = FALSE,
             sort = FALSE
)

p1 = layout(p1,
            paper_bgcolor="rgb(31,31,31)",
            plot_bgcolor="rgb(31,31,31)",
            legend = list(font = list(color = "white"),
                          bgcolor = "transparent"),
            autosize = T,
            xaxis = list(
              color = "transparent"
            ),
            yaxis = list(
              color = "transparent"
            )
)

p1

餅圖 餅圖

這是劇情的屏幕截圖。 如您所見,情節周圍有一個細的白色邊框。

聽起來好像您想要htmlwidget大小調整策略中的其他默認值。 嘗試這樣的事情:

p1$sizingPolicy$padding <- 0

我認為這是一個錯誤。 當我檢查創建的html時,它顯示以下內容:

<body style="margin: 5px; padding: 0px; overflow: hidden; width: 100%; height: 100%; background-color: white;">
<div id="htmlwidget_container" style="position: absolute; top: 5px; right: 5px; bottom: 5px; left: 5px;">
<div id="htmlwidget-3128" class="plotly html-widget html-widget-static-bound js-plotly-plot" style="width: 100%; height: 100%;">

<div class="plot-container plotly"><div class="svg-container" style="position: relative; width: 1270px; height: 403px;">

[...]

這意味着,實際的plotly容器被嵌入到具有5px的小部件容器中。

現在,如果您只想美化自己的html,請將開始標記更改為以下內容:

<body style="margin: 0px; padding: 0px; overflow: hidden; width: 100%; height: 100%; background-color: white;">
<div id="htmlwidget_container" style="position: absolute; top: 0px; right: 0px; bottom: 0px; left: 0px;">

如果您希望每個人都從中獲利,請在plotlys項目頁面上另外報告此錯誤。

除了@Nikolay的答案

如果您確實想更改某些樣式,則可以將其轉換為htmlwidget,然后使用如下方式:

library(plotly)
values = c(53, 43, 77, 33)
labels = paste((values/sum(values))*100,"%")


p1 = plot_ly(labels=labels,
             values=values,
             type="pie",
             hoverinfo = "label+percent",
             showlegend = FALSE,
             sort = FALSE
)
style(p1,'#htmlwidget_container{
          position: absolute; 
      top: 0px; right: 0px; bottom: 0px; left: 0px;
      }')

p1 = layout(p1,
            paper_bgcolor="rgb(31,31,31)",
            plot_bgcolor="rgb(31,31,31)",
            legend = list(font = list(color = "white"),
                          bgcolor = "transparent"),
            autosize = T,
            xaxis = list(
              color = "transparent"
            ),
            yaxis = list(
              color = "transparent"
            )

)

library(htmltools)
library(htmlwidgets)

p2=as.widget(p1)
appendContent(p2,tags$head(tags$style('
          #htmlwidget_container{
            position: absolute  !important;
            top: 0px  !important; 
            right: 0px  !important;
            bottom: 0px  !important;
            left: 0px  !important;
                                  }')))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM