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()

关注公众号「水沐教育科技」,在手机上阅读所有教程,随时随地都能学习。内含一款搜索神器,免费下载全网书籍和视频。

公众号二维码
微信扫码关注公众号

微信交流群 关注微信公众号,加入官方交流群。内含一款搜索神器,免费下载全网书籍和视频。