Pandora-IsoMemo / shiny-tools

Shiny functionality used across the apps
https://pandora-isomemo.github.io/shiny-tools/
GNU General Public License v3.0
0 stars 0 forks source link

shinyTools 24.10.0: Feat/28 updates for osteobior #29

Closed arunge closed 1 month ago

arunge commented 1 month ago

shinyTools 24.10.0

New Features

Updates

Bug Fixes


image

image

arunge commented 1 month ago

@f-lukas With this PR I am integrating new features regarding axes that are needed for OsteoBioR. Please test the functionality and let me know if you have questions!

f-lukas commented 1 month ago

I had two errors when applying the transformation. I think the first one happens if an axis value is 0 because log(0) gives an error. I don't know why the second error (Fehlender Wert, wo TRUE/FALSE nötig ist) happenend. Bildschirmfoto vom 2024-10-11 16-19-07

Bildschirmfoto vom 2024-10-11 16-20-57

I also found an unexpected behaviour after starting the example app -> clicking on yaxis and then removing the tick for "Range detected from data". This also resets the 2nd y axis. If I now switch to 2nd y axis and remove the tick "Range detected from data" there, the min and max that is specified is still not used.

Let me know if you want me to show you an example.

arunge commented 1 month ago

Thanks for checking this! Regarding your points:

I had two errors when applying the transformation. I think the first one happens if an axis value is 0 because log(0) gives an error.

Yes, non-positive values are not allowed. I added an error message for that case:

image

I also found an unexpected behaviour after starting the example app -> clicking on yaxis and then removing the tick for "Range detected from data". This also resets the 2nd y axis. If I now switch to 2nd y axis and remove the tick "Range detected from data" there, the min and max that is specified is still not used.

Yes, the logic that checks user inputs was not correct. I fixed this and updated the label:

image

image

I don't know why the second error (Fehlender Wert, wo TRUE/FALSE nötig ist) happenend.

@f-lukas Unfortunately, I could not reproduce this.. Could you please check if there is some output in your console? You might add

if (interactive()) {
  library(futile.logger)
  futile.logger::flog.threshold(DEBUG)
}

to your .Rprofile if not already done...

f-lukas commented 1 month ago

Thanks for the fixes. Looks good.

Here is how to reproduce the remaining error:

Listening on http://127.0.0.1:6163
DEBUG [2024-10-14 11:29:46] testMod: Reloading inputs for 'Axis': xAxis
DEBUG [2024-10-14 11:29:46] testMod: Check if conflict with 'transform'
DEBUG [2024-10-14 11:29:46] testMod: Entering observe 'transform'
DEBUG [2024-10-14 11:29:46] testMod: Entering observe 'fromData'
DEBUG [2024-10-14 11:29:46] testMod: Check if conflict with 'transform'
DEBUG [2024-10-14 11:29:46] testMod: Entering observe 'min'
DEBUG [2024-10-14 11:29:46] testMod: Entering observe 'max'
DEBUG [2024-10-14 11:29:50] testMod: Reloading inputs for 'Axis': yAxis
DEBUG [2024-10-14 11:29:50] testMod: Entering observe 'fromData'
DEBUG [2024-10-14 11:29:50] testMod: Check if conflict with 'transform'
DEBUG [2024-10-14 11:29:53] testMod: Entering observe 'transform'
DEBUG [2024-10-14 11:29:53] testMod: Check if conflict with 'transform'
DEBUG [2024-10-14 11:29:56] testMod: Reloading inputs for 'Axis': yAxis2
DEBUG [2024-10-14 11:29:56] testMod: Entering observe 'fromData'
DEBUG [2024-10-14 11:29:56] testMod: Check if conflict with 'transform'
DEBUG [2024-10-14 11:29:56] testMod: Entering observe 'transform'
DEBUG [2024-10-14 11:29:58] testMod: Entering observe 'fromData'
DEBUG [2024-10-14 11:29:58] testMod: Check if conflict with 'transform'
Warnung in breaks(...) NaNs wurden erzeugt
Warnung: Error in if: Fehlender Wert, wo TRUE/FALSE nötig ist
  196: breaks
  195: breaks
  194: self$breaks
  193: get_breaks
  192: self$get_breaks
  191: break_info
  190: ggproto_parent(ScaleContinuous, self)$break_info
  189: break_info
  188: temp_scale$break_info
  187: break_info
  186: scale$secondary.axis$break_info
  185: view_scale_secondary
  184: view_scales_from_scale
  183: setup_panel_params
  182: self$coord$setup_panel_params
  181: <Anonymous>
  180: mapply
  179: Map
  178: setup_panel_params
  177: layout$setup_panel_params
  176: ggplot_build.ggplot
  174: print.ggplot
  169: func
  167: f
  166: Reduce
  157: do
  156: hybrid_chain
  128: drawPlot
  114: <reactive:plotObj>
   98: drawReactive
   85: renderFunc
   84: output$plot
    3: runApp
    2: print.shiny.appobj
    1: <Anonymous>
arunge commented 1 month ago

@f-lukas This issue occurred also because of a min=0. Now, I switched to pseudo-log scale (scales::pseudo_log_trans()) and to scales::sqrt_trans() which should solve all issues with zero or negative values.

I also removed the error message from above which is not needed anymore.

Could you please check and approve if all is ok now?