gpt4 book ai didi

python - 散点图网格由 matplotlib 或 seaborn 中的列分面

转载 作者:太空宇宙 更新时间:2023-11-04 02:03:56 25 4
gpt4 key购买 nike

我正在尝试使用 Python 制作多面散点图(我知道我会如何在 R 中完成此操作,但我是 Python 的新手......)。 我有一个像这个假的 df:

df=pd.DataFrame(
[['Alex',10, 2, 2, 6],['Bob',12, 6, 5, 1],['Clark',13, 5, 3, 5]],columns=[
'Name','Fruits', 'Apples', 'Bananas', 'Citrus'])

我想绘制一个散点图,其中包含每个水果与每个“名称”的水果总和之间的关系,即水果和苹果、水果和香蕉、水果和柑橘。
例如,具有 Fruits 和 Apples 之间关系的散点图将由以下代码生成:

plt.scatter(df[['Apples']], df[['Fruits']])  

有什么方便的方法吗?

最佳答案

Seaborn's FacetGrid正是您要找的。 Seaborn 通常也最适合 long-dfs。

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd

#create a long df, with columns for name, total fruit, and rows for specific fruit counts
df_melt = pd.melt(df, id_vars=['Name', 'Fruits'], value_vars=['Apples','Bananas','Citrus'], var_name='Fruit_Type', value_name='Count')

g = sns.FacetGrid(df_melt, col="Name", col_wrap = 2, hue = "Fruit_Type")
g = g.map(plt.scatter, "Count", "Fruits")

关于python - 散点图网格由 matplotlib 或 seaborn 中的列分面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55126088/

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