5
5
import streamlit as st
6
6
from config_handler import ConfigHandler , load_config , read_config
7
7
from post_processing import PostProcessing
8
+ from plot_handler import get_axis_min_max
8
9
9
10
# drop-down lists
10
11
operators = ["==" , "!=" , "<" , ">" , "<=" , ">=" ]
@@ -179,20 +180,16 @@ def axis_select(label: str, axis: dict, plot_type: str):
179
180
units_select (label , axis )
180
181
181
182
# FIXME: add ability to use a custom value for only one of min or max
182
- disable_user_range = plot_type != 'line'
183
- use_default_ranges = st .checkbox ("default axis range" ,
184
- axis .get ("range" ).get ("use_default" ) if not disable_user_range else True ,
185
- key = "{0}_axis_range_use_default" .format (label ),
186
- disabled = disable_user_range ,
187
- help = "{0} {1}" .format (
188
- "Uncheck to assign custom minimum and maximum values to axis." ,
189
- "Custom ranges are not implemented for datetime types." ))
190
- if not use_default_ranges :
191
- axis_range_min , axis_range_max = st .columns (2 )
192
- with axis_range_min :
193
- st .number_input ("{0}-axis minimum" .format (label ), key = "{0}_axis_range_min" .format (label ))
194
- with axis_range_max :
195
- st .number_input ("{0}-axis maximum" .format (label ), key = "{0}_axis_range_max" .format (label ))
183
+ range = get_axis_min_max (df , axis )
184
+ axis_range_min , axis_range_max = st .columns (2 )
185
+ with axis_range_min :
186
+ st .number_input ("{0}-axis minimum" .format (label ),
187
+ value = range [0 ],
188
+ key = "{0}_axis_range_min" .format (label ))
189
+ with axis_range_max :
190
+ st .number_input ("{0}-axis maximum" .format (label ),
191
+ value = range [1 ],
192
+ key = "{0}_axis_range_max" .format (label ))
196
193
197
194
# scaling select
198
195
if label == "y" :
@@ -311,9 +308,8 @@ def update_axes():
311
308
x_column = state .x_axis_column
312
309
x_units_column = state .x_axis_units_column
313
310
x_units_custom = state .x_axis_units_custom
314
- x_range_use_default = state .x_axis_range_use_default
315
- x_range_min = None if x_range_use_default else state .x_axis_range_min
316
- x_range_max = None if x_range_use_default else state .x_axis_range_max
311
+ x_range_min = state .x_axis_range_min
312
+ x_range_max = state .x_axis_range_max
317
313
318
314
y_column = state .y_axis_column
319
315
y_units_column = state .y_axis_units_column
@@ -322,9 +318,8 @@ def update_axes():
322
318
y_scaling_series = state .y_axis_scaling_series
323
319
y_scaling_x = state .y_axis_scaling_x_value
324
320
y_scaling_custom = state .y_axis_custom_scaling_val
325
- y_range_use_default = state .y_axis_range_use_default
326
- y_range_min = None if y_range_use_default else state .y_axis_range_min
327
- y_range_max = None if y_range_use_default else state .y_axis_range_max
321
+ y_range_min = state .y_axis_range_min
322
+ y_range_max = state .y_axis_range_max
328
323
329
324
# update columns
330
325
config .x_axis ["value" ] = x_column
@@ -344,10 +339,8 @@ def update_axes():
344
339
config .y_axis ["units" ] = {"column" : y_units_column }
345
340
config .column_types [y_units_column ] = "str"
346
341
347
- config .x_axis ["range" ]["use_default" ] = x_range_use_default
348
342
config .x_axis ["range" ]["min" ] = x_range_min
349
343
config .x_axis ["range" ]["max" ] = x_range_max
350
- config .y_axis ["range" ]["use_default" ] = y_range_use_default
351
344
config .y_axis ["range" ]["min" ] = y_range_min
352
345
config .y_axis ["range" ]["max" ] = y_range_max
353
346
0 commit comments