我想将 x 轴移动到绘图的顶部并手动填充颜色。但是,ggplot 中的常用方法在 plotnine 中不起作用。当我提供时position='top'
,我scale_x_continuous()
收到警告:PlotnineWarning: scale_x_continuous could not recognize parameter 'position'.
我了解位置不在 plotnine 的 scale_x_continuous 中,但替代品是什么?此外,还会scale_fill_manual()
导致Invalid RGBA argument: 'color'
错误。具体来说,value
需要一个类似数组的对象。因此,我提供了颜色数组,但仍然有问题。如何手动设置 scale_fill 对象的颜色?
import pandas as pd
from plotnine import *
lst = [[1,1,'a'],[2,2,'a'],[3,3,'a'],[4,4,'b'],[5,5,'b']]
df = pd.DataFrame(lst, columns =['xx', 'yy','lbls'])
fill_clrs = {'a': 'goldenrod1',
'b': 'darkslategray3'}
ggplot()+\
geom_tile(aes(x='xx', y='yy', fill = 'lbls'), df) +\
geom_text(aes(x='xx', y='yy', label='lbls'),df, color='white')+\
scale_x_continuous(expand=(0,0), position = "top")+\
scale_fill_manual(values = np.array(list(fill_clrs.values())))