添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
没人理的路灯  ·  C# ...·  1 年前    · 
阳刚的板凳  ·  [Python] [Django] ...·  2 年前    · 
爱跑步的沙滩裤  ·  es新特性 - 简书·  2 年前    · 

matplotlib处理经常能够用到的折线图、柱状图等,还可以画出直方图和密度图。

plt.hist()方法

matplotlib.pyplot.hist(x,bins = None,range = None,density = None,weights = None,cumulative = False,bottom = None,hist type =‘bar’,align =‘mid’,orientation =‘vertical’,rwidth = None,log = False,color = None,label = None,stacked = False,normed = None,*,data = None,** kwargs )
可以看到参数非常多,简单的介绍几个:
x : (n,)数组或序列(n,)数组
输入值,这需要单个数组或不需要具有相同长度的数组序列。

bins: int,默认是10,就是把数据分多少份的意思。
sequence, 可以给出bins的边缘如:[1, 2, 3, 4],分成的区间就是[1, 2)[2, 3)[3, 4]。

hist type : {‘bar’,‘barstacked’,‘step’,‘stepfilled’},可选,改变绘图样式。

rwidth:柱状图,每一个柱子的相对宽度

详情参考官方文档: 传送门

代码demo

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from pandas import Series, DataFrame
np.random.seed(666)
s = Series(np.random.randn(1000)) # 1000 个数据的分布
s.hist( rwidth = 0.9, bins = 5, histtype = 'stepfilled')
plt.show() # 见 图1
re = plt.hist(s, rwidth = 0.9, kind = 'kde')
re 是一个元组
re[0] <class 'numpy.ndarray'> 出现的频率
[  6.  20.  81. 185. 265. 214. 151.  63.  10.   5.]
re[1] <class 'numpy.ndarray'>  出现的间隔
[-3.19551031 -2.5366076  -1.87770489 -1.21880218 -0.55989947  0.09900323
  0.75790594  1.41680865  2.07571136  2.73461407  3.39351678]
re[2] <a list of 10 Patch objects>  
plt.show() # 见 图2
第一个数值的频率是6,介于 -3.19551031 和 -2.5366076 之间
参数设置:
bins 默认 10, 分多少份
color 选择颜色
orientation 默认垂直,可以选择水平
注意:将kind='kde',画出来的就是一个密度图,如:
s.plot(kind='kde') 就是一个密度图

在之前提到对series画图中,可以使用 s.plot(),需要注意的是,将kind=‘kde’,画出来的就是一个密度图,如:
s.plot(kind=‘kde’) 就是一个密度图

图1:
在这里插入图片描述
图2:
在这里插入图片描述

直方图是用于展示数据的分组分布状态的一种形,用矩形的宽度和高度表示频数分布,通过直方图,用户可以很直观的看出数据分布的形状、中心位置以及数据的离散程度等。 在python中一般采用matplotlib库的hist来绘制直方图,至于如何给直方图添加拟合曲线(密度函数曲线),一般来说有以下两种方法方法一:采用matplotlib中的mlab模块 mlab模块是Python中强大的3D作工具,立体感效果极佳。在这里使用mlab可以跳出直方图二维平面形的限制,在此基础上再添加一条曲线。在这里,我们以鸢尾花iris中的数据为例,来举例说明。 import numpy as np %matplotlib inline #plt.hist(x, bins=10, range=None, normed=False, weights=None, cumulative=False, bottom=None, #histtype='bar', align='mid', orientation='vertical',rwidth=Non 项目中在前期经常要看下数据的分布情况,这对于探究数据规律非常有用。概率分布表示样本数据的模样,长的好不好看如果有像展示出来就非常完美了,使用Python绘制频率分布直方图非常简洁,因为用的频次非常高,这里记录下来。还是Python大法好,代码简洁不拖沓~ 如果数据取值的范围跨度不大,可以使用等宽区间来展示直方图,这也是最常见的一种;如果数据取值范围比较野,也可以自定义区间端点,绘制像,下面分两种情况展示 1. 区间长度相同绘制直方图 #-*- encoding=utf-8 -*- import datetime import numpy as np import matplotlib.p Matplotlib 库进行数据可视化的教程,该教程包含了实际代码实现以及相关介绍,方便读者更加深入地理解 Matplotlib 库的使用。 MatplotlibPython 中最流行的数据可视化库之一,它可以用于创建各种类型的表,包括线、散点柱状图、饼、等高线和热力等。这些表可以用于数据分析、数据挖掘和机器学习等领域。 这本教程从基础入手,介绍了如何使用 Matplotlib 库创建简单的表,然后逐步深入到更高级的表类型和细节。读者可以学习如何控制坐标轴、标签、标题和颜色等方面的属性,以及如何添加例、网格线和文本注释等。 除了基本的表类型,该教程还介绍了如何创建子、堆叠直方图密度等。读者可以学习如何在一个表中绘制多个数据集,以及如何对数据进行分组和聚合以进行更深入的分析。 该教程还包括如何使用 Matplotlib 库与其他 Python 库进行数据分析和可视化,包括 NumPy、Pandas 和 Seaborn 等。读者可以学习如何导入数据集并进行数据清洗和预处理,然后使用 Matplotlib 库创建表以可视化数据集。 s = Series(np.random.randn(1000)) # 生成了两个array和一个形对象,第一个array是在区间数的数量,第二个是区间范围 # hist画直方... 函数功能:判定数据(或特征)的分布情况 调用方法:plt.hist(x, bins=10, range=None, normed=False, weights=None, cumulative=False, bottom=None, histtype='bar', align='mid', orientation='vertical', rwidth=None, log=False, color=None, label=None, stacked=False) 参数说明: x:指定要绘制直方图的数据; 翻译成中文是什么意思呢?就是说,我们的每一个“柱子”的高度是从y轴的哪一个值开始往上长。还不明白?没关系,还是以班级男女为例:bar1 = plt . bar([ 1 , 2 , 3 ] , [ 4 , 5 , 6 ] , label = '男生') bar2 = plt . bar([ 1 , 2 , 3 ] , [ 1 , 2 , 3 ] , color = 'g' , bottom = [ 4 , 5 , 6 ] , label = '女生') MatplotlibPython 的绘库,它能让使用者很轻松地将数据形化,并且提供多样化的输出格式。 Matplotlib 可以用来绘制各种静态,动态,交互式的表。 Matplotlib 是一个非常强大的 Python工具,我们可以使用该工具将很多数据通过表的形式更直观的呈现出来。 Matplotlib 可以绘制线、散点、等高线、条形柱状图、3D 形、甚至是形动画等等语法格式 参数说明: 设置垂直方向的柱形 设置柱形颜色 自定义各个柱形的颜色: Matplo