Basic 3D Scatter Plot
library(plotly)mtcars$am[which(mtcars$am==0)]<-'Automatic'mtcars$am[which(mtcars$am==1)]<-'Manual'mtcars$am<-as.factor(mtcars$am)fig<-plot_ly(mtcars,x=~wt,y=~hp,z=~qsec,color=~am,colors=c('#BF382A','#0C4B8E'))fig<-fig%>%add_markers()fig<-fig%>%layout(scene=list(xaxis=list(title='Weight'),yaxis=list(title='Gross horsepower'),zaxis=list(title='1/4 mile time')))fig3D Scatter Plot with Color Scaling
library(plotly)fig<-plot_ly(mtcars,x=~wt,y=~hp,z=~qsec,marker=list(color=~mpg,colorscale=c('#FFE1A1','#683531'),showscale=TRUE))fig<-fig%>%add_markers()fig<-fig%>%layout(scene=list(xaxis=list(title='Weight'),yaxis=list(title='Gross horsepower'),zaxis=list(title='1/4 mile time')),annotations=list(x=1.13,y=1.05,text='Miles/(US) gallon',xref='paper',yref='paper',showarrow=FALSE))fig3D Bubble Plot
library(plotly)data<-read.csv("https://raw.githubusercontent.com/plotly/datasets/master/gapminderDataFiveYear.csv")data_2007<-data[which(data$year==2007),]data_2007<-data_2007[order(data_2007$continent,data_2007$country),]data_2007$size<-data_2007$popcolors<-c('#4AC6B7','#1972A4','#965F8A','#FF7070','#C61951')fig<-plot_ly(data_2007,x=~gdpPercap,y=~lifeExp,z=~pop,color=~continent,size=~size,colors=colors,marker=list(symbol='circle',sizemode='diameter'),sizes=c(5,150),text=~paste('Country:',country,'<br>Life Expectancy:',lifeExp,'<br>GDP:',gdpPercap,'<br>Pop.:',pop))fig<-fig%>%layout(title='Life Expectancy v. Per Capita GDP, 2007',scene=list(xaxis=list(title='GDP per capita (2000 dollars)',gridcolor='rgb(255, 255, 255)',range=c(2.003297660701705,5.191505530708712),type='log',zerolinewidth=1,ticklen=5,gridwidth=2),yaxis=list(title='Life Expectancy (years)',gridcolor='rgb(255, 255, 255)',range=c(36.12621671352166,91.72921793264332),zerolinewidth=1,ticklen=5,gridwith=2),zaxis=list(title='Population',gridcolor='rgb(255, 255, 255)',type='log',zerolinewidth=1,ticklen=5,gridwith=2)),paper_bgcolor='rgb(243, 243, 243)',plot_bgcolor='rgb(243, 243, 243)')figReference
See https://plotly.com/r/reference/#scatter3d for more information and chart attribute options!
What About Dash?
Dash for R is an open-source framework for building analytical applications, with no Javascript required, and it is tightly integrated with the Plotly graphing library.
Learn about how to install Dash for R at https://dashr.plot.ly/installation.
Everywhere in this page that you see fig, you can display the same figure in a Dash for R application by passing it to the figure argument of the Graph component from the built-in dashCoreComponents package like this:
library(plotly)fig<-plot_ly()# fig <- fig %>% add_trace( ... )# fig <- fig %>% layout( ... ) library(dash)library(dashCoreComponents)library(dashHtmlComponents)app<-Dash$new()app$layout(htmlDiv(list(dccGraph(figure=fig))))app$run_server(debug=TRUE,dev_tools_hot_reload=FALSE)