[R] "for" loop does not work with my plot_ly command

Bill Dunlap w||||@mwdun|@p @end|ng |rom gm@||@com
Tue Mar 30 16:53:28 CEST 2021


Printing the return value of plot_ly and friends works for me in the
following examples:
# make base plot
p0 <- plotly::plot_ly(na.omit(palmerpenguins::penguins), x =
~bill_length_mm, y = ~body_mass_g)
# now add things to base plot
for(vrbl in list(~species, ~island, ~year)) {
   tmp <- plotly::add_markers(p0, symbol=vrbl, color=vrbl)
   print(tmp)
}
# or, the put the plots in a list
plots <- lapply(list(~species, ~island, ~year), function(vrbl)
plotly::add_markers(p0, symbol=vrbl, color=vrbl))
print(plots)



On Tue, Mar 30, 2021 at 2:26 AM Rachida El Ouaraini
<elouaraini using gmail.com> wrote:
>
> Hi Mika,
> and thank you very much for your answer.
> When I add the "for" loop to the code that produces before the graph I
> want, it does nothing :
> NO graph and NO error message.
> It seems to me that the command plot_ly and the for loop DO NOT coexist.
>
> Rachida
>
> On Mon, Mar 29, 2021 at 7:44 PM Mika Hamari <mika.hamari73 using outlook.com>
> wrote:
>
> > Hi!
> >
> >
> >
> > I am also learning, but I want try to help. I often use for-loop in R. I
> > think that it could be due to dimensions of CPM, not the structure of the
> > loop.
> >
> >
> >
> > What kind of error message do you get? Is it: ”incorrect number of
> > dimensions”? What happens if you substitute in the end instead of CPM[i,1]
> > this:
> >
> >
> >
> > file.copy("C:/Users/pc/Downloads/Evolution Tmoy.png",
> > paste("C:/MONOGRAPHIE/Resultats/Evolution Tmoy_",CPM[i],".png",sep="")
> >
> >
> >
> > *Lähettäjä: *Rachida El Ouaraini <elouaraini using gmail.com>
> > *Lähetetty: *maanantai 29. maaliskuuta 2021 18.15
> > *Vastaanottaja: *r-help using r-project.org
> > *Aihe: *[R] "for" loop does not work with my plot_ly command
> >
> >
> >
> > Hi everyone,
> > I am new to R programming, and I am having difficulties modifying an R
> > script to introduce the "for" loop in the code.
> > While searching I found that this issue has already been raised, but I did
> > not know what to do to fix mine !
> >
> > *The code that works (without for command):*
> >
> > CPM <- read.table("FicConfig/CPM.txt" , header = TRUE, sep = "\t" , dec =
> > ",", skip = 0)
> > # The CPM.txt file containe 1 line
> > ......................................................................
> > ......................................................................
> > options(viewer = NULL)
> > plot_ly() %>%
> >  htmlwidgets::onRender(
> >    "function(el, x) {
> >      var gd = document.getElementById(el.id);
> >      Plotly.downloadImage(gd, {format: 'png', width: 1000, height: 700,
> > filename: 'AnomalieRR_EcartTmoy'});
> >    }"
> >  )%>%
> >  add_trace(x =TAnn[ ,3],  y = TAnn[ ,5], name = "Normale mensuelle de
> > Tmax(en °C)",type = 'scatter', mode = 'markers',  marker = list(size = T,
> > symbol = 'circle',  color = ~TAnn[ ,5], line = list(width= 2, color = cl)))
> > %>%
> > add_annotations(text = TAnn[ ,1], x= TAnn[ ,3], y = TAnn[ ,5], font =
> > list(color = "white", size = 14),  showarrow = FALSE)%>%
> >  layout(title = paste("Combinaison anomalie relative annuelle des
> > précipitations et écart annuel à la normale de la température moyenne  à
> > ",CPM[1,1],sep =""),
> >       xaxis = list(title = "Anomalie relative des précipitations
> > annuelles(en %)", tickangle = 20 ,titlefont = list(color= "blue", size= 14
> > , family = 'Arial'), tickfont = list(color = "blue", size = 14)),
> > yaxis = list(title = "Ecart à la normale de la température moyenne
> > annuelle(en°C)", titlefont = list(color= "red", size= 14 , family =
> > 'Arial'),
> > tickfont = list(color = "red", size = 14) , showline = TRUE, linecolor =
> > "red", linewidth = 2),
> >    legend = list(x = 0.1, y = -0.3, font=list(size = 14,color=
> > "black")),margin = list(
> >       t = 70,
> >      r = 70,
> >       b = 70,
> >       l = 70
> >     ))
> > *The code that does not work (with for command):*
> > CPM <- read.table("FicConfig/CPM.txt" , header = TRUE, sep = "\t" , dec =
> > ",", skip = 0)
> > # The CPM.txt file containe several lines
> >
> > *for (i in 1: (nrow(CPM)))   {*
> >
> > options(viewer = NULL)
> > plot_ly() %>%
> >  htmlwidgets::onRender(
> >    "function(el, x) {
> >      var gd = document.getElementById(el.id);
> >      Plotly.downloadImage(gd, {format: 'png', width: 1000, height: 700,
> > filename: 'AnomalieRR_EcartTmoy'});
> >    }"
> >  )%>%
> >  add_trace(x =TAnn[ ,3],  y = TAnn[ ,5], name = "Normale mensuelle de
> > Tmax(en °C)",type = 'scatter', mode = 'markers',  marker = list(size = T,
> > symbol = 'circle',  color = ~TAnn[ ,5], line = list(width= 2, color = cl)))
> > %>%
> > add_annotations(text = TAnn[ ,1], x= TAnn[ ,3], y = TAnn[ ,5], font =
> > list(color = "white", size = 14),  showarrow = FALSE)%>%
> >   layout(title = paste("Combinaison anomalie relative annuelle des
> > précipitations et écart annuel à la normale de la température moyenne  à
> > ",CPM[i,1],sep =""),
> >       xaxis = list(title = "Anomalie relative des précipitations
> > annuelles(en %)", tickangle = 20 ,titlefont = list(color= "blue", size= 14
> > , family = 'Arial'), tickfont = list(color = "blue", size = 14)),
> > yaxis = list(title = "Ecart à la normale de la température moyenne
> > annuelle(en°C)", titlefont = list(color= "red", size= 14 , family =
> > 'Arial'),
> > tickfont = list(color = "red", size = 14) , showline = TRUE, linecolor =
> > "red", linewidth = 2),
> >   legend = list(x = 0.1, y = -0.3, font=list(size = 14,color=
> > "black")),margin = list(
> >       t = 70,
> >      r = 70,
> >       b = 70,
> >       l = 70
> >     ))
> >
> > *file.copy("C:/Users/pc/Downloads/Evolution Tmoy.png",
> > paste("C:/MONOGRAPHIE/Resultats/Evolution Tmoy_",CPM[i,1],".png",sep="")*
> > *}*
> >
> >
> > Thank you very much in advance for any help.
> >
> >         [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> >
> > https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstat.ethz.ch%2Fmailman%2Flistinfo%2Fr-help&data=04%7C01%7C%7C63572d98fe1f4af1938c08d8f2c57a0e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637526277319446692%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=wwtfLAGJ3zjOzN%2FDxopVDEVnLC5QSF6H1ER6nHMEaLI%3D&reserved=0
> > PLEASE do read the posting guide
> > https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.r-project.org%2Fposting-guide.html&data=04%7C01%7C%7C63572d98fe1f4af1938c08d8f2c57a0e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637526277319446692%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=nqKgiTsjQz%2FjF5gDRc1UMQiSxRdZCurArqyGz5pnNtg%3D&reserved=0
> > and provide commented, minimal, self-contained, reproducible code.
> >
> >
> >
>
>
> --
> *Best Regards, *
> *Cordialement, مع أجمل تحياتي *
>
> Rachida EL OUARAINI
> Service de la Réalisation des Modèles Appliqués et de la Télédétection
> Direction de la Météorologie Nationale du Maroc
> *Tél : +212 522 65 48 90*
> *Fax: +212 522 91 34 35*
>
> *"Your attitude, not your aptitude, will determine your altitude." Zig
> Ziglar*
>
>         [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list