问题
when I tried to plot a timeseries with ggplot, the x axis lables became too crowded and overlapped each other:
The code is:
plot = ggplot(df, aes(x=df.index, weight='COUNT')) + \
geom_bar() + \
xlab('Date') + \
ylab('Incidents')
I tried to add the following line
+ theme(axis.text.x = element_text(angle = 90, hjust = 1))
to the plot, but it doesn't work. And this extra line gives me error:
SyntaxError: keyword can't be an expression
close failed in file object destructor:
sys.excepthook is missing
lost sys.stderr
Any idea how this happened and how should I fix it? Thanks!!
回答1:
(Old question, posting the answer if anyone comes across this in the future)
"axis.text.x" format is used for R. When using ggplot for python, replace "axis.text.x" with "axis_text_x"
This worked for me:
theme(axis_text_x = element_text(angle = 90, hjust = 1))
Reference: https://github.com/yhat/ggplot/blob/master/ggplot/themes/theme.py
来源:https://stackoverflow.com/questions/23964236/python-ggplot-rotate-axis-labels