如何使用seaborn制作气泡图

use*_*228 2 python bubble-chart seaborn

   import matplotlib.pyplot as plt
    import numpy as np
    # data
    x=["IEEE", "Elsevier", "Others"]
    y=[7, 6, 2]
    import seaborn as sns
    plt.legend()
    plt.scatter(x, y, s=300, c="blue", alpha=0.4, linewidth=3)
    plt.ylabel("No. of Papers")
    plt.figure(figsize=(10, 4)) 
Run Code Online (Sandbox Code Playgroud)

我想制作一个如图所示的图表。我不确定如何提供期刊和会议类别的数据。(目前,我只包括一个)。另外,我不确定如何为每个类别添加不同的颜色。 气泡图

小智 6

您可以尝试使用此代码片段来解决您的问题。

- 我修改了你的数据格式,我建议你使用pandas进行数据可视化。

- 我添加了一个字段以更有效地可视化数据。

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

# data
x=["IEEE", "Elsevier", "Others", "IEEE", "Elsevier", "Others"]
y=[7, 6, 2, 5, 4, 3]
z=["conference", "journal", "conference", "journal", "conference", "journal"]

# create pandas dataframe
data_list = pd.DataFrame(
    {'x_axis': x,
     'y_axis': y,
     'category': z
    })

# change size of data points
minsize = min(data_list['y_axis'])
maxsize = max(data_list['y_axis'])

# scatter plot
sns.catplot(x="x_axis", y="y_axis", kind="swarm", hue="category",sizes=(minsize*100, maxsize*100), data=data_list)
plt.grid()
Run Code Online (Sandbox Code Playgroud)

输出: