坐标轴(axis)

import pandas as pd
from plotnine import *
df = pd.DataFrame({'id': [1, 2, 3, 4, 5, 6],
                   'sex':['male', 'female', 'male', 'male', 'female', 'female'],
                   'UA': [420, 360, 320, 500, 390, 430]}) 

# df为:
   id     sex   group   UA
0   1    male    ctrl  420
1   2  female  treat1  360
2   3    male  treat1  320
3   4    male  treat2  500
4   5  female    ctrl  390
5   6  female  treat2  430

"""绘制柱状图"""
print( ggplot(df.groupby(['sex'])['UA']\
                .agg(['mean']).reset_index()) 
      + geom_col( aes(y='mean', x='sex'))
)

坐标轴(axis)_第1张图片


设置y轴的值域:coord_cartesian(ylim=(,))  

print( ggplot(df.groupby(['sex'])['UA']\
                .agg(['mean']).reset_index()) 
      + geom_col( aes(y='mean', x='sex'))
      + coord_cartesian(ylim=(380,430))  
)

坐标轴(axis)_第2张图片


设置x轴的顺序:scale_x_discrete(limits=[,])

print( ggplot(df.groupby(['sex'])['UA']\
                .agg(['mean']).reset_index()) 
      + geom_col( aes(y='mean', x='sex'))
      + scale_x_discrete(limits=['male','female'])
)

坐标轴(axis)_第3张图片


翻转y轴与x轴:coord_flip()      

print( ggplot(df.groupby(['sex'])['UA']\
                .agg(['mean']).reset_index()) 
      + geom_col( aes(y='mean', x='sex'))
      + coord_flip()      
)

坐标轴(axis)_第4张图片


你可能感兴趣的:(plotnine,python,pandas)