I want to create a two bar charts layered over one another with categorical variables at y axis and numeric variables on different x axis. How can i do that?
Create different traces for each subset , the following trace example will be used as the reference for xaxis2
add_trace( # create y axis line parallel to xx' # The line follows the positions of actual snps, so that each snp can be found easily on the grid type = 'scattergl', # mode = 'lines', name = 'significance limit', # specific color for markers line = list(color = "rgb(255,10,0)"), y = Log_P_CUTOFF, # use the user selected cutoff limit as the y intercept x = ~unique(XXX$XXX), # take in account all CHR positions xaxis = 'x2', # use this as the way to use this trace for the second x axis hoverinfo = 'none' )%>%
create a layout for each xaxis, setting the position that you want the xaxis to be positioned on the plot
layout( title = paste(title_for_plottly_online), # get title from user settings xaxis = list( title = 'xxxxx', side = "top", showgrid = TRUE, tickvals = xxxx , #look it up ticktext = ~xxxxx, #sets tick text, gets it from CHR ID ticks = "outside", tick0 = 0, tickwidth = 1, tickfont = list(color = "blue"), tickcolor = toRGB("blue") ), xaxis2 = list( #xaxis ticks at chromosomes overlaying = "x", #important! as the xaxis1 should be the main one side = "bottom", title = 'xxx', # range = c(xmin,xmax), # zeroline = TRUE, # #autotick = FALSE, tickmode = "array", tickmode = "auto", nticks = xxxx , # sets number of ticks. Has effect when tickmode = "auto" tickcolor = toRGB("red"), tickfont = list(color = "red") ),
Step three: check if you are missing any ) or (…
I was able to plot with 2 x axis but my issue is I m getting 2 “line 0” for Y axis. Below is the r plotly script. please advise as to how to merge both “line 0” into one.
f1 <- list( family = "Arial, sans-serif", size = 18, color = "grey" ) f2 <- list( family = "Old Standard TT, serif", size = 14, color = "#4477AA" ) ax <- list( title = "Number of PBIs", titlefont = f1, anchor = "y", side = "bottom", showticklabels = TRUE, tickangle = 0, tickfont = f2 ) ax2 <- list( title = " ", overlaying = "x", anchor = "y", side = "top", titlefont = f1, showticklabels = TRUE, tickangle = 0, tickfont = f2 ) ay <- list( title = "Process & Sub-Process Areas", titlefont = f1, showticklabels = TRUE, tickangle = 0, tickfont = f2 ) plot_ly(data = scrum %>% group_by(Master.Project) %>% summarise(Total_PBIs_Planned=sum(PBIs.Planned.in.Sprint, na.rm = TRUE), Total_PBIs_Delivered = sum(Actual.PBI.Delivery,na.rm = TRUE)) %>% inner_join(scrum %>% count(Master.Project)), color = I("#149EF7")) %>% add_segments(x = ~Total_PBIs_Planned, xend = ~Total_PBIs_Delivered, y = ~Master.Project, yend = ~Master.Project, showlegend = FALSE) %>% add_trace(x = ~Total_PBIs_Planned, y = ~Master.Project, name = "Total_PBIs_Planned", type = 'scatter',mode = "markers", marker = list(color = "#149EF7", size = 15, line = list(color = '#FFFFFF', width = 1))) %>% add_trace(x = ~Total_PBIs_Delivered, y = ~Master.Project, name = "Total_PBIs_Delivered",type = 'scatter',mode = "markers", marker = list(symbol ="circle-dot",color = "#F71430", size = 10, line = list(color = '#FFFFFF', width = 1))) %>% add_trace(x = ~n, y = ~Master.Project, xaxis = "x2", name = "No._of_Sub_projects",type = 'bar', marker = list(color = "#149EF7"), opacity = 0.1, hoverinfo = 'text', text = ~paste( Master.Project, '<br> Total Sub Projects: ',n, '<br> PBIs Planned: ',Total_PBIs_Planned, '<br> PBIs Delivered: ',Total_PBIs_Delivered ) ) %>% layout( title = "Product Backlog Items - Planned Vs Delivered", titlefont = f1, xaxis = ax, xaxis2 = ax2, yaxis = ay, margin = list(l = 250) )