作者 | 旧时晚风拂晓城
来源 | 杰哥的IT之旅(ID:Jake_Internet)
头图 | CSDN 下载自东方IC
公众号「杰哥的IT之旅」后台回复:「matplotlib数据可视化」,获取本文完整数据集。
Python 中可以通过 matplotlib 模块的 pyplot 子库来完成绘图。Matplotlib 可用于创建高质量的图表和图形,也可以用于绘制和可视化结果。matplotlib 是 Python 优秀的数据可视化第三方库,matplotlib.pyplot 是绘制种类可视化图形的命令子库,相当于快捷方式 import matplotlib.pyplot as plt.
本文用 Python 对一批运动员数据进行操作,读取数据、数据预处理、matplotlib 数据可视化,熟悉用 Python 进行数据分析和可视化的基本方法,并绘制柱形图、堆叠图、折线图、饼图、环图、箱形图、散点图、直方图、多个子图和热力图。
数据集部分截图如下:
pandas读取并查看数据,对于本次练习的数据,读取时需要设置encoding='gbk',不然会报错。
pd.read_csv读取csv文件,数据有17587行,17列。
import pandas as pd
df = pd.read_csv('soccer.csv', encoding='gbk')
print(df)
df.info:查看索引、数据类型和内存信息
import pandas as pd
df = pd.read_csv('soccer.csv', encoding='gbk')
print(df.info)
df.describe:查看数值型列的汇总统计情况
import pandas as pd
df = pd.read_csv('soccer.csv', encoding='gbk')
print(df.describe)
pyplot中文显示:
pyplot并不默认显示中文,坐标系中出现中文汉字,需要增加额外代码辅助。
方法一:
可以通过rcParams修改字体实现,但这种方法改变的是全局的字体。
import matplotlib as mpl
mpl.rcParams['font.family'] = 'SimHei'
mpl.rcParams['font.size'] = 15
方法二:
在有中文输出的地方,增加一个属性:fontproperties
import matplotlib.pyplot as plt
import numpy as np
a = np.arange(0.0, 5.0, 0.02)
plt.figure(figsize=(9, 6), dpi=100)
plt.plot(a, np.cos(2 * np.pi * a), 'r--')
# 在特定的地方用中文 和改变字号
plt.xlabel('横轴:时间', fontproperties='SimHei', fontsize=15, color='green')
plt.ylabel('纵轴:振幅', fontproperties='SimHei', fontsize=15, color='red')
plt.show
绘制柱形图
(1) 将运动员年龄(Age)划分为三个年龄段:’17-26’,’27-36’,’37-47’,统计不同年龄段的人数,并用柱状图可视化。
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib as mpl
# 读取数据 设置编码 不然会报错
df = pd.read_csv('soccer.csv', encoding='gbk')
# 将运动员年龄(Age)划分为三个年龄段
age_group = ["17-26