更改 R 中注释的字体大小
Changing the fontsize of annotation in R plotly
我想增加绘图上文本注释的大小。我想出的解决方案是在下面的最小代码上。但是,一旦数字的数量增加超过该值,文本的字体大小将不会以相同的方式应用于所有数字成员。为了向您展示实际问题,我准备了一个伪输入数据,所以请不要专注于为什么要显示一些愚蠢的数字。这个问题看起来很小,但它严重影响了我的波动数据可视化,它在序列中具有各种深度和顶部值。对此有什么想法吗?
最小代码
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
当前输出
期待是这样的
您可以使用 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
由 reprex package (v0.3.0)
于 2020-05-27 创建
我想增加绘图上文本注释的大小。我想出的解决方案是在下面的最小代码上。但是,一旦数字的数量增加超过该值,文本的字体大小将不会以相同的方式应用于所有数字成员。为了向您展示实际问题,我准备了一个伪输入数据,所以请不要专注于为什么要显示一些愚蠢的数字。这个问题看起来很小,但它严重影响了我的波动数据可视化,它在序列中具有各种深度和顶部值。对此有什么想法吗?
最小代码
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
当前输出
期待是这样的
您可以使用 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
由 reprex package (v0.3.0)
于 2020-05-27 创建