Изменение размера шрифта аннотации в R графически - PullRequest
0 голосов
/ 27 мая 2020

Я бы хотел увеличить размер текстовых аннотаций на графике. Решение, которое я придумал, - это минимальный код ниже. Однако, как только количество цифр увеличивается через значение, размер шрифта текста не применяется ко всем членам di git одинаково. Чтобы показать вам реальную проблему, я готовлю псевдо-входные данные, поэтому, пожалуйста, не сосредотачивайтесь на том, почему должны отображаться какие-то глупые числа. Эта проблема выглядит незначительной, но она сильно влияет на визуализацию флуктуируемых данных, которые имеют различные глубокие и верхние значения в последовательности. Есть идеи по этому поводу?

Минимальный код

library(plotly)

df <- read.csv("https://raw.githubusercontent.com/plotly/datasets/master/gapminderDataFiveYear.csv", stringsAsFactors = FALSE)
df <- df[which(df$year==2007 & df$continent=='Europe' & df$pop > 2.e6),]

#pseudo input data
temp_data <- c(c(1:5, 10:15, 100:105, 1000:1010))

fig <- plot_ly(df, type='bar', x = ~country, y = temp_data, text = temp_data, name="",
               textposition = 'outside', #'auto' 
               textangle    = -90,
               textfont     = list(size = 120)
               )

fig

Токовый выход

enter image description here

Ожидание примерно такое

enter image description here

1 Ответ

1 голос
/ 27 мая 2020

Вы можете сделать это, используя layout. Чтобы вместить числа, я также увеличил диапазон оси Y.

library(plotly)
#> Loading required package: ggplot2
#> 
#> Attaching package: 'plotly'
#> The following object is masked from 'package:ggplot2':
#> 
#>     last_plot
#> The following object is masked from 'package:stats':
#> 
#>     filter
#> The following object is masked from 'package:graphics':
#> 
#>     layout

df <- read.csv("https://raw.githubusercontent.com/plotly/datasets/master/gapminderDataFiveYear.csv", stringsAsFactors = FALSE)
df <- df[which(df$year==2007 & df$continent=='Europe' & df$pop > 2.e6),]

#pseudo input data
temp_data <- c(c(1:5, 10:15, 100:105, 1000:1010))

fig <- plot_ly(df, type='bar', x = ~country, y = temp_data, text = temp_data, name="",
               textposition = 'outside', #'auto'
               textangle    = -90) %>% layout(yaxis=list(range=c(0, max(temp_data)+200)),
                                              uniformtext=list(minsize=18, mode='show'))
fig

Создано 27 мая 2020 года пакетом REPEX (v0.3.0)

...