我有一个关于订购条形图的问题。例如:
http://pythonplot.com/#bar-counts
(ggplot(mpg) +
aes(x='manufacturer') +
geom_bar(size=20) +
coord_flip() +
ggtitle('Number of Cars by Make')
)
如何按“mpg”订购?
我有一个关于订购条形图的问题。例如:
http://pythonplot.com/#bar-counts
(ggplot(mpg) +
aes(x='manufacturer') +
geom_bar(size=20) +
coord_flip() +
ggtitle('Number of Cars by Make')
)
如何按“mpg”订购?
感谢 has2k1:https ://github.com/has2k1/plotnine/issues/94
如果 x 映射是有序分类的,则它受到尊重。
from plydata import *
from plotnine import *
from plotnine.data import mpg
# count the manufacturer and sort by the count (see, plydata documentation
# or find out how to do the same thing using raw pandas)
m_categories = (
mpg
>> count('manufacturer', sort=True)
>> pull('manufacturer')
)
df = mpg.copy()
df['manufacturer'] = pd.Categorical(df['manufacturer'], categories=m_categories, ordered=True)
(ggplot(df) +
aes(x='manufacturer') +
geom_bar(size=20) +
coord_flip() +
ggtitle('Number of Cars by Make')
)
在STHDA我发现:
更改图例中项目的顺序 函数 scale_x_discrete 可用于将项目的顺序更改为“2”、“0.5”、“1”:
p + scale_x_discrete(limits=c("D2", "D0.5", "D1"))
我的目标是保持 df 的顺序,所以我做了:
scale_x_discrete(limits=df[xColumn].tolist())
然后我意识到第一个栏项目在最后,所以我切换到:
scale_x_discrete(limits=df[xColumn].tolist()[::-1])
我无法使用reverse()
,因为它可以正常工作并且不返回列表,所以limits
似乎没有看到效果。