matplotlib 中文_看了这个总结,其实 Matplotlib 可视化,也没那么难

ff18385dc5fa107b6dc2efc93ec3da39.png

作者 | 旧时晚风拂晓城

来源 | 杰哥的IT之旅(ID:Jake_Internet)

头图 | CSDN 下载自东方IC

公众号「杰哥的IT之旅」后台回复:「matplotlib数据可视化」,获取本文完整数据集。

Python 中可以通过 matplotlib 模块的 pyplot 子库来完成绘图。Matplotlib 可用于创建高质量的图表和图形,也可以用于绘制和可视化结果。matplotlib 是 Python 优秀的数据可视化第三方库,matplotlib.pyplot 是绘制种类可视化图形的命令子库,相当于快捷方式 import matplotlib.pyplot as plt.

本文用 Python 对一批运动员数据进行操作,读取数据、数据预处理、matplotlib 数据可视化,熟悉用 Python 进行数据分析和可视化的基本方法,并绘制柱形图、堆叠图、折线图、饼图、环图、箱形图、散点图、直方图、多个子图和热力图。

数据集部分截图如下:

d19903b04176390a7a309e55631ec392.png

pandas读取并查看数据,对于本次练习的数据,读取时需要设置encoding='gbk',不然会报错。

05ef0f89d76375eb7cb317d5bfe97675.png

pd.read_csv读取csv文件,数据有17587行,17列。

import pandas as pddf = pd.read_csv('soccer.csv', encoding='gbk')print(df)
c2f30b460e8bb87f12d7aa7b30dcbf98.png

df.info:查看索引、数据类型和内存信息

import pandas as pddf = pd.read_csv('soccer.csv', encoding='gbk')print(df.info)
2bd98a5a6855824069feac6ad6d08a10.png

df.describe:查看数值型列的汇总统计情况

import pandas as pddf = pd.read_csv('soccer.csv', encoding='gbk')print(df.describe)
4cdb9524876df8091523c8ab0c04e223.png

pyplot中文显示:

pyplot并不默认显示中文,坐标系中出现中文汉字,需要增加额外代码辅助。

7c5e634e05b8da21aff4f25133dfdcb7.png 9b0ed030ac80366d70404da011e0e28d.png

方法一:

可以通过rcParams修改字体实现,但这种方法改变的是全局的字体。

import matplotlib as mplmpl.rcParams['font.family'] = 'SimHei'mpl.rcParams['font.size'] = 15
6f9264426deb37a9b8cd7bec76d79cf5.png e736a4889f7777082ef2ab91f2e09a0c.png

方法二:

在有中文输出的地方,增加一个属性:fontproperties

import matplotlib.pyplot as pltimport numpy as npa = 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
91098a52cb2b81f23d5742f629ebea49.png

绘制柱形图

(1) 将运动员年龄(Age)划分为三个年龄段:’17-26’,’27-36’,’37-47’,统计不同年龄段的人数,并用柱状图可视化。

import pandas as pdimport matplotlib.pyplot as pltimport matplotlib as mpl# 读取数据 设置编码 不然会报错df = pd.read_csv('soccer.csv', encoding='gbk')# 将运动员年龄(Age)划分为三个年龄段age_group = ["17-26
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值