Насколько я знаю, нет прямого способа включить схему в каждую букву. Но я смог взломать что-то, что может вас заинтересовать. В следующем фрагменте кода используются два слоя аннотаций, в которых нижний слой использует темный и жирный шрифт, а верхний слой слегка перекошен путем вставки пустого пространства в отображаемый текст. Это дает эффект, похожий на тень.
Сюжет:
Код
library(plotly)
library(dplyr)
p <- plot_ly(x = c('Product A', 'Product B', 'Product C'),
y = c(20, 14, 23),
type = 'bar',
marker = list(color = 'rgb(158,202,225)',
line = list(color = 'rgb(8,48,107)', width = 1.5))) %>%
add_annotations(text = c('<b>20</b>', '<b>14</b>', '<b>23</b>'),
x = c('Product A', 'Product B', 'Product C'),
y = c(20, 14, 23)/2,
xref = "x",
yref = "y",
align='left',
font = list(family = 'Times New Roman',
size = 24,
color = 'black'),
showarrow = FALSE) %>%
add_annotations(text = c('20 ', '14 ', '23 '),
x = c('Product A', 'Product B', 'Product C'),
y = c(20, 14, 23)/2,
xref = "x",
yref = "y",
#align="right",
font = list(family = 'Times New Roman',
size = 24,
color = 'white'),
#bgcolor="black",
showarrow = FALSE)
p
Как видите, эти настройки в основном жестко запрограммированы и могут быть более гибкими, если вы можете их использовать. И, возможно, вы можете найти комбинацию жирного / не жирного шрифта и типа шрифта, который на самом деле выглядит хорошо?
Второй лучший подход (или даже лучший) может состоять в том, чтобы просто включить bgcolor="black"
в add_annotations()
для получить это:
Сюжет:
Код:
library(plotly)
library(dplyr)
p <- plot_ly(x = c('Product A', 'Product B', 'Product C'),
y = c(20, 14, 23),
type = 'bar',
marker = list(color = 'rgb(158,202,225)',
line = list(color = 'rgb(8,48,107)', width = 1.5))) %>%
add_annotations(text = c(20, 14, 23),
x = c('Product A', 'Product B', 'Product C'),
y = c(20, 14, 23)/2,
xref = "x",
yref = "y",
font = list(family = 'Arial',
size = 14,
color = 'rgb(245, 246, 249)'),
bgcolor="black",
showarrow = FALSE)
p