本文目录导读:
数据可视化是一种将数据转换为图形或图像的方法,使数据更容易理解和解释,Python作为一门功能强大的编程语言,拥有众多优秀的可视化库,如matplotlib、seaborn等,本文将结合实际案例,介绍如何使用Python绘制散点图,并通过散点图分析数据之间的关系。
图片来源于网络,如有侵权联系删除
数据来源与处理
本案例数据来源于某公司员工薪资调查,包含员工性别、年龄、学历、工作经验和月薪等字段,为了便于分析,我们对数据进行以下处理:
1、数据清洗:删除缺失值和异常值,保证数据质量。
2、数据转换:将分类变量转换为数值变量,如将性别分为0和1,学历分为1、2、3等。
3、数据标准化:将所有数值变量进行标准化处理,消除量纲影响。
散点图绘制
1、导入所需库
图片来源于网络,如有侵权联系删除
import matplotlib.pyplot as plt import pandas as pd
2、读取数据
data = pd.read_csv("salary_data.csv")
3、绘制散点图
以年龄和月薪为例 plt.figure(figsize=(10, 6)) plt.scatter(data["age"], data["salary"]) plt.xlabel("年龄") plt.ylabel("月薪") plt.title("年龄与月薪散点图") plt.grid(True) plt.show()
4、分析散点图
从散点图可以看出,随着年龄的增长,月薪呈现上升趋势,但增长速度逐渐放缓,这可能说明随着年龄的增长,员工的经验和技能得到提升,从而获得更高的薪资,我们还可以发现存在一些异常值,如年龄较大但月薪较低的员工,这可能是由于行业、地区等因素的影响。
添加统计信息
为了更直观地展示数据,我们可以在散点图上添加统计信息,如均值、标准差等。
图片来源于网络,如有侵权联系删除
计算均值和标准差 mean_age = data["age"].mean() mean_salary = data["salary"].mean() std_age = data["age"].std() std_salary = data["salary"].std() 添加统计信息 plt.figure(figsize=(10, 6)) plt.scatter(data["age"], data["salary"]) plt.xlabel("年龄") plt.ylabel("月薪") plt.title("年龄与月薪散点图") plt.grid(True) 添加均值和标准差 plt.axvline(mean_age, color='r', linestyle='--', label='年龄均值') plt.axhline(mean_salary, color='g', linestyle='--', label='月薪均值') plt.legend() 添加文本信息 plt.text(mean_age, mean_salary, f'均值: {mean_age:.2f}, {mean_salary:.2f}') plt.show()
添加数据标签
为了方便查看每个数据点的具体数值,我们可以在散点图上添加数据标签。
添加数据标签 for i in range(len(data)): plt.text(data["age"][i], data["salary"][i], f'({data["age"][i]:.2f}, {data["salary"][i]:.2f})') plt.figure(figsize=(10, 6)) plt.scatter(data["age"], data["salary"]) plt.xlabel("年龄") plt.ylabel("月薪") plt.title("年龄与月薪散点图") plt.grid(True) plt.show()
本文通过Python绘制了年龄与月薪的散点图,分析了两者之间的关系,通过添加统计信息和数据标签,使散点图更具可读性,在实际应用中,我们可以根据需求调整散点图的样式和内容,以更好地展示数据。
标签: #python数据可视化散点图案例
评论列表