标签: swarmplot

如何将平均线添加到 seaborn stripplot 或 swarmplot 中

我有一个带有垂直数据的相当简单的带状图。

planets = sns.load_dataset("planets")
sns.stripplot(x="method", y="distance", data=planets, size=4, color=".7")
plt.xticks(rotation=45, ha="right")
plt.show()
Run Code Online (Sandbox Code Playgroud)

我想将每个 x 元素 ( ) 的平均值绘制method为一个小水平条,类似于您得到的结果:

sns.boxplot(
    x="method",
    y="distance",
    data=planets,
    whis=[50, 50],
    showfliers=False,
    showbox=False,
    showcaps=False
)
Run Code Online (Sandbox Code Playgroud)

但没有第一/第三四分位数的垂直线(whis=[50,50]只有点),并且显示平均值而不是中位数。也许有一个更优雅的解决方案,不涉及箱线图。

python matplotlib boxplot seaborn swarmplot

11
推荐指数
3
解决办法
8274
查看次数

从seaborn swarmplot获取绘制点的跨度

我有以下数据:

import pandas as pd
import numpy as np

# Generate dummy data.
a = np.random.random(75)
b = np.random.random(75) - 0.6
c = np.random.random(75) + 0.75 

# Collate into a DataFrame
df = pd.DataFrame({'a': a, 'b': b, 'c': c}) 
df.columns = [list(['WT', 'MUT', 'WTxMUT']), list(['Parent', 'Parent', 'Offspring'])]
df.columns.names = ['Genotype', 'Status']
df_melt = pd.melt(df) 
Run Code Online (Sandbox Code Playgroud)

我使用以下代码在seaborn中绘制它:

import seaborn as sb
sb.swarmplot(data = df_melt, x = "Status", y = "value", hue = "Genotype")
Run Code Online (Sandbox Code Playgroud)

链接到群图输出

如何获得每个组的 x 跨度?例如,父组的群图水平跨度范围是多少?

python matplotlib seaborn swarmplot

5
推荐指数
1
解决办法
1919
查看次数

如何更改群图中的标记大小

我想让我的群图中的数据点更大。我的代码是:

sns.swarmplot(x="Heart", y="FirstPersonPronouns", hue="Speech", data=df)
sns.set_context("notebook", font_scale=1.8)
Run Code Online (Sandbox Code Playgroud)

我已经尝试过scatter_kws但得到:

Attribute error: unknown property scatter_kws.
Run Code Online (Sandbox Code Playgroud)

python seaborn swarmplot

4
推荐指数
1
解决办法
5703
查看次数

色调影响颜色以外标记的群图

我试图让我的群图更容易以黑白方式阅读,并且对于色盲的人来说,通过让色调不仅影响颜色,还影响标记的另一个几何方面。

微量元素

import seaborn as sns
import matplotlib.pyplot as plt
sns.set(style="whitegrid")
tips = sns.load_dataset("tips")

fig, ax = plt.subplots(1,1)
ax = sns.swarmplot(x="day", y="total_bill", hue="sex",data=tips,size=8,ax=ax)
plt.show()
Run Code Online (Sandbox Code Playgroud)

结果

在此输入图像描述

期望的结果(左边)

在此输入图像描述

python plot seaborn swarmplot

4
推荐指数
1
解决办法
6817
查看次数

在 Python 中绘制按列蜂群图

我有一个示例数据集:

A   B   C
23  45  3
53  78  46
23  68  24
52  68  57
52  79  76
78  79  13
Run Code Online (Sandbox Code Playgroud)

我想绘制一个蜂群图,其中每列代表蜂群/部分。喜欢: 在此输入图像描述

我怎样才能实现这个目标?我试过这个:

sns.swarmplot(y=A)
Run Code Online (Sandbox Code Playgroud)

但它只给出了 1 个属性的群图,并且不包含该组的标签。

python graph seaborn swarmplot

3
推荐指数
1
解决办法
1531
查看次数

绘制连接两个群图的各个数据点的彩色线

我有:

import numpy as np
import pandas as pd
import seaborn as sb
import matplotlib.pyplot as plt

# Generate random data
set1 = np.random.randint(0, 40, 24)
set2 = np.random.randint(0, 100, 24)

# Put into dataframe and plot
df = pd.DataFrame({'set1': set1, 'set2': set2})
data = pd.melt(df)
sb.swarmplot(data=data, x='variable', y='value')
Run Code Online (Sandbox Code Playgroud)

使用seaborn的swarmplot函数绘制的两个随机分布: 使用seaborns swarmplot 函数绘制的两个随机分布

我希望两个分布的各个图都用彩色线连接,以便数据框中第一个数据集的第一个数据点与第二个数据集的第一个数据点连接。我意识到如果没有seaborn,这可能会相对简单,但是我想保留各个数据点不重叠的功能。有什么方法可以访问seaborn swarmfunction 中的各个绘图坐标吗?

python matplotlib seaborn swarmplot

2
推荐指数
1
解决办法
2417
查看次数

Seaborn Swarmplot 永远运行并且不在 Jupyter Notebook 中打印绘图

Pandas 数据框有“user_fair、user_good、 rating”这 3 列。

我用来sns.swarmplot绘制“user_fair vs rating”和“user_good vs rating”。

“user_fair vs rating”工作正常,但是当尝试绘制“user_good vs rating”时,代码会永远运行并且不会打印任何图。我正在使用Python3Jupyter Notebook

这是我正在使用的代码:

fig, ax = plt.subplots(figsize=(15, 15))
ax = sns.swarmplot(y="user_good", x="rating", data=data)
ax.set_xlabel("Rating",size = 20,alpha=0.8)
ax.set_ylabel("Goodness of User who got Rated",size = 20,alpha=0.8)
ax.set_title("Distributin of Rating and How are Goodness Score of ratee",size=20)
Run Code Online (Sandbox Code Playgroud)

python-3.x pandas swarmplot

2
推荐指数
1
解决办法
5958
查看次数

标签 统计

swarmplot ×7

python ×6

seaborn ×6

matplotlib ×3

boxplot ×1

graph ×1

pandas ×1

plot ×1

python-3.x ×1