在“ plotnine”图例中合并颜色和形状

如何将颜色和形状融合到人造皮的传说中?在R中似乎有可能。但是我无法在Plotine中使用它。

这是一个例子:

from plotnine import ggplot, geom_point, aes, stat_smooth, facet_wrap
from plotnine.data import mtcars

(
    ggplot(mtcars, aes('cyl', 'mpg', color='factor(gear)', shape='factor(vs)'))
     + geom_jitter()
)

这将创建以下图形:

在此处输入图片说明

我想在传奇中加入装备和vs。因此,红色圆圈表示齿轮= 3,vs = 0;红色三角形表示齿轮= 3,vs = 1;等等

...就像以下有关R的帖子中的内容一样:

如何在ggplot中合并颜色,线条样式和形状图例

将颜色和形状的图例合并为一个图例

这可能在紫胶中吗?任何帮助是极大的赞赏!

Cookesd

这是第二个链接的答案的python改编版

如果要更改图例名称,则必须name在两个scale_*_manual函数中都使用参数

from plotnine import ggplot, geom_point, aes, stat_smooth, facet_wrap,geom_jitter
from plotnine.data import mtcars
import plotnine as p9

# add a column that combines the two columns
new_mtcars = mtcars
new_mtcars['legend_col'] = ['Gear: {} Vs: {}'.format(gear,vs)
                            for gear,vs in zip(new_mtcars.gear,mtcars.vs)]

# specify dicts to use for determining colors and shapes
gear_colors = {3:'red',4:'blue',5:'gray'}
vs_shapes = {0:'^',1:'o'}

# make the plot with scale_*_manual based on the gear and vs values
(
    ggplot(mtcars, aes('cyl', 'mpg', color='legend_col', shape='legend_col'))
     + geom_jitter()
     + p9.scale_color_manual(values=[[gear_colors[i] for i in list(new_mtcars.gear.unique())
                                      if 'Gear: {}'.format(i) in label][0]
                                     for label in new_mtcars.legend_col.unique()],
                             labels = list(new_mtcars.legend_col.unique()),
                             name='My legend name')
     + p9.scale_shape_manual(values=[[vs_shapes[i] for i in list(new_mtcars.vs.unique())
                                      if 'Vs: {}'.format(i) in label][0]
                                     for label in new_mtcars.legend_col.unique()],
                             labels = list(new_mtcars.legend_col.unique()),
                             name='My legend name')
)

结合图例的情节

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

当geom_hline在颜色图例中具有单独的(附加)条目时,如何合并颜色和形状的图例?

为ggplot2中的两个变量合并图例中的颜色和形状

如何在ggplot中合并颜色,线条样式和形状图例

如何在ggplot2中合并图例?(保持形状、颜色和标签)

ggplot2:将颜色和形状的图例合并/合并为一个

R中基于颜色和形状的传单图例

使用形状和颜色更改ggplot中的图例标题

ggplot2:将形状,颜色和线条样式合并为一个图例

在Altair图例中更改形状颜色

ggplot颜色图例形状混合了字母数字和形状

难以获得混合线a和点图例,该图例指定了ggplot2中的颜色和形状

从合并的geom_line()和geom_pont()的图例中删除形状

用匹配的颜色和线条形状在R中创建图例

如何在ggplot2中为颜色和形状创建图例

将形状、大小和颜色映射到 ggplot2 中的相同图例

如何在一个图例中合并Alpha和颜色

ggplot图例中的形状和字符重叠

在组合颜色和形状的ggplot图例中保持数据顺序

气泡图中形状,颜色和图例与变量子集的匹配

在图例中使用不同的颜色和形状[Seaborn,Python]

如何创建具有颜色和形状的图例

使用手动形状和颜色创建图例

合并线型和颜色时图例键重叠

图例中的符号和颜色分开

GGPLOT 中的可变图例值和颜色

在ggplot中组合颜色和线型图例

ggplot:在图例中组合大小和颜色

在图例中获取线型虚线和颜色

从数据框中获取图例颜色和图例标签