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

Capital Letters affect alphabetical ordering causing wrong order of legend and x axis

Open syeddans opened this issue 1 year ago • 0 comments


legend order and x axis of bar graph is not fully ordered alphabetically, capital letters take priority causing miss aligned error bars due to different order.

only way to solve my issue was making everything lower case for example PPARy1 was being listed before Perilipin but once lower case it was correct order.

chemical_ct <- SharedData$new(CTdf)

# Step 2-4: Loop through each unique gene, subset data, and create shared objects
filter_checkbox("chl", "chemical", chemical_ct, ~chemicalgroup, inline = TRUE)
if(analysistype=="western"){
  filter_checkbox("prn", "protein", chemical_ct, ~protein, inline = TRUE)
}else{ 
  filter_checkbox("gene", "gene", chemical_ct, ~gene, inline = TRUE)
}

# Specify a set of main colors
main_colors <- c("red", "blue", "green", "yellow", "orange", "purple", "cyan", "magenta", "brown", "gray")

plot <-plot_ly(
  data = chemical_ct,
   error_y = ~list(
    type = 'data', 
    array = CTdf$SEM,
    color = "black"
  ),
  x = ~chemical,
  y = ~average_RQ,
  type = 'bar',
  color = ~graphing_sort,
  colors = main_colors,
  name = ~chemical, 
  
  texttemplate = ~Letters,
  textposition = "outside",
  textfont = list(color = "black",
                  size = 30),
  outsidetextfont = list(color="black")
 
) %>%
  layout(
    xaxis = list(title = "Chemical Concentration",
                 tickmode = 'array',  # Set tick mode to 'array'
                  tickvals = ~chemical,  # Set tick values to be the same as x 
                    ticktext = ~chemical,
                 tickangle = 90,
                 categoryorder = "category ascending"),
    yaxis = list(title = "Fold Change"),
    bargap = 0.1,
    width = 800, 
    height = 800
  ) 
plot

syeddans avatar Mar 14 '24 15:03 syeddans