【发布时间】:2015-06-25 01:55:11
【问题描述】:
我有一个我正在用 seaborn 绘制的 pandas 数据框:
g = sns.FacetGrid(readCov, col='chr', col_wrap = 4, size=4)
g.map(plt.scatter, 'pos', 'bergC9', hue = edgecolor='white')
g.set(xlim= (0, 250000))
这很好用,并为“chr”列中的每个“chr”提供了一个图表。但是,我希望每个图表上有多个列。目前只显示一个,名为“bergC9”的那个。我想在同一张图上用不同颜色放置更多列。
有什么想法吗?
谢谢!
编辑:输入数据文件
chr description pos bergB7 bergC9 EvolB20
1 1 '"ID=PBANKA_010290;Name=PBANKA_010290;descript... 108389 0.785456 0.899275 0.803017
2 1 '"ID=PBANKA_010300;Name=PBANKA_010300;descript... 117894 1.070673 0.964203 0.989372
3 1 '"ID=PBANKA_010310;Name=PBANKA_010310;descript... 119281 1.031106 1.042189 0.883518
4 1 '"ID=PBANKA_010320;Name=PBANKA_010320;descript... 122082 0.880109 1.031673 1.026539
5 1 '"ID=PBANKA_010330;Name=PBANKA_010330;descript... 126075 0.948105 0.969198 0.849213
编辑:我想要一个散点图,其中 pos 作为 x 轴,bergB7、bergC9、EvolB20 等,它们都是“应变”作为 y 轴,因此在同一张图上有几个应变。我能够通过重新格式化我的数据集来实现这一点,因此它现在有一个“应变”参数或列,并连接了所有的 y 数据。现在我可以将色调语法与“应变”一起使用。我不想重新格式化我的所有数据集。我认为可以创建一个循环来引用我想要绘制的所有列,但我尝试了几种语法都无济于事。我还想过其他方法来实现这一点,但这些方法会创建新的数据集,我知道这不是以编程方式进行的方式。我是新用户,希望能正确开始。
这是输出的样子(显示了 15 个图形面板的子集): (我无法发布图片,因为我的“声誉”不够高)
【问题讨论】:
-
sns.factorplot可能更容易。查看hue以及x参数。 -
@cphlewis 据我所知,色调可用于对列变量进行分组,但不能用于多列变量。 sns.factorplot 用于分类变量。我有 10 个整数列,我想在 y 轴上绘制它们。一个 x 轴,“pos”,有 10 个不同的 y 数据集进行绘制。
-
我们无法读懂你的想法;发布数据集的头部。
-
另外,你想要更多的列是什么意思?目前它是一个散点图。您可以链接到 seaborn 文档中的示例图吗?