python hist函数_如何使用Python 进行数据可视化

本文介绍了Python的数据可视化库Matplotlib,包括安装、使用资源和常见图表的绘制,如散点图、折线图、直方图、条形图和饼图,帮助读者理解数据分布和进行数据分析。
摘要由CSDN通过智能技术生成

在进行数据分析的时候,经常需要将数据进行可视化,以方便我们对数据的认识和理解。

60d5e629281ef007804e52c613eefd8d.png

0,Matplotlib 简介

Matplotlib 是一个可视化工具包,可以让我们使用Python 来可视化数据。

[Matplotlib](https://matplotlib.org/)

e165c63f91d0f36cb63504cf4a1d1fcb.png

这里汇总了一些官方资源:

  • [Matplotlib 安装]

    • (https://matplotlib.org/users/installing.html)

  • [Matplotlib 用户手册]

    • (https://matplotlib.org/users/index.html)

  • [Matplotlib 函数汇总]

    • (https://matplotlib.org/api/pyplot_summary.html)

  • [Matplotlib 模块索引]

    • (https://matplotlib.org/py-modindex.html)

  • [Matplotlib 示例库]

    • (https://matplotlib.org/gallery/index.html)

  • Matplotlib 示例下载

    • ‍[Python code]

    • (https://matplotlib.org/_downloads/85d9be59fab8a02517f514497a37cf68/gallery_python.zip)

    • [Jupyter notebooks]

    • (https://matplotlib.org/_downloads/2e309644ccd557aada4afb564bdde6ed/gallery_jupyter.zip)

很多更高级的绘图库,也都是基于Matplotlib,比如seabornHoloViewsggplot 等。

[seaborn](https://seaborn.pydata.org/)

[HoloViews](https://holoviews.org/)

[ggplot](http://ggplot.yhathq.com/)

在使用 Matplotlib 时,经常需要用到 pyplot 模块,用下面代码引入:

import matplotlib.pyplot as plt

下文中,都用 plt 来代指 pyplot

说明: 

这里我们只介绍几种简单的图,更多其它的图,可以查看官方手册。

下面的每个函数,只介绍了最简单的用法,其它更多的参数可以查看手册。

1,散点图

plt.scatter 函数用于绘制散点图。函数原型:

scatter(x, y, s = None, c = None, marker = None)

参数含义:

  • x, y:分别表示点的横纵坐标。x, y 可以是单个点坐标,也可以是一组点坐标。

  • s:表示点的大小。

  • c:表示点的颜色。

  • marker:表示点的形状,可选的值见[这里](https://matplotlib.org/api/markers_api.html),比如 marker 的值为 x, o, 等。

如下代码,画了三个点:

# 三个点的坐标分别是:#   (2, 5) #   (3,6)#   (3, 5)plt.scatter([2, 3, 3], [5, 6, 5], marker='o')plt.show() # 展示图

画出的散点图如下:

b27f0267b8d7588e259975456cc60e07.png

2,折线图

plt.plot 函数用于绘制折线图。函数原型:

plot(x, y)

参数 x分别表示点的横纵坐标,一般是一组点坐标。

比如下面表格代表 5 次数学考试成绩:

次数12345
成绩8978927986

将上面表格数据,绘制成折线图,代码如下:

x = [1, 2, 3, 4, 5]y = [89, 78, 92, 79, 86]plt.plot(x, y)plt.show()

画出的折线图如下:

831c89fd543c399fc4619461141768a5.png

3,直方图

直方图用于描述数据的分布情况

plt.hist 函数用于绘制直方图。函数原型:

plt.hist(x, bins=None)

参数 是一个一维数组,bins 可以理解为矩形的个数,默认是 10。 

假如下面是一次数学考试的成绩,全班共50 名同学:

97fcf603ad80965c3fef0c4ae71fa163.png

将所有同学的成绩画成直方图,代码如下:

scores = [    96, 89, 95, 91, 94, 95, 92, 98, 95, 93,    93, 96, 94, 94, 98, 92, 88, 90, 88, 98,    84, 89, 87, 84, 94, 82, 83, 95, 93, 79,    84, 91, 86, 91, 81, 89, 77, 81, 77, 70,    66, 93, 90, 87, 79, 83, 86, 90, 93, 79,    ]plt.hist(scores)plt.show()

画出来的直方图如下,横坐标为成绩区间,纵坐标为人数:

787f14002d271055921050fbac465cb0.png

通过该直方图,可以直观的看出来每个成绩区间的人数。

4,条形图

plt.bar 函数用于绘制条形图。函数原型:

plt.bar(x, y, width = 0.8)

参数 x, y 均是一个数组,x 是横坐标,表示数据类别;y 是纵坐标,表示每个类别的频度。参数 width 表示长条的宽度。

比如下表是一位同学的期中考试的各科成绩:

13d148d34232eb0415d2b540ca2dc955.png

我们将这位同学的成绩单画成条形图,代码如下:

# 每个科目分别用字母表示subjects = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I']scores = [96, 89, 85, 91, 75, 90, 88, 79, 89]plt.bar(subjects, scores)plt.show()

画出的条形图如下:

f8cbe61b9937a46a12164ce3e50d67f5.png

5,饼图

饼图常用于表示个体占总体的占比情况。

plt.pie 函数用于绘制饼图。函数原型:

plt.pie(x, labels=None)

参数 是一个数组,表示一组数据,labels 用于描述每个数据的含义。

比如下表是某个公司某年每个季度的收入:

1037f6064696c6615a279df2680b8cca.png

我们可以用饼图分析出每个季度占全年收入的占比,代码如下:

# 表示每个季度quarters = ['1', '2', '3', '4']incomes = [56, 89, 75, 91]plt.pie(incomes, labels=quarters)plt.show()

画出的饼图如下:

94d23fd1c6151de237a06e80e9dd5bac.png

(本节完。)

9bbb4311f21e6e747fd92dcc9bf19534.png

点击查看往期内容回顾

决策树算法-理论篇-如何计算信息纯度

决策树算法-实战篇-鸢尾花及波士顿房价预测

朴素贝叶斯分类-理论篇-如何通过概率解决分类问题

朴素贝叶斯分类-实战篇-如何进行文本分类

3dea15f7c0436fb903d43fb7e1fb0f7b.gif

欢迎关注作者公众号,获取更多技术干货。

e7b4763fe151551483e76806d7bf7442.png

d9ecfbf568dea0f4ef8ef78704de85bd.gif

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值