数据展示的利器 Matplotlib

浏览 1338

课文

想想看,当你做完数据分析,想把你的结论告诉别人。通过文字太干白无力,灵活地运用图表就是一种最有力的方法。

在展示数据时,选择合适的图表也是需要注意的。一个合适的图表应该足够简单,并且能够突出想表达的内容主体。

Matplotlib 是一个用于在 Python 中绘制数据的图形库,他的优势在于

我们介绍一下几种常见的图表展示,更多的请同学查阅官方案例

matplotlib.pyplot是一个命令风格函数的集合,使matplotlib的机制更像 MATLAB。

pip install matplotlib
import matplotlib.pyplot as plt
import numpy as np

# 设置字体以显示中文
plt.rcParams["font.sans-serif"] = ["SimHei"]

折线图

适合场景:显示数据的趋势变化。

我们展示的数据是 2012-2018年全球电竞市场营收情况数据来源

# 2012-2018年全球电竞市场营收情况

data = {
    "2012": 90,
    "2013": 180,
    "2014": 140,
    "2015": 240,
    "2016": 350,
    "2017": 460,
    "2018": 600,
}

plt.title("2012-2018年全球电竞市场营收情况")
plt.xlabel("职业")
plt.ylabel("营收(百万美元)")

plt.plot(data.keys(), data.values())

plt.show()

image

柱形图

柱状图是日常生活中特别常见的一种图表结构。

适合场景:表示一些数据的对比。

我们展示的数据是 2020年央视《新闻联播》出现频次最高的职业数据来源

# 2020年央视《新闻联播》出现频次最高的职业

data = {
    "医护人员": 437,
    "警察": 420,
    "工人": 321,
    "医生": 254,
    "毕业生": 210,
    "海军": 180,
    "农民工": 150,
    "企业家": 115,
    "职工": 114,
    "解放军": 100,
    "空军": 91,
    "院士": 77,
    "务工人员": 76,
    "大学生": 72,
    "人民警察": 63,
    "武警": 62,
    "医师": 42,
    "陆军": 40,
    "法官": 34,
    "扶贫干部": 33,
}

# 设置图片宽高
plt.figure(figsize=(12, 6))

plt.title("2020年央视《新闻联播》出现频次最高的职业")
plt.xlabel("职业")
plt.ylabel("次数")

plt.bar(data.keys(), data.values(), width=0.5)

plt.show()

image

饼状图

data = {
    "在读学生": 33.6,
    "企业白领": 30.0,
    "服务业人员": 12.3,
    "工人": 6.4,
    "个体户/自由职业": 5.5,
    "教师": 4.8,
    "其他": 3.3,
    "医生": 2.1,
}

# 设置背景色
plt.figure(facecolor='white')

plt.title("截止2019年9月中国电竞用户职业分布占比情况")
plt.pie(data.values(), labels=data.keys(), autopct='%1.1f%%')

plt.show()

image

散点图

适应场景:在较多数据情况下,观察数据的分布情况。

评论

登录参与讨论

暂无评论

共 0 条
  • 1
前往
  • 1