gpt4 book ai didi

python-3.x - seaborn.catplot 的问题

转载 作者:行者123 更新时间:2023-12-05 07:25:54 26 4
gpt4 key购买 nike

我是 Python 的初学者(在 Spyder 3.3.2 和 Anaconda Navigator 1.9.6 中使用 Python 3.7)。我在创建 seaborn fiddle 图时没有问题,但是当我尝试对它们进行 Facetgrid 时,我遇到了问题。我尝试使用 catplot .

这是我的 fiddle 情节代码(有效):

# Libraries
import seaborn as sns
import pandas as pd
import os # Imports `os`
from matplotlib import pyplot as plt

os.chdir(r"XXXXXX") # Changes directory
os.listdir('.') # Lists all files and directories in current directory


## Data set
File = 'test_eventcountratios.xlsx' # Assigns Excel filename to File
df = pd.read_excel(File)

ax = sns.violinplot(x = df["Timepoint"], y = df["Macrophage Frequency"], palette = "Blues")
ax.set_xticklabels(ax.get_xticklabels(),rotation=30)

我的数据是long form ,因此所有时间点都在第一列,“巨噬细胞频率”数据在第二列。所有剩余的列代表其他细胞类型。 Here is a screenshot of my data spreadsheet

这是我的 catplot 代码(它不起作用):

g=sns.catplot(data=df, x="Timepoint", y=df["B cell Frequency","Neutrophil Frequency","NK cell Frequency","Macrophage Frequency"],
palette = "Blues",
kind = "violin", split=True)

我得到“关键错误:(‘B 细胞频率’、‘中性粒细胞频率’、‘NK 细胞频率’、‘巨噬细胞频率’)”

我什至不想单独调用每一列。我希望代码遍历每一列(单元格类型)以收集数据并将每一列的数据放入它自己的图中。

我将 catplot 代码简化为基础,看看它是否有效:

g=sns.catplot(x = df["Timepoint"], y = df["Macrophage Frequency"], palette = "Blues", data=df, kind="violin")

它可以工作并生成 fiddle 图,但会出现以下错误:“ValueError:系列的真值不明确。使用 a.empty、a.bool()、a.item()、a.any()或 a.all()。”

所以...

我想制作一个包含多个 fiddle 图的网格(X 轴上的时间点,Y 轴上的细胞类型频率),其中每个图都从每一列获取数据。为什么只有当我将“y”限制为数据框中的单个列时我才成功?

我用 Google 搜索了我所有的错误,但我似乎无法对我的代码进行正确的更改。如果我改变了一件事,那么我会得到一个新的错误(比如“TypeError:‘NonType’类型的对象没有 len()”,“ValueError:num must be 1 <= num <= 0, not 1”,等等)

最佳答案

使用这个:

g = sns.catplot(x = "Timepoint", y = "Macrophage Frequency", palette = "Blues", data=df, kind="violin")

xy 只是 df 中的列名。

关于python-3.x - seaborn.catplot 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54656980/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com