Plotnine 的比例填充和轴位置
Plotnine's scale fill and axis position
我想将 x 轴移动到绘图的顶部并手动填充颜色。但是,ggplot 中常用的方法在 plotnine 中不起作用。当我在我的 scale_x_continuous()
中提供 position='top'
时,我收到警告: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())))
Plotnine 不支持改变任何坐标轴的位置。
您可以将 list
或 dict
颜色值传递给 scale_fill_manual
,前提是它们是可识别的颜色名称。您拥有的颜色模糊不清,无法识别。要查看它是否有效,请尝试 'red' 和 'green',请参阅 https://matplotlib.org/gallery/color/named_colors.html 了解所有已命名的颜色。否则,您也可以使用十六进制颜色,例如#ff00cc.
我想将 x 轴移动到绘图的顶部并手动填充颜色。但是,ggplot 中常用的方法在 plotnine 中不起作用。当我在我的 scale_x_continuous()
中提供 position='top'
时,我收到警告: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())))
Plotnine 不支持改变任何坐标轴的位置。
您可以将 list
或 dict
颜色值传递给 scale_fill_manual
,前提是它们是可识别的颜色名称。您拥有的颜色模糊不清,无法识别。要查看它是否有效,请尝试 'red' 和 'green',请参阅 https://matplotlib.org/gallery/color/named_colors.html 了解所有已命名的颜色。否则,您也可以使用十六进制颜色,例如#ff00cc.