0

我正在尝试创建一个分类图,其中每个标记的大小反映了相应样本的一些大小,如下面的示例中使用预加载的提示数据(上图https://i.stack.imgur.com/pRn0x .png ):

import seaborn as sns

sns.set(style="whitegrid")
tips = sns.load_dataset("tips")
 ax = sns.stripplot("day", "total_bill", data=tips, palette="Set2", size=tips["size"]*5, edgecolor="gray", alpha=.25)

但是当我对自己的数据进行相同尝试时,所有标记的大小都相同(下图 https://i.stack.imgur.com/pRn0x.png):

import seaborn as sns
import pandas as pd

df = pd.read_csv("python_plot_test3.csv")
sns.set(style="whitegrid")
ax = sns.stripplot("log10p_value","term_name",  data=df, palette="Set2", size=df['precision'], edgecolor="gray", alpha=.50)

我怀疑数据类型不一样,但似乎并非如此,
尽管当我打印 df['precision'] 时它返回名称和 dtype
,而当我打印 Tips[“size”] 时它也返回它的长度。有人可以给我一个提示吗?我找到了如何在散点图中更改它,但在分类图中没有。


我的数据数据:

term_name,log10p_value,精密
肌肉结构发育,33.34122617,15
解剖结构形态发生,32.91330177,5
肌肉系统过程,31.61813233,11
多细胞生物过程调节,30.84862451,25
系统发育,29.16494157,36
肌肉细胞分化,28.79114555,11

4

1 回答 1

0

好的,看起来relplot是正确的函数,起初我猜它是专门针对连续数据的,但它也可以处理分类数据。虽然,我仍然不明白为什么stripplot使用示例数据。

于 2020-06-08T12:26:37.357 回答