en cumulant breaks et limits de scale_x_discrete mes étiquettes ne s'affichent plus :(

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Carine Lambert
Messages : 37
Enregistré le : 18 Fév 2021, 15:16

en cumulant breaks et limits de scale_x_discrete mes étiquettes ne s'affichent plus :(

Messagepar Carine Lambert » 18 Mar 2021, 11:35

Bonjour,

je n'arrive pas à faire fonctionner en même temps les arguments limits et breaks de scale_x_discrete, soit j'ai bien les montants souhaités (avec breaks) mais les modalités du facteur peuvent se trouver dans le désordre, soit elles sont bien dans l'ordre mais plus aucune étiquette ne s'affiche... savez-vous pourquoi ?

Dans ce graph intégré à un renderPlotly d'R Shiny, je compare des données globales (Stat_g) et des données filtrées(Stat_f) obtenues grâce à un filtre en input pour pouvoir sur le même graph montrer la comparaison...(d'où le combi) :

combi = left_join(Stat_g, Stat, by=c("cut"="cut"), suffix= c("_g","_f"))

g <- ggplot(combi) +
geom_bar(aes(x = cut_valeur_f, y = PCT, group=cut_valeur_f, fill = color_f), stat = "identity") +
geom_point(aes(x=cut_valeur_g, y=PCT_g, group=cut_valeur_g), shape = 4, size =1)+
theme(panel.background = element_rect(fill = "white", colour = "white",size = 2, linetype = "solid"),
panel.grid.major = element_line(size = 0.5, linetype = 'solid',colour = "white"),
panel.grid.minor = element_line(size = 0.25, linetype = 'solid',colour = "white"),
legend.title = element_blank())+
xlab("Consommation énergétique moyenne en kWh par m²" ) + ylab("% des DPE") +
scale_fill_manual(values="#00FF00")+
scale_x_discrete("Consommation énergétique moyenne en kWh par m²", breaks = c(0,50,150,250,350,450),
limits = c(30,50,70,90,110,130,150,170,190,210,230,250,270,290,310,330,350,370,390,410,430,450,470,490,510,530,550,570))

ggplotly(g) %>%
config(displaylogo = FALSE, collaborate = FALSE,
displayModeBar = FALSE)

Un rapport de stage est à la clé, merci pour votre aide !
Carine

Facundo Muñoz
Messages : 156
Enregistré le : 04 Juil 2019, 09:58
Contact :

Re: en cumulant breaks et limits de scale_x_discrete mes étiquettes ne s'affichent plus :(

Messagepar Facundo Muñoz » 18 Mar 2021, 11:54

Bonjour,

veuillez fournir en exemple reproductible. Autrement c'est très difficile, voire impossible de vous aider.

ƒacu.-

Mickael Canouil
Messages : 1315
Enregistré le : 04 Avr 2011, 08:53
Contact :

Re: en cumulant breaks et limits de scale_x_discrete mes étiquettes ne s'affichent plus :(

Messagepar Mickael Canouil » 18 Mar 2021, 11:58

Bonjour,

comme l'a souligné Facundo, votre code (hors balise de code) n'est pas du tout reproductible, à défaut:
  • "limits", pour définir les limites de l'axe, il ne peut en exister plus de deux.
  • "breaks", sont les valeurs intermédiaires de l'axe auxquelles mettre des graduations.
Je vous suggère de consulter la documentation de ggplot2 scale_x_*() (et geom_col en lieu et place de geom_bar(stat = "identity"))

Cordialement,
Mickaël
mickael.canouil.fr | rlille.fr

Carine Lambert
Messages : 37
Enregistré le : 18 Fév 2021, 15:16

Re: en cumulant breaks et limits de scale_x_discrete mes étiquettes ne s'affichent plus :(

Messagepar Carine Lambert » 22 Mar 2021, 11:13

Bonjour,

d'abord merci pour vos conseils, j'ai fait un code reproductible, j'espère qu'il n'est pas trop dense ! mais comme je ne sais pas d'où vient le pb....
il faut imaginer un graph beaucoup plus parlant avec plus de données mais bon... l'idée est de cumuler sur un mem grap des données globales / générales et des données filtrées, et mon problème est que je voudrais voir apparaitre mon échelle des x dans un certain ordre (car discrete).

Merci beaucoup pour votre aide :)

library(shiny)
library(readr)
library(dplyr)
library(shinythemes)
library(DT)
library(plotly)
library(tidyverse)

annee_construction_tranche <- c("2011 et années suivantes", "1991-2010", "1921-1970", "1991-2010", "Avant 1870", "1870-1920","1921-1970","1971-1990","1991-2010","2011 et années suivantes")
annee_construction_tranche <- factor(annee_construction_tranche)

result_city <- c("rezé", "nantes", "la-baule", "blain", "vallet", "nantes", "la-baule", "blain", "vallet", "rezé")
result_city <- factor(result_city)

consommation_energien_revue <- c(10,210,230,190,350,170,390,430,270,330)

cut <- c(2,11,12,10,18,9,20,22,14,17)

dpe <- data.frame(annee_construction_tranche, result_city, consommation_energien_revue, cut)

ui <- fluidPage(

selectInput(inputId = "periode_choisie",
label = "La période de construction :",
choices = c("Toutes",levels(dpe$annee_construction_tranche)),
selected = "Toutes"),

selectInput(inputId = "commune",
label = "Votre commune :",
choices = c("Toutes",levels(dpe$result_city)),
selected = "Toutes"),

plotlyOutput("graph")

)


server <- function(input, output){

donnee <- reactive({
if (input$periode_choisie == "Toutes" & input$commune == "Toutes") {
df <- dpe

} else {
df <- dpe %>%
filter(annee_construction_tranche == input$periode_choisie) %>%
filter(result_city == input$commune)}

return(df)
})

output$graph <- renderPlotly ({

#somme du nombre de relevés de conso d'énergie
nb<- donnee() %>% summarise(nb = n())

#nombre de relevés par classe / cut
Stat <- donnee() %>% group_by(cut) %>% summarise(nb_cut =n())

#pourcentage de relevés par classe
Stat$PCT <- round(Stat$nb_cut / as.integer(nb) * 100, 2)

#création d'une colonne label/valeur en fonction du cut :
Stat$cut_valeur <-as.factor( case_when(
(Stat$cut<=1) ~ 30,
(Stat$cut<=2) ~ 50,
(Stat$cut<=3) ~ 70,
(Stat$cut<=4) ~ 90,
(Stat$cut<=5) ~ 110,
(Stat$cut<=6) ~ 130,
(Stat$cut<=7) ~ 150,
(Stat$cut<=8) ~ 170,
(Stat$cut<=9) ~ 190,
(Stat$cut<=10) ~ 210,
(Stat$cut<=11) ~ 230,
(Stat$cut<=12) ~ 250,
(Stat$cut<=13) ~ 270,
(Stat$cut<=14) ~ 290,
(Stat$cut<=15) ~ 310,
(Stat$cut<=16) ~ 330,
(Stat$cut<=17) ~ 350,
(Stat$cut<=18) ~ 370,
(Stat$cut<=19) ~ 390,
(Stat$cut<=20) ~ 410,
(Stat$cut<=21) ~ 430,
(Stat$cut<=22) ~ 450,
(Stat$cut<=23) ~ 470,
(Stat$cut<=24) ~ 490,
(Stat$cut<=25) ~ 510,
(Stat$cut<=26) ~ 530,
(Stat$cut<=27) ~ 550,
(Stat$cut<=28) ~ 570
))

#création de la colonne classe (color) en fonction du cut :
Stat$color<-as.factor( case_when(
(Stat$cut<=2) ~ "A",
(Stat$cut<=4) ~ "B",
(Stat$cut<=7) ~ "C",
(Stat$cut<=11) ~ "D",
(Stat$cut<=16) ~ "E",
(Stat$cut<=22) ~ "F",
(Stat$cut<=30) ~ "G"
))

#idem pour les données globales à comparer
nb_g <- dpe %>% summarise(nb = n())

Stat_g <- dpe %>% group_by(cut) %>% summarise(nb_cut =n())

Stat_g$PCT_g <- round(Stat_g$nb_cut / as.integer(nb_g) * 100, 2)

Stat_g$cut_valeur <-as.factor( case_when(
(Stat_g$cut<=1) ~ 30,
(Stat_g$cut<=2) ~ 50,
(Stat_g$cut<=3) ~ 70,
(Stat_g$cut<=4) ~ 90,
(Stat_g$cut<=5) ~ 110,
(Stat_g$cut<=6) ~ 130,
(Stat_g$cut<=7) ~ 150,
(Stat_g$cut<=8) ~ 170,
(Stat_g$cut<=9) ~ 190,
(Stat_g$cut<=10) ~ 210,
(Stat_g$cut<=11) ~ 230,
(Stat_g$cut<=12) ~ 250,
(Stat_g$cut<=13) ~ 270,
(Stat_g$cut<=14) ~ 290,
(Stat_g$cut<=15) ~ 310,
(Stat_g$cut<=16) ~ 330,
(Stat_g$cut<=17) ~ 350,
(Stat_g$cut<=18) ~ 370,
(Stat_g$cut<=19) ~ 390,
(Stat_g$cut<=20) ~ 410,
(Stat_g$cut<=21) ~ 430,
(Stat_g$cut<=22) ~ 450,
(Stat_g$cut<=23) ~ 470,
(Stat_g$cut<=24) ~ 490,
(Stat_g$cut<=25) ~ 510,
(Stat_g$cut<=26) ~ 530,
(Stat_g$cut<=27) ~ 550,
(Stat_g$cut<=28) ~ 570
))

Stat_g$color<-as.factor( case_when(
(Stat_g$cut<=2) ~ "A",
(Stat_g$cut<=4) ~ "B",
(Stat_g$cut<=7) ~ "C",
(Stat_g$cut<=11) ~ "D",
(Stat_g$cut<=16) ~ "E",
(Stat_g$cut<=22) ~ "F",
(Stat_g$cut<=30) ~ "G"
))
#fusion du global et du filtré
combi = left_join(Stat_g, Stat, by=c("cut"="cut"), suffix= c("_g","_f"))

cols <- c("A" = "#008000", "B" = "#00FF00", "C" = "#BBF616", "D" = "#FFFF00", "E" = "#FF8000", "F" = "#F65200", "G" = "#FF0000")

g <- ggplot(combi) +
geom_col(aes(x = cut_valeur_f, y = PCT, group=cut_valeur_f, fill = color_f), stat = "identity") +
geom_point(aes(x=cut_valeur_g, y=PCT_g, group=cut_valeur_g), shape = 4, size =1)+
theme(panel.background = element_rect(fill = "white", colour = "white",size = 2, linetype = "solid"),
panel.grid.major = element_line(size = 0.5, linetype = 'solid',colour = "white"),
panel.grid.minor = element_line(size = 0.25, linetype = 'solid',colour = "white"),
legend.title = element_blank())+
ylab("% des DPE") +
scale_fill_manual(values=cols)+
scale_x_discrete("Consommation énergétique moyenne en kWh par m²", limits = c(30,50,70,90,110,130,150,170,190,210,230,250,270,290,310,330,350,370,390,410,430,450,470,490,510,530,550,570))
#breaks = c(0,50,150,250,350,450)

#pour enlever la possibilité d'enregistrer l'image, la zoomer, etc
ggplotly(g) %>% #, tooltip = "PCT"
config(displaylogo = FALSE, collaborate = FALSE,
displayModeBar = FALSE)

})


}

shinyApp(ui=ui, server=server)

Léo HENRY
Messages : 3
Enregistré le : 19 Mar 2021, 19:01

Re: en cumulant breaks et limits de scale_x_discrete mes étiquettes ne s'affichent plus :(

Messagepar Léo HENRY » 22 Mar 2021, 12:10

Bonjour Carine,

Pourriez-vous éditer votre poste, sélectionner tous votre code, et cliquer sur 'code' dans l'éditeur en haut. Cela le rendre plus lisible en ajoutant deux balise la première au début de votre code: [code]
la deuxième à la fin de votre code [/code

Mickael Canouil
Messages : 1315
Enregistré le : 04 Avr 2011, 08:53
Contact :

Re: en cumulant breaks et limits de scale_x_discrete mes étiquettes ne s'affichent plus :(

Messagepar Mickael Canouil » 22 Mar 2021, 13:02

Un code minimal et reproductible, le fait que ce soit une application shiny n'aide en rien et n'a rien à voir avec votre problème.
Il suffisait simplement de fournir le jeux de données comme indiqué dans le lien que j'ai donnée, où faire un {reprex} avec l'extension R du même nom.

Et votre code est plus complexe que nécessaire, par exemple, avec trois "result_city " ("Don't repeat yourself" est un principe de base en programmation et sur R):

Code : Tout sélectionner

result_city <- c("rezé", "nantes", "la-baule", "blain", "vallet", "nantes", "la-baule", "blain", "vallet", "rezé")
result_city <- factor(result_city)

Pour :

Code : Tout sélectionner

result_city <- factor(c("rezé", "nantes", "la-baule", "blain", "vallet", "nantes", "la-baule", "blain", "vallet", "rezé"))


Et à force de tout découper en variable intermédiaire on en perd la structure:

Code : Tout sélectionner

dpe <- data.frame(
  annee_construction_tranche = factor(c(
    "2011 et années suivantes", "1991-2010", "1921-1970", "1991-2010", 
    
"Avant 1870", "1870-1920", "1921-1970", "1971-1990", "1991-2010", 
    
"2011 et années suivantes"
  )), 
  result_city 
= factor(c(
    "rezé", "nantes", "la-baule", "blain", "vallet", 
    
"nantes", "la-baule", "blain", "vallet", "rezé"
  )), 
  consommation_energien_revue 
= c(10, 210, 230, 190, 350, 170, 390, 430, 270, 330), 
  cut 
= c(2, 11, 12, 10, 18, 9, 20, 22, 14, 17)
)


Exemple de code reproductible qui devrait répondre à votre vrai problème :

Code : Tout sélectionner

dpe <- data.frame(
  annee_construction_tranche = factor(c(
    "2011 et années suivantes", "1991-2010", "1921-1970", "1991-2010", 
    
"Avant 1870", "1870-1920", "1921-1970", "1971-1990", "1991-2010", 
    
"2011 et années suivantes"
  )), 
  result_city 
= factor(c(
    "rezé", "nantes", "la-baule", "blain", "vallet", 
    
"nantes", "la-baule", "blain", "vallet", "rezé"
  )), 
  consommation_energien_revue 
= c(10, 210, 230, 190, 350, 170, 390, 430, 270, 330), 
  cut 
= c(2, 11, 12, 10, 18, 9, 20, 22, 14, 17)
)


donnee <- function() { # to mimic shiny app
  dpe %>%
    filter(annee_construction_tranche == "1991-2010") %>%
    filter(result_city == "blain")
}


library(dplyr)
#> 
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#> 
#>     filter, lag
#> The following objects are masked from 'package:base':
#> 
#>     intersect, setdiff, setequal, union
library(ggplot2)

format_data <- function(data) { # because "idem" is not a thing in programming, it's a function
  data %>% 
    add_count
(nb_total = n()) %>% 
    group_by
(cut) %>% 
    summarise
(nb_cut = n(), PCT = round(n() / nb_total * 100, 2), .groups = "drop") %>% 
    mutate
(
      cut_valeur = cut(= cut, breaks = c(0:28), labels = seq(30, 570, 20)), # cut(), not case_when to cut a vector into pieces
      color = cut(= cut, breaks = c(0, 2, 4, 7, 11, 16, 22, 30), labels = LETTERS[1:7])
    )
}

combi <- left_join(
  x = format_data(dpe), 
  y 
= format_data(donnee()), 
  by 
= "cut", 
  suffix 
= c("_g", "_f")
)

cols <- c(
  "A" = "#008000", 
  
"B" = "#00FF00", 
  
"C" = "#BBF616", 
  
"D" = "#FFFF00", 
  
"E" = "#FF8000", 
  
"F" = "#F65200", 
  
"G" = "#FF0000"
)
<- ggplot(combi) +
  geom_col(aes(= cut_valeur_f, y = PCT_f, fill = color_f)) +
  geom_point(aes(= cut_valeur_g, y = PCT_g), shape = 4, size = 1) +
  theme(
    panel.background = element_rect(fill = "white", colour = "white", size = 2, linetype = "solid"),
    panel.grid.major = element_line(size = 0.5, linetype = "solid", colour = "white"),
    panel.grid.minor = element_line(size = 0.25, linetype = "solid", colour = "white"),
    legend.title = element_blank()
  ) +
  scale_fill_manual(values = cols) +
  scale_x_discrete(drop = FALSE) + # drop to print all levels of a factor including the missing ones
  labs(= "Consommation énergétique moyenne en kWh par m²", y = "% des DPE")
g
#> Warning: Removed 9 rows containing missing values (position_stack).

Image

Cordialement,
Mickaël
mickael.canouil.fr | rlille.fr

Carine Lambert
Messages : 37
Enregistré le : 18 Fév 2021, 15:16

Re: en cumulant breaks et limits de scale_x_discrete mes étiquettes ne s'affichent plus :(

Messagepar Carine Lambert » 22 Mar 2021, 13:39

[quote="Carine Lambert"]Bonjour,

d'abord merci pour vos conseils, j'ai fait un code reproductible, j'espère qu'il n'est pas trop dense ! mais comme je ne sais pas d'où vient le pb....
il faut imaginer un graph beaucoup plus parlant avec plus de données mais bon... l'idée est de cumuler sur un mem grap des données globales / générales et des données filtrées, et mon problème est que je voudrais voir apparaitre mon échelle des x dans un certain ordre (car discrete).

Merci beaucoup pour votre aide :)

Code : Tout sélectionner

library(shiny)
library(readr)
library(dplyr)
library(shinythemes)
library(DT)
library(plotly)
library(tidyverse)

annee_construction_tranche <- c("2011 et années suivantes", "1991-2010", "1921-1970", "1991-2010", "Avant 1870", "1870-1920","1921-1970","1971-1990","1991-2010","2011 et années suivantes")
annee_construction_tranche <- factor(annee_construction_tranche)

result_city <- c("rezé", "nantes", "la-baule", "blain", "vallet", "nantes", "la-baule", "blain", "vallet", "rezé")
result_city <- factor(result_city)

consommation_energien_revue <- c(10,210,230,190,350,170,390,430,270,330)

cut <- c(2,11,12,10,18,9,20,22,14,17)

dpe <- data.frame(annee_construction_tranche, result_city, consommation_energien_revue, cut)

ui <- fluidPage(
 
      selectInput(inputId = "periode_choisie",
                  label = "La période de construction :",
                  choices = c("Toutes",levels(dpe$annee_construction_tranche)),
                  selected = "Toutes"),
 
      selectInput(inputId = "commune",
                  label = "Votre commune :",
                  choices = c("Toutes",levels(dpe$result_city)),
                  selected = "Toutes"),
 
      plotlyOutput("graph")
 
)
 
 
server <- function(input, output){
 
  donnee <- reactive({
    if (input$periode_choisie == "Toutes" & input$commune == "Toutes") {
      df <- dpe
     
    } else {
      df <- dpe %>%
        filter(annee_construction_tranche == input$periode_choisie) %>%
        filter(result_city == input$commune)}
   
    return(df)
  })
 
  output$graph <- renderPlotly ({
   
    #somme du nombre de relevés de conso d'énergie
    nb<- donnee() %>% summarise(nb = n())
   
    #nombre de relevés par classe / cut
    Stat <- donnee() %>% group_by(cut) %>% summarise(nb_cut =n())

    #pourcentage de relevés par classe
    Stat$PCT <- round(Stat$nb_cut / as.integer(nb) * 100, 2)
   
    #création d'une colonne label/valeur en fonction du cut :
    Stat$cut_valeur <-as.factor( case_when(
      (Stat$cut<=1) ~ 30,
      (Stat$cut<=2) ~ 50,
      (Stat$cut<=3) ~ 70,
      (Stat$cut<=4) ~ 90,
      (Stat$cut<=5) ~ 110,
      (Stat$cut<=6) ~ 130,
      (Stat$cut<=7) ~ 150,
      (Stat$cut<=8) ~ 170,
      (Stat$cut<=9) ~ 190,
      (Stat$cut<=10) ~ 210,
      (Stat$cut<=11) ~ 230,
      (Stat$cut<=12) ~ 250,
      (Stat$cut<=13) ~ 270,
      (Stat$cut<=14) ~ 290,
      (Stat$cut<=15) ~ 310,
      (Stat$cut<=16) ~ 330,
      (Stat$cut<=17) ~ 350,
      (Stat$cut<=18) ~ 370,
      (Stat$cut<=19) ~ 390,
      (Stat$cut<=20) ~ 410,
      (Stat$cut<=21) ~ 430,
      (Stat$cut<=22) ~ 450,
      (Stat$cut<=23) ~ 470,
      (Stat$cut<=24) ~ 490,
      (Stat$cut<=25) ~ 510,
      (Stat$cut<=26) ~ 530,
      (Stat$cut<=27) ~ 550,
      (Stat$cut<=28) ~ 570
    ))
   
    #création de la colonne classe (color) en fonction du cut :
    Stat$color<-as.factor( case_when(
      (Stat$cut<=2) ~ "A",
      (Stat$cut<=4) ~ "B",
      (Stat$cut<=7) ~ "C",
      (Stat$cut<=11) ~ "D",
      (Stat$cut<=16) ~ "E",
      (Stat$cut<=22) ~ "F",
      (Stat$cut<=30) ~ "G"
    ))
   
    #idem pour les données globales à comparer
    nb_g <- dpe %>% summarise(nb = n())
   
    Stat_g <- dpe %>% group_by(cut) %>% summarise(nb_cut =n())

    Stat_g$PCT_g <- round(Stat_g$nb_cut / as.integer(nb_g) * 100, 2)
   
    Stat_g$cut_valeur <-as.factor( case_when(
      (Stat_g$cut<=1) ~ 30,
      (Stat_g$cut<=2) ~ 50,
      (Stat_g$cut<=3) ~ 70,
      (Stat_g$cut<=4) ~ 90,
      (Stat_g$cut<=5) ~ 110,
      (Stat_g$cut<=6) ~ 130,
      (Stat_g$cut<=7) ~ 150,
      (Stat_g$cut<=8) ~ 170,
      (Stat_g$cut<=9) ~ 190,
      (Stat_g$cut<=10) ~ 210,
      (Stat_g$cut<=11) ~ 230,
      (Stat_g$cut<=12) ~ 250,
      (Stat_g$cut<=13) ~ 270,
      (Stat_g$cut<=14) ~ 290,
      (Stat_g$cut<=15) ~ 310,
      (Stat_g$cut<=16) ~ 330,
      (Stat_g$cut<=17) ~ 350,
      (Stat_g$cut<=18) ~ 370,
      (Stat_g$cut<=19) ~ 390,
      (Stat_g$cut<=20) ~ 410,
      (Stat_g$cut<=21) ~ 430,
      (Stat_g$cut<=22) ~ 450,
      (Stat_g$cut<=23) ~ 470,
      (Stat_g$cut<=24) ~ 490,
      (Stat_g$cut<=25) ~ 510,
      (Stat_g$cut<=26) ~ 530,
      (Stat_g$cut<=27) ~ 550,
      (Stat_g$cut<=28) ~ 570
    ))
   
    Stat_g$color<-as.factor( case_when(
      (Stat_g$cut<=2) ~ "A",
      (Stat_g$cut<=4) ~ "B",
      (Stat_g$cut<=7) ~ "C",
      (Stat_g$cut<=11) ~ "D",
      (Stat_g$cut<=16) ~ "E",
      (Stat_g$cut<=22) ~ "F",
      (Stat_g$cut<=30) ~ "G"
    ))
    #fusion du global et du filtré
    combi = left_join(Stat_g, Stat, by=c("cut"="cut"), suffix= c("_g","_f"))

    cols <- c("A" = "#008000", "B" = "#00FF00", "C" = "#BBF616", "D" = "#FFFF00", "E" = "#FF8000", "F" = "#F65200", "G" = "#FF0000")
   
    g <- ggplot(combi) +
      geom_col(aes(x = cut_valeur_f, y = PCT, group=cut_valeur_f, fill = color_f), stat = "identity") +
      geom_point(aes(x=cut_valeur_g, y=PCT_g, group=cut_valeur_g), shape = 4, size =1)+
      theme(panel.background = element_rect(fill = "white", colour = "white",size = 2, linetype = "solid"),
            panel.grid.major = element_line(size = 0.5, linetype = 'solid',colour = "white"),
            panel.grid.minor = element_line(size = 0.25, linetype = 'solid',colour = "white"),
            legend.title = element_blank())+
      ylab("% des DPE") +
      scale_fill_manual(values=cols)+
      scale_x_discrete("Consommation énergétique moyenne en kWh par m²", limits = c(30,50,70,90,110,130,150,170,190,210,230,250,270,290,310,330,350,370,390,410,430,450,470,490,510,530,550,570))
    #breaks = c(0,50,150,250,350,450)
 
    #pour enlever la possibilité d'enregistrer l'image, la zoomer, etc
    ggplotly(g) %>% #, tooltip = "PCT"
      config(displaylogo = FALSE, collaborate = FALSE,
             displayModeBar = FALSE)
   
  }) 
 
 
}
 
  shinyApp(ui=ui, server=server)[/quote]

Mickael Canouil
Messages : 1315
Enregistré le : 04 Avr 2011, 08:53
Contact :

Re: en cumulant breaks et limits de scale_x_discrete mes étiquettes ne s'affichent plus :(

Messagepar Mickael Canouil » 22 Mar 2021, 13:46

Ca aurait été mieux d'éditer votre message précédent pour les balises.

Mon message précédent comportant un exemple reproductible est intégralement basé sur votre code et comme je le disais devrait répondre à votre vrai problème, à savoir celui d'afficher toutes les modalités de la variable discrète affichée en abscisse.
Mickaël
mickael.canouil.fr | rlille.fr

Carine Lambert
Messages : 37
Enregistré le : 18 Fév 2021, 15:16

Re: en cumulant breaks et limits de scale_x_discrete mes étiquettes ne s'affichent plus :(

Messagepar Carine Lambert » 23 Mar 2021, 09:46

MERCI BEAUCOUP !!

au delà d'avoir trouvé la réponse, j'ai bien appris sur les bases de R (fonctions,etc) :) et c'est super car je débute et je n'ai pas de tuteur maitrisant R dans mon stage.... donc top !


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité