plotly.R icon indicating copy to clipboard operation
plotly.R copied to clipboard

Cannot modify xaxis and yxais labels for type="scatter3d"

Open cashfields opened this issue 11 months ago • 3 comments


Brief description of the problem: I cannot modify the labels for the x-axis and y-axis. Copied from web page fig1 ; xaxis = list(title = 'XXXXXXXXXXXX') and yaxis = list(title = 'YYYYYYYYYYY') they render properly. When rendering as fig2: plot_ly(type="scatter3d",mode = "markers" ; the labels for x an y axis are incorrect. Both plots print in rstudio but fig2 's axis labels are incorrect. No errors are presented. Please see attacthed PDF with screen prints.

[plotly axis labels.pdf](https://github.com/plotly/plotly.R/files/12268079/plotly.axis.labels.pdf)

# insert reprex here
``` r
[plotly axis labels.pdf](https:/
[plotly axis labels.pdf](https://github.com/plotly/plotly.R/files/12268082/plotly.axis.labels.pdf)
/github.com/plotly/plotly.R/files/12268078/plotly.axis.labels.pdf)

#fig1
# clean out environemnt
rm(list = ls(all.names = TRUE))

library(plot3D)
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
library(ggplot2)
library(stats)
library(stats4)
library(graphics)
library(crosstalk)
library(rgl)
library(plotrix)
#> 
#> Attaching package: 'plotrix'
#> The following object is masked from 'package:rgl':
#> 
#>     mtext3d
library(tidyr)
library(RColorBrewer)
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(readr)

##########################
# resolve library conflicts
conflicted::conflicts_prefer(plotly::filter)
#> [conflicted] Will prefer plotly::filter over any other package.
conflicted::conflicts_prefer(plotly::layout)
#> [conflicted] Will prefer plotly::layout over any other package.


fig1 <-  plot_ly(data = iris ,x =  ~Sepal.Length, y = ~Sepal.Width, color = ~Species, type = 'scatter', mode = 'markers')%>%
    layout(title = 'type = scatter, mode = markers', plot_bgcolor = "#e5ecf6", xaxis = list(title = 'XXXXXXXXXXXX'),
           yaxis = list(title = 'YYYYYYYYYYY'), legend = list(title=list(text='<b> Species of Iris </b>')))
fig1
#> PhantomJS not found. You can install it with webshot::install_phantomjs(). If it is installed, please make sure the phantomjs executable can be found via the PATH variable.

Created on 2023-08-05 with reprex v2.0.2



```r
# insert reprex here
``` r
#fig2
# clean out environemnt
rm(list = ls(all.names = TRUE))

library(plot3D)
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
library(ggplot2)
library(stats)
library(stats4)
library(graphics)
library(crosstalk)
library(rgl)
library(plotrix)
#> 
#> Attaching package: 'plotrix'
#> The following object is masked from 'package:rgl':
#> 
#>     mtext3d
library(tidyr)
library(RColorBrewer)
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(readr)

##########################
# resolve library conflicts
conflicted::conflicts_prefer(plotly::filter)
#> [conflicted] Will prefer plotly::filter over any other package.
conflicted::conflicts_prefer(plotly::layout)
#> [conflicted] Will prefer plotly::layout over any other package.


fam17npg02 <- data.frame(x=c(77,77),y=c(61,77),z=c(77,79),p=c("np","np"),pcolor=c("BLACK","BLACK"))   


fig2 <- plot_ly(type="scatter3d",mode = "markers",
                fam17npg02, 
                x = fam17npg02$x, 
                y = fam17npg02$y,
                z = fam17npg02$z, 
                name="fam17npg02",    
                opacity = 0.8, color = I(fam17npg02$pcolor)) %>% 
    layout(title = 'type = scatter3d, mode = markers', plot_bgcolor = "#e5ecf6", xaxis = list(title = 'XXXXXXXXXXXX'),
           yaxis = list(title = 'YYYYYYYYYYY'), legend = list(title=list(text='<b> Species of Iris </b>')))

fig2
#> PhantomJS not found. You can install it with webshot::install_phantomjs(). If it is installed, please make sure the phantomjs executable can be found via the PATH variable.

Created on 2023-08-05 with reprex v2.0.2

cashfields avatar Aug 05 '23 19:08 cashfields

Screen prints

cashfields avatar Aug 05 '23 20:08 cashfields

For 3D plots, you have to use scene in layout:

  layout(title = 'type = scatter3d, mode = markers', plot_bgcolor = "#e5ecf6",
         scene = list(
           xaxis = list(title = 'XXXXXXXXXXXX'),
           yaxis = list(title = 'YYYYYYYYYYYY'),
           zaxis = list(title = 'ZZZZZZZZZZZZ')
         ),
         legend = list(title=list(text='<b> Species of Iris </b>'))
  )

stla avatar Sep 07 '23 13:09 stla