Python ggplot rotate axis labels

我怕爱的太早我们不能终老 提交于 2020-01-13 07:49:14

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!