@@ -66,8 +66,13 @@ def mouseClickEvent(self, ev):
6666
6767
6868class ParameterSetter (CommonParameterSetter ):
69+ BOTTOM_AXIS_LABEL , IS_VERTICAL_LABEL = "Bottom axis" , "Vertical tick text"
70+
6971 def __init__ (self , master ):
7072 self .master : ViolinPlot = master
73+ self .titles_settings = {}
74+ self .ticks_settings = {}
75+ self .is_vertical_setting = False
7176 super ().__init__ ()
7277
7378 def update_setters (self ):
@@ -79,11 +84,15 @@ def update_ticks(**settings):
7984 self .ticks_settings .update (** settings )
8085 Updater .update_axes_ticks_font (self .axis_items , ** settings )
8186
82- self .titles_settings = {}
83- self .ticks_settings = {}
87+ def update_bottom_axis (** settings ):
88+ self .is_vertical_setting = settings [self .IS_VERTICAL_LABEL ]
89+ self .bottom_axis .setRotateTicks (self .is_vertical_setting )
8490
8591 self ._setters [self .LABELS_BOX ][self .AXIS_TITLE_LABEL ] = update_titles
8692 self ._setters [self .LABELS_BOX ][self .AXIS_TICKS_LABEL ] = update_ticks
93+ self ._setters [self .PLOT_BOX ] = {
94+ self .BOTTOM_AXIS_LABEL : update_bottom_axis ,
95+ }
8796
8897 self .initial_settings = {
8998 self .LABELS_BOX : {
@@ -95,17 +104,26 @@ def update_ticks(**settings):
95104 self .ANNOT_BOX : {
96105 self .TITLE_LABEL : {self .TITLE_LABEL : ("" , "" )},
97106 },
107+ self .PLOT_BOX : {
108+ self .BOTTOM_AXIS_LABEL : {
109+ self .IS_VERTICAL_LABEL : (None , self .is_vertical_setting ),
110+ },
111+ },
98112 }
99113
100114 @property
101115 def title_item (self ) -> pg .LabelItem :
102116 return self .master .getPlotItem ().titleLabel
103117
104118 @property
105- def axis_items (self ) -> List [pg . AxisItem ]:
119+ def axis_items (self ) -> List [AxisItem ]:
106120 return [value ["item" ] for value in
107121 self .master .getPlotItem ().axes .values ()]
108122
123+ @property
124+ def bottom_axis (self ) -> AxisItem :
125+ return self .master .getAxis ("bottom" )
126+
109127
110128def fit_kernel (data : np .ndarray , kernel : str ) -> \
111129 Tuple [Optional [KernelDensity ], float ]:
@@ -632,6 +650,9 @@ def _clear_axes(self):
632650 self .parameter_setter .axis_items ,
633651 ** self .parameter_setter .ticks_settings
634652 )
653+ self .getAxis ("bottom" ).setRotateTicks (
654+ self .parameter_setter .is_vertical_setting
655+ )
635656
636657 def _clear_selection (self ):
637658 self .__selection = set ()
0 commit comments