在ggplot中为不同的分类级别绘制不同的颜色

Posted

技术标签:

【中文标题】在ggplot中为不同的分类级别绘制不同的颜色【英文标题】:Plot different color for different categorical levels in ggplot 【发布时间】:2016-09-29 08:34:13 【问题描述】:

我有这个由样本 ID、PCA 值和相应总体组成的数据框。 my dataframe

我使用以下命令在 python 中使用 ggplot 为这些数据生成了 MDS 图:

from ggplot import *
print ggplot(aes(x='C1', y='C2'), data=mds)+ geom_point(alpha=0.6, colour='black', fill='red') + ggtitle('My plot')

情节如下所示: My MDS plot

我想知道如何根据人口标签为每个人分配不同的颜色?

【问题讨论】:

我不经常使用 python,当我使用 python 时,它不是用于绘图,但我对 R 的 ggplot2 包的经验会让我相信你在它的美学下将人口变量放入 geom_point 调用如下所示:...geom_point(aes(fill=Population), alpha=0.6, colour='black')... 只是在黑暗中拍摄。同样在 R 的 ggplot2 geom_point 调用中,默认形状(如您的绘图中使用的那个)不能接受填充命令,所以我认为它应该是 color=Population。 Mer30 Cyrus,我试试看! 【参考方案1】:

应该这样做:

from ggplot import *

p = ggplot(aes(x='C1', y='C2', color='Population'), data=mds)+ geom_point(alpha=0.6) + ggtitle('My plot')

print p

确保在列名两边加上引号,并在 aes 函数中包含 color 参数。

【讨论】:

以上是关于在ggplot中为不同的分类级别绘制不同的颜色的主要内容,如果未能解决你的问题,请参考以下文章

R:ggplot-根据组绘制具有不同颜色的数据点趋势线

R ggplot2:在不同图层上绘制数据子集时保持原始颜色和组级顺序

如何在ggplot lineplot中为具有相似颜色的多个子类着色?

在 hyperSpec 对象中绘制具有不同颜色的多个光谱

制作 ggplot2 图表,其中日期列具有不同的颜色

在 ggplot() 中为不同的 x 值范围绘制不同的模型