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))
我想制作如图所示的图表。我不确定如何为期刊和 session 类别提供数据。 (目前,我只包括一个)。另外,我不确定如何为每个类别添加不同的颜色。
最佳答案
你可以试试这个代码片段来解决你的问题。
- 我修改了你的数据格式,我建议你使用 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()
关于python - 如何使用seaborn制作气泡图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65878921/