Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Top and Bottom plots seem to have less spacing when using `subplot` in `plotly`

Ouverte
#2,378 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
45/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
r

Piste de recherche

Commencez par exécuter le reprex R fourni avec subplot et 45 histogrammes afin de reproduire le problème d’espacement entre les lignes supérieure et inférieure. Suivez le comportement de mise en page de subplot et vérifiez que les histogrammes obtenus ont des marges égales avec des libellés visibles ; le problème est résolu lorsque les graphiques supérieur et inférieur sont espacés de manière cohérente.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Description:

When attempting to display multiple histograms using subplot from the plotly package, the plots in the top row and bottom row appear with less spacing, making them difficult to analyze. This issue is primarily reproducible when there are large number of visualizations to plot together.

Here is a minimal reprex for the same:

# Load necessary libraries
library(ggplot2)
library(plotly)

# set seed for reproducibility
set.seed(123)

# simulate a dataset
simulateDataset <- function(numRows = 100, numCols = 40) {
  data <- data.frame(matrix(nrow = numRows, ncol = numCols))
  
  for (i in 1:numCols) {
    if (i %% 2 == 0) {
      data[[i]] <- rnorm(numRows, mean = 50, sd = 10)  # Normal distribution
    } else {
      data[[i]] <- rexp(numRows, rate = 0.1)           # Exponential distribution
    }
  }
  
  names(data) <- paste0("Var", 1:numCols)
  return(data)
}

# simulate the data
df <- simulateDataset(numRows = 100, numCols = 45)

# create histograms and convert to plotly
plotList <- lapply(names(df), function(colName) {
  if (is.numeric(df[[colName]])) {
    p <- ggplot(df, aes(x = .data[[colName]])) + 
      geom_histogram(binwidth = 0.5, fill = 'grey', color = 'black')
    
    ggplotly(p)
  }
})

# define number of rows based on number of plots in each row
numberOfRows <- ceiling(length(plotList) / 3)

# display all plots together using subplot
subplot(plotList, nrows = numberOfRows, margin = 0.05, titleX = TRUE, titleY = TRUE)

Expected Behavior:
Each histogram should have equal margins, with appropriate spacing and labels visible.

Screenshots

image

image

image

Langage dominant
R
Étoiles
2.7k
Forks
641
Métriques de merge des PR
Aucune PR mergée en 30 j

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de plotly/plotly.R

Toutes les issues de plotly/plotly.R

Issues similaires

Plus d'issues R

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.