Defina o tamanho do texto dentro do marcador no gráfico de bolhas r

Soumya Boral

Os rótulos dentro das bolhas estão aparecendo com tamanho proporcional ao argumento de tamanho. No entanto, quero manter os rótulos em tamanhos constantes.

Qual argumento devo usar para mantê-los em tamanho constante?

O código que estou usando é fornecido abaixo.

df = data.frame( x = c( 3, 2, 2, 4, 6, 8 ), y = c( 3, 2, 3, 4, 6, 7 ), size = c( 20, 20, 20, 30, 40, 40 ), labels = letters[1:6] )

evo_bubble <- function(plot_data ,x_var, y_var, z_var, t_var) {

  # Trasform data into dataframe and quos
  df <- data.frame(plot_data)
  xenc <- enquo(x_var)
  yenc <- enquo(y_var)
  zenc <- enquo(z_var)
  tenc <- enquo(t_var)
  df <- df %>% mutate( bubble_size = !!zenc*50 ) # Modify the denominator if you want to change the dimension of the bubble


  # Set parameters for the plot 
  bubble_pal <- c("white", "#AECEE8" )
  gray_axis <- '#dadada'
  font_size <- list(size = 12, family = 'Lato')
  width <- 0.5
  legend_name <- Hmisc::capitalize( quo_name(zenc) ) # WATCH OUT! it works only with the package with Hmisc
  decimal <- ',.2f'
  sep <- ','
  #x_name <- capitalize(quo_name(xenc))
  y_name <- Hmisc::capitalize(quo_name(yenc))

  p <- plot_ly(df, x = xenc, y = yenc, name = '', text = tenc, type = "scatter",  mode = 'markers+text', 
               hoverlabel = list(font = font_size), size = zenc, color = zenc, hoverinfo = "text+y", colors= bubble_pal,
               marker = list(size = df$bubble_size, line = list(color = gray_axis)) ) %>% hide_colorbar()

  p <- p %>%  layout(xaxis = list(zeroline = F,
                                  title = '',
                                  linecolor = gray_axis,
                                  titlefont = font_size,
                                  tickfont  = font_size,
                                  rangemode='tozero',
                                  gridcolor = gray_axis,
                                  gridwidth = width,
                                  hoverformat = decimal,
                                  mirror = "ticks",
                                  tickmode = 'array',
                                  tickcolor = gray_axis,
                                  linewidth = width,
                                  showgrid = F ),
                     yaxis = list(title = y_name,
                                  zerolinecolor = gray_axis,
                                  linecolor = gray_axis,
                                  mirror = "ticks",
                                  hoverformat = '.2f',
                                  linewidth = width,
                                  tickcolor = gray_axis,
                                  tickformat = '.2f',
                                  titlefont = font_size,
                                  tickfont  = font_size,
                                  showgrid = FALSE) ) %>%
    config(displayModeBar = F)

  return(p)
}


evo_bubble( df, x, y, size, labels )

Imagem esperada:

insira a descrição da imagem aqui

Imagem obtida:

insira a descrição da imagem aqui

Por favor, ignore as cores no gráfico.

ismirsehshelf

Você pode usar add_textpara obter o resultado desejado:

library(plotly)
library(dplyr)

DF = data.frame( x = c( 3, 2, 2, 4, 6, 8 ), y = c( 3, 2, 3, 4, 6, 7 ), size = c( 20, 20, 20, 30, 40, 40 ), labels = letters[1:6] )

evo_bubble <- function(plot_data, x_var, y_var, z_var, t_var) {
  # browser()
  # Trasform data into dataframe and quos
  DF <- data.frame(plot_data)
  xenc <- enquo(x_var)
  yenc <- enquo(y_var)
  zenc <- enquo(z_var)
  tenc <- enquo(t_var)
  DF <- DF %>% mutate( bubble_size = !!zenc*50 ) # Modify the denominator if you want to change the dimension of the bubble


  # Set parameters for the plot 
  bubble_pal <- c("white", "#AECEE8" )
  gray_axis <- '#dadada'
  font_size <- list(size = 12, family = 'Lato')
  width <- 0.5
  legend_name <- Hmisc::capitalize( quo_name(zenc) ) # WATCH OUT! it works only with the package with Hmisc
  decimal <- ',.2f'
  sep <- ','
  #x_name <- capitalize(quo_name(xenc))
  y_name <- Hmisc::capitalize(quo_name(yenc))

  p <- plot_ly(DF, x = xenc, y = yenc, name = '', type = "scatter",  mode = 'markers', 
               hoverlabel = list(font = font_size), size = zenc, color = zenc, hoverinfo = "text+y", colors= bubble_pal,
               marker = list(size = DF$bubble_size, line = list(color = gray_axis))) %>% 
    add_text(text = tenc, textfont = font_size, textposition = "middle center") %>% hide_colorbar()

  p <- p %>%  layout(xaxis = list(zeroline = F,
                                  title = '',
                                  linecolor = gray_axis,
                                  titlefont = font_size,
                                  tickfont  = font_size,
                                  rangemode='tozero',
                                  gridcolor = gray_axis,
                                  gridwidth = width,
                                  hoverformat = decimal,
                                  mirror = "ticks",
                                  tickmode = 'array',
                                  tickcolor = gray_axis,
                                  linewidth = width,
                                  showgrid = F ),
                     yaxis = list(title = y_name,
                                  zerolinecolor = gray_axis,
                                  linecolor = gray_axis,
                                  mirror = "ticks",
                                  hoverformat = '.2f',
                                  linewidth = width,
                                  tickcolor = gray_axis,
                                  tickformat = '.2f',
                                  titlefont = font_size,
                                  tickfont  = font_size,
                                  showgrid = FALSE) ) %>%
    config(displayModeBar = F)

  return(p)
}


evo_bubble( DF, x, y, size, labels )

Resultado

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

Altere o tamanho do marcador da legenda para Plotly scatter plot (gráfico de bolhas) em Python

Como posso posicionar o texto dentro do gráfico de bolhas?

tamanho do marcador do gráfico de dispersão pyplot

Defina o tamanho do gráfico em R

Defina o tamanho do gráfico de KElbowVisualizer

Alterando manualmente o tamanho das bolhas para o mapa de bolhas do Plotly em R

defina a largura como lista suspensa e ajuste o texto dentro do tamanho de acordo com a largura

Cálculo do tamanho do marcador do gráfico de dispersão

tamanho do marcador do gráfico de dispersão do mar para TODOS os marcadores

Gráfico de dispersão do Python. Tamanho e estilo do marcador

Gráfico de dispersão do Python. Tamanho e estilo do marcador

Gráfico de dispersão com tamanho, marcador e cor diferentes do dataframe do pandas

aviso espúrio ao mapear o tamanho do marcador no gráfico R

Chart.js - Adicionar texto / rótulo aos elementos do gráfico de bolhas sem usar dicas de ferramentas?

Rotular bolhas específicas no gráfico de bolhas do Plotly

R Scatterplot / gráfico de bolhas com tamanho de ponto baseado no número de observação

O gráfico Js reduz o tamanho do texto do rótulo no eixo X

tamanho do gráfico R Markdown personalizado dentro do loop

Como corrigir a função arrastável em um gráfico de bolhas com texto dentro?

Matplotlib; Marcador de gráfico de dispersão, ponto dentro do círculo

Matplotlib; Marcador de gráfico de dispersão, ponto dentro do círculo

Altere o tamanho do marcador do gráfico de dispersão com base no valor da coluna - Python 3.6.x

Altere o tamanho do marcador do gráfico de dispersão com base no valor da coluna - Python 3.6.x

Ao atualizar o tamanho do marcador do Plotly, quero preservar o preenchimento do gráfico

Obtenha dimensão do XML e defina o tamanho do texto em tempo de execução

Defina a cor do marcador de posição de entrada de texto em reactjs

Defina a cor do marcador de posição de entrada de texto em reactjs

Tamanho do texto da anotação do gráfico de pizza / rosca Matplotlib

Bolhas do gráfico alto com setas dentro

TOP lista

  1. 1

    R Shiny: use HTML em funções (como textInput, checkboxGroupInput)

  2. 2

    UITextView não está exibindo texto longo

  3. 3

    Dependência circular de diálogo personalizado

  4. 4

    Acessando relatório de campanhas na AdMob usando a API do Adsense

  5. 5

    Como assinar digitalmente um documento PDF com assinatura e texto visíveis usando Java

  6. 6

    R Folheto. Dados de pontos de grupo em células para resumir muitos pontos de dados

  7. 7

    Setas rotuladas horizontais apontando para uma linha vertical

  8. 8

    O Chromium e o Firefox exibem as cores de maneira diferente e não sei qual deles está fazendo certo

  9. 9

    Definir um clipe em uma trama nascida no mar

  10. 10

    Por que meus intervalos de confiança de 95% da minha regressão multivariada estão sendo plotados como uma linha de loess?

  11. 11

    Como dinamizar um Dataframe do pandas em Python?

  12. 12

    regex para destacar novos caracteres de linha no início e no fim

  13. 13

    Why isn't my C# .Net Core Rest API route finding my method?

  14. 14

    Como obter a entrada de trás de diálogo em treeview pyqt5 python 3

  15. 15

    Tabela CSS: barra de rolagem para a primeira coluna e largura automática para a coluna restante

  16. 16

    How to create dynamic navigation menu select from database using Codeigniter?

  17. 17

    Como recuperar parâmetros de entrada usando C #?

  18. 18

    Changing long, lat values of Polygon coordinates in python

  19. 19

    Livros sobre criptografia do muito básico ao muito avançado

  20. 20

    Método \ "POST \" não permitido no framework Django rest com ações extras & ModelViewset

  21. 21

    Pesquisa classificada, conte números abaixo do valor desejado

quentelabel

Arquivo