python绘制散点图
import pandas as pd
import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] # 指定默认字体 'SimHei'为黑体
plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题
# 创建示例数据
data = {
'x': [5.48, 4.82, 4.44, 4.31, 4.23, 3.77, 3.44, 3.38, 3.32, 3.32, 3.28],
'y': [6870, 11058, 8351, 6906, 10676, 10267, 5660, 8487, 4830, 509, 7659],
'sizes': [37678.81, 53295.40, 37048.40, 29765.89, 45189.32, 38668.60, 19454.01, 28687.77, 16057.96, 1690.28, 25108.82
],
'colors': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11],
'labels': ['上海','西安','南京','咸阳','成都','北京','深圳','长沙','广州','东莞','佛山'] # 标签
}
df = pd.DataFrame(data)
# 使用 Seaborn 绘制气泡图
plt.figure(figsize=(10, 6))
sns.scatterplot(data=df, x='x', y='y', size='sizes', hue='colors', palette='viridis',sizes=(50, 500), alpha=0.5, legend=False)
# 添加标签
for i in range(df.shape[0]):
plt.text(x=df['x'][i], y=df['y'][i], s=df['labels'][i], fontsize=12, ha='right')
# 计算并添加平均线
x_mean = np.mean(df['x'])
y_mean = np.mean(df['y'])
plt.axvline(x=x_mean, color='r', linestyle='--') # X 轴平均线
plt.axhline(y=y_mean, color='r', linestyle='--') # Y 轴平均线
# 图表标题和标签
plt.title('【加油】业务不同城市的渠道质量气泡图(2024年5月份)')
plt.xlabel('新用户人均促前营收')
plt.ylabel('新用户数')
# 显示图表
plt.show()
关注公众号「水沐教育科技」,在手机上阅读所有教程,随时随地都能学习。内含一款搜索神器,免费下载全网书籍和视频。

微信扫码关注公众号