(一)柱状图-应用在定性数据的可视化场景或者离散型数据,条形图和柱状图相似,只不过是函数barh

import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = False
x = [1, 2, 3, 4, 5]
y = [1, 2, 3, 4, 5]
plt.bar(x, y, align="center", color="b", tick_label = ["A", "C", "B", "F", "D"], alpha=.6)
'''
x---->柱状图中的柱体标签值
y---->柱状图的柱体高度
align------>柱体对齐方式
tick_label------>刻度标签值
alpha--------->柱体的透明度
'''
plt.xlabel("测试难度")
plt.ylabel("试卷份数")
plt.grid(True, axis="y", ls=":", color="r", alpha=.3)
plt.show()

(二)堆积图

import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = False
x = [1, 2, 3, 4, 5]
y = [1, 2, 3, 4, 5]
y1 = [2, 5, 6, 9, 20]
plt.bar(x, y, align="center", color="#66c2a5", tick_label = ["A", "B", "C", "D", "E"], label="班级A")
plt.bar(x, y1, align="center",bottom=y, color="#8da0cb", label="班级B")
'''
x---->柱状图中的柱体标签值
y---->柱状图的柱体高度
align------>柱体对齐方式
tick_label------>刻度标签值
bottom--------->底部是什么
'''
plt.xlabel("测试难度")
plt.ylabel("试卷份数")
plt.legend()
plt.show()

(三)分块图--------多数据的分布差异

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
mpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = False x = np.arange(5)
y = [6, 10, 4, 5, 1]
y1 = [2, 6, 3, 8, 5] bar_width = 0.35
tick_label = ["A", "B", "C", "D", "E"] plt.bar(x, y, bar_width, align="center", color="c", label="班级A", alpha = .6)
plt.bar(x+bar_width, y1, bar_width, align="center", color="b", label="班级A", alpha=.5)
'''
注意起始位置的关系
bar_width------->柱状图宽度
'''
plt.xlabel("测试难度")
plt.ylabel("试卷份数") plt.xticks(x+bar_width/2, tick_label)
plt.legend()
plt.show()

(四)函数stackplot()----------堆积折线图,即将多个折线放在同一坐标,互相堆积但不会覆盖

import matplotlib.pyplot as plt
import numpy as np x = np.arange(1, 6, 1)
y = [0, 4, 3, 5, 6]
y1 = [1, 3, 4, 2, 7]
y2 = [3, 4, 1, 6, 5]
labels = ["BluePlanet", "BrownPlanet", "GreenPlanet"]
colors = ["#8da0cb", "#fc8d62", "66c2a5"]
plt.stackplot(x, y, y1, y2, labels=labels, colors=colors)
plt.legend(loc = "upper left")
plt.show()

(五)函数broken_barh()-------绘制间断条形图,在条形图的基础上绘制而成的,可视化定性数据的相同指标在时间维度上的指标值变化

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
mpl.rcParams["font.sans-serif"] = ["LiSu"]
mpl.rcParams["axes.unicode_minus"] = False
plt.broken_barh([(30, 100), (180, 50), (260, 70)], (20, 8), facecolors="#1f78b4")
plt.broken_barh([(60, 90), (190, 20), (230, 30), (280, 60)], (10, 8), facecolors=("#7fc97f", "#beaed4", "#fdc086", "#ffff99"))
'''
(30, 100)------->以30为起点,移动100个单位
(20, 8)--------->Y轴以20为起点,移动8单位
facecolor--------->指柱体的颜色
'''
plt.xlim(0, 360)
plt.ylim(5, 35)
plt.xlabel("演出时间") plt.xticks(np.arange(0, 361, 60))
plt.yticks([15, 25], ["歌剧院A", "歌剧院B"])
#显示tick的位置
plt.grid(ls = "-", lw = 1, color = "r")
#网格线
plt.title("不同地区的歌剧院的演出时间比较") plt.show()

(六)函数step()----------绘制阶梯图,使用在时间序列数据的可视化任务中

import matplotlib.pyplot as plt
import numpy as np x = np.linspace(1, 10, 10)
y = np.sin(x)
#where------>pre--->左开右闭区间,post---->左闭右开区间
plt.step(x, y, color="#8dd3c7", where="pre", lw = 2) plt.xlim(0, 11)
plt.xticks(np.arange(1, 11, 1))
plt.ylim(-1.2, 1.2)
plt.show()

(七)函数hist()---------直方图,定量数据或者连续数据的可视化展示

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
mpl.rcParams["font.sans-serif"] = ["LiSu"]
mpl.rcParams["axes.unicode_minus"] = False
scoresT = np.random.randint(0, 100, 100)
x = scoresT bins = range(0, 101, 10) plt.hist(x, bins=bins, color="#377eb8", histtype="bar", rwidth=1.0)
'''
bins------->用于确定柱体的个数或者柱体边缘范围
histtype----->柱体类型
''' plt.xlabel("测试成绩")
plt.ylabel("学生人数")
plt.show()

(八)堆积直方图

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
mpl.rcParams["font.sans-serif"] = ["LiSu"]
mpl.rcParams["axes.unicode_minus"] = False
scoresT1 = np.random.randint(0, 100, 100)
scoresT2 = np.random.randint(0, 100, 100)
x = [scoresT1, scoresT2]
colors = ["#8dd3c7", "#bebada"]
labels = ["班级A", "班级B"]
bins = range(0, 101, 10) plt.hist(x, bins=bins, color=colors, histtype="bar", rwidth=1.0, stacked=True, label=labels)
# stacked决定着是否堆积,True为堆积,False不堆积
plt.xlabel("测试成绩")
plt.ylabel("学生人数") plt.title("不同班级的测试成绩直方图")
plt.legend(loc = "upper left")
plt.show()

(九)直方图的不同形状-----------改变hist的histtype参数

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
mpl.rcParams["font.sans-serif"] = ["LiSu"]
mpl.rcParams["axes.unicode_minus"] = False
scoresT1 = np.random.randint(0, 100, 100)
scoresT2 = np.random.randint(0, 100, 100)
x = [scoresT1, scoresT2]
colors = ["#8dd3c7", "#bebada"]
labels = ["班级A", "班级B"]
bins = range(0, 101, 10) plt.hist(x, bins=bins, color=colors, histtype="stepfilled", rwidth=1.0, stacked=True, label=labels)
# stacked决定着是否堆积,True为堆积,False不堆积
plt.xlabel("测试成绩")
plt.ylabel("学生人数") plt.title("不同班级的测试成绩直方图")
plt.legend(loc = "upper left")
plt.show()

matplotlib学习日记(四)-绘制直方统计图形的更多相关文章

  1. matplotlib学习日记(五)-各种饼状图的绘制

    (一)分裂式饼状图 import matplotlib as mpl import matplotlib.pyplot as plt import numpy as np mpl.rcParams[& ...

  2. matplotlib学习日记(一)------图表组成元素

      1.使用函数绘制matplotlib的图表组成元素 (1)函数plot---变量的变化趋势 import matplotlib.pyplot as plt import numpy as np x ...

  3. matplotlib学习日记(十)-划分画布的主要函数

    (1)函数subplot()绘制网格区域中的几何形状相同的子区布局 import matplotlib.pyplot as plt import numpy as np '''函数subplot的介绍 ...

  4. matplotlib学习日记(十一)---坐标轴高阶应用

    (一)设置坐标轴的位置和展示形式 (1)向画布中任意位置添加任意数量的坐标轴 ''' 通过在画布的任意位置和区域,讲解设置坐标轴的位置和坐标轴的展示形式的实现方法, 与subplot,subplots ...

  5. matplotlib学习日记(三)------简单统计图

    (一)函数bar()---------绘制柱状图 import matplotlib as mpl import matplotlib.pyplot as plt mpl.rcParams[" ...

  6. matplotlib学习记录 四

    # 绘制3月每天最高温和10月每天最高温散点图 from matplotlib import pyplot as plt # 让matplotlib能够显示中文 plt.rcParams['font. ...

  7. Python学习日记(四) 集合和元祖

    元祖的特性:是一个只读列表.可以循环.可以切片,修改数据遵循'儿子'不能改但'孙子'可能可以改. iterable:可迭代对象(元祖.列表.字串.集合) 元祖宣告方式: tu = (1,2,3,['a ...

  8. matplotlib学习日记(十)-共享绘图区域的坐标轴

    (1)共享单一绘图区域的坐标轴 ''' 上一讲介绍了画布的划分,有时候想将多张图放在同一个绘图区域, 不想在每个绘图区域只绘制一幅图形,这时候借助共享坐标轴的方法实现在一个绘图区 绘制多幅图形的目的. ...

  9. matplotlib学习日记(九)-图形样式

    (一)刻度线定位器和刻度格式器的使用方法 import matplotlib.pyplot as plt import numpy as np from matplotlib.ticker impor ...

随机推荐

  1. 怎样安装Arch Linux以及Deepin桌面环境

    一.概述 Arch Linux 是一个轻量级的Linux发行版本,实际上,Arch Linux提供给用户很多选择,用户可以自定义自己的安装过程,不x像其他很多的Linux发行版本,安装过程甚至是一个只 ...

  2. Cloud-Native! 实战 Helm 3 部署 Traefik 2

    介绍 Traefik 是什么? Traefik, The Cloud Native Edge Router Traefik 是一种现代 HTTP 反向代理和负载均衡器,用于轻松部署微服务. 这篇文章对 ...

  3. 09_消息通知Toast和Notification

    1. Toast 学习创建长短不一的Toast提示,并自定义Toast在屏幕上的位置以及Toast的外观. 1 package com.example.toastdemo; 2 3 import an ...

  4. 基于 RabbitMQ-EasyNetQ 实现.NET与Go的消息调度交互

    基于 RabbitMQ 实现跨语言的消息调度 微服务的盛行,使我们由原来的单机"巨服务"的项目拆分成了不同的业务相对独立的模块,以及与业务不相关的中间件模块.这样我们免不了在公司不 ...

  5. docker镜像无法删除 Error:No such image:xxxxxx

    前言 docker镜像无法删除,通过 docker images 查看镜像明明存在就是删除不了. 删除提示:Error:No such image:xxxxxxx 具体截图内容如下: 解决方法 进入目 ...

  6. 【GDKOI2014】JZOJ2020年8月13日提高组T4 内存分配

    [GDKOI2014]JZOJ2020年8月13日提高组T4 内存分配 题目 Description Input Output 输出m行,每行一个整数,代表输入中每次程序变化后系统所需要的空闲内存单位 ...

  7. 在 Windows 中使用 C# 启动其他程序

    因为某些原因需要自动启动一个 Winform 程序,可能是因为第三方资源的原因,使用 System.Diagnostics.Process 无法成功启动 (可以看到界面,但是会报 Unhandled ...

  8. Mysql-索引分析查询性能

    explain 全文只有一个关键点,那就是explain,explain 显示了MySQL如何使用索引来处理select语句以及连接表.可以帮助选择更好的索引和写出更优化的查询语句.简单讲,它的作用就 ...

  9. 第8.16节 Python重写自定义类的__str__方法

    一. 引言 上节结合案例介绍了重写__repr__方法的关注点,重写__repr__方法的要点是要准确的输出开发人员关注的信息,并便于开发人员使用相关信息.而__str__方法是为最终用户返回类的相关 ...

  10. PyQt学习随笔:QTableWidget的selectedRanges、setRangeSelected访问选中矩形范围的方法

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在QTableWidget对项的操作支持选中多个项的情况下,可以通过方法selectedRanges ...