handyspark icon indicating copy to clipboard operation
handyspark copied to clipboard

Boxplot X label rotation

Open 5uperpalo opened this issue 4 years ago • 1 comments

Is there a way to rotate x labels in grouped/stratified boxplots? I tried 'rot' argument from pandas boxplot, I also tried to assign ax=axs so I can set the labels afterwards, but it's not working for stratified boxplot. (BTW thank you for this great tool!!!)

this works(no rotation): pattern_time_ranges.stratify(['event_type']).cols['event_time_range'].boxplot(figsize=(16, 5))

this does not work: fig, axs = plt.subplots(1, 1, figsize=(16, 5)) pattern_time_ranges.stratify(['event_type']).cols['event_time_range'].boxplot(ax=axs) Error : NotImplementedError: TransformNode instances can not be copied. Consider using frozen() instead.

this does not work too: pattern_time_ranges.stratify(['event_type']).cols['event_time_range'].boxplot(figsize=(16, 5), rot=90)

5uperpalo avatar Jul 04 '19 12:07 5uperpalo

Hi @5uperpalo ,

Thanks for reporting this issue. You've found a bug - using ax argument in a stratified plot is not working, neither it accepts rot argument. There is a workaround, though... you can build the plot as it is and modify it later, like this:

fig, axs = hdf.stratify(['Pclass']).cols['Age'].boxplot()
axs[0].set_xticklabels(axs[0].get_xticklabels(), rotation=90, horizontalalignment='right')

Hope this helps!

dvgodoy avatar Jul 25 '19 09:07 dvgodoy