首页 > 编程语言 >【学习笔记】python数据可视化之matplotlib实践第二章

【学习笔记】python数据可视化之matplotlib实践第二章

时间:2024-09-28 19:20:21浏览次数:3  
标签:plt python mpl matplotlib 可视化 np import pyplot

使用统计函数绘制简单图形

1.bar()函数:在x轴上绘制定性数据的分布特征,用于绘制柱状图

函数基本参数介绍:plt.bar(x,height,color = 'c',edgecolor = 'y',width = 0.8,align = 'center',tick_label = ['白菜','卷心菜'],hatch = '/' )

x柱状图的x轴坐标,每个数值对应于一个柱子的位置
height柱状图的高度,即y轴上的数值
color柱子的填充颜色
edgecolor柱子边缘的颜色
width柱子的宽度
align柱子与x轴的对齐方式,有center和edge对齐方式
tick_labelx轴的标签,表示x轴上的每个位置(每个柱子)对应的标签
hatch柱子的图案,图案颜色和边缘颜色相同,未设置边缘颜色为黑色

其他参数参考:https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.bar.html 

代码例子实现:

#导入后续需要使用的代码
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,6]
height = [3,1,4,5,8,9]

plt.bar(x,height,color = 'c',edgecolor = 'y',width = 0.8,align='center',tick_label = ['q','a','c','e','f','r'],hatch = '/')

plt.xlabel('箱子编号')
plt.ylabel('箱子重量(kg)')
plt.show()

代码运行结果如下: 

2.barh():在y轴上绘制定性数据的分布特征,用于绘制条形图

barh()函数与bar()函数参数设置基本相同,特别地,width这个参数在barh()函数中设置比bar()要复杂一些,在此处就不在使用width进行代码演示

具体参数说明参考:https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.barh.html 

#导入后续需要使用的代码
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,6]
height = [3,1,4,5,8,9]

plt.barh(x,height,color = 'c',edgecolor = 'r',align='center',tick_label = ['q','a','c','e','f','r'],hatch = '/')

plt.xlabel('箱子重量(kg)')
plt.ylabel('箱子编号')
plt.show()

以上代码的运行结果:

3.hist(): 在x轴上绘制定量数据的分布特征,用于绘制直方图

函数基本参数介绍:plt.hist(x,bins = bins,color = 'g',edgecolor = 'black',histtype = 'bar',rwidth = 1,alpha = 0.6)

x提供大量数据,将x中的数据按bins指定的区间进行分组
binsbins为序列[1,2,3,4],产生的区间为[1,2),[2,3),[3,4]
color设置直方图填充颜色
edgecolor设置直方图边缘颜色
histtype设置绘制直方图类型
rwidth条形的相对宽度
alpha透明度

更多的参数设置参考:https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.hist.html

代码示例:

#导入后续需要使用的代码
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#确保负号能够正常显示

boxWeight = np.random.randint(0,10,100)
#设置x作为大量的数据样本,生成更光滑的直方图
x = boxWeight

bins = range(0,11,1)
plt.hist(x,bins = bins,color = 'g',histtype = 'bar',rwidth = 1,alpha = 0.6,edgecolor = 'black')

plt.xlabel('箱子重量(kg)')
plt.ylabel('箱子编号')
plt.show()

代码运行结果: 

4.pie():绘制定性数据的不同类别的百分比,用于绘制饼图

函数基本参数介绍:plt.pie(x,labels = kinds,autopct='%3.1f%%',startangle=60,colors = colors)
x楔形大小
labels为每个楔形提供标签的字符串序列
autopct

设置显示数值的格式

startangle饼图起点旋转的角度 从 x 轴逆时针方向
colors可以设置每块饼图的颜色

其他参数参考:https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.pie.html

示例代码:

#导入后续需要使用的代码
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#确保负号能够正常显示

kinds = '简易箱','保温箱','行李箱','密封箱'
#使用十六进制编码设置颜色
colors= ['#e41a1c','#377eb8','#4daf4a','#984ea3']
#设置每块饼图的占比
x = [0.05,0.45,0.15,0.35]

plt.pie(x,labels = kinds,autopct='%3.1f%%',startangle=60,colors = colors)

plt.title('不同类型箱子的销售数量占比')
plt.show()

代码运行结果: 

5.polar():在极坐标上绘制折线图,用于绘制极限图

函数基本参数介绍:plt.polar(theta,r,color = 'chartreuse',linewidth = 2,marker = '*',mfc = 'b',ms = 10)
theta极坐标中的角度
r极坐标中的半径

color

设置线条颜色

linewidth设置线条宽度
marker设置数据点的标记
mfc设置数据点的填充颜色
ms设置数据点的形状大小

示例代码:

#导入后续需要使用的代码
import matplotlib.pyplot as plt
import numpy as np


barslices = 12
theta = np.linspace(0.0,2*np.pi,barslices,endpoint=False)#endpoint = False表示不包含结束值
r = 30*np.random.rand(barslices)

plt.polar(theta,r,color = 'chartreuse',linewidth = 2,marker = '*',mfc = 'b',ms = 10)

plt.show()

代码运行结果: 

6.scatter():二维数据借助气泡大小展示三维数据,用于绘制气泡图

 函数基本参数介绍:plt.scatter(a,b,s = np.power(10*a+20*b,2),c = np.random.rand(100),cmap = mpl.cm.RdYlBu,marker = 'o')

ax轴上的数值
by轴上的数值
s散点标记点的形状大小
c散点标记的颜色
cmap将浮点数映射成颜色的颜色映射表
marker指定散点的形状

其他参数参考:matplotlib.pyplot.scatter — Matplotlib 3.9.2 文档

示例代码:

#导入后续需要使用的代码
import matplotlib.pyplot as plt
import numpy as np
import matplotlib as mpl

a = np.random.randn(100)
b = np.random.randn(100)
#mpl.cm.RdYlBu表示一个从红色到蓝色再到黄色的颜色映射表
plt.scatter(a,b,s = np.power(10*a+20*b,2),c = np.random.rand(100),cmap = mpl.cm.RdYlBu,marker = 'o')


plt.show()

运行结果:

7.stem():绘制离散有序数据,用于绘制棉棒图

 函数基本参数介绍:plt.stem(x,y,linefmt='-.',markerfmt='o',basefmt='-')

x表示棉棒的x位置
y表示棉棒头的y坐标
linefmt设置垂直线的样式
markerfmt设置棉棒头处的标记形状为圆形
basefmt设置基线的样式

其他参数设置参考:https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.stem.html

示例代码:

#导入后续需要使用的代码
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0.5,2*np.pi,20)
y = np.random.randn(20)

plt.stem(x,y,linefmt='-.',markerfmt='o',basefmt='-')

plt.show()

运行结果: 

8.boxplot():用于绘制箱线图

函数基本参数介绍:boxplot(x)

x绘制箱线图的输入数据

其他参数设置参考:matplotlib.pyplot.boxplot — Matplotlib 3.9.2 文档

示例代码:

#导入后续需要使用的代码
import matplotlib.pyplot as plt
import numpy as np
import matplotlib as mpl

mpl.rcParams['font.sans-serif'] = ['FangSong']
mpl.rcParams['axes.unicode_minus'] = False

x = np.random.randn(1000)

plt.boxplot(x)
plt.xticks([1],['随机生成器AlphaRM'])#表示x轴上只有一个刻度位置,即位置1
plt.ylabel('随机数值')
plt.title('随机数生成器抗干扰能力的稳定性')
#axis = 'y'表示只在y轴上显示网格线,ls = ':'表示网格线的样式为虚线,lw设置网格线宽度
plt.grid(axis = 'y',ls = ':',lw = 1,color = 'gray',alpha = 0.4)
plt.show()

运行代码结果: 

9.errorbar():绘制y轴方向或是x轴方向的误差范围,用于绘制误差棒图

函数基本参数介绍:plt.errorbar(x,y,fmt = 'bo:',yerr = 0.2,xerr = 0.02)

x数据点的横坐标

y

数据点的纵坐标
fmt指定数据点的标记样式
yerry轴方向的数据点的误差计算方式
xerrx轴方向的数据点的误差计算方式

其他参数设置参考:matplotlib.pyplot.errorbar — Matplotlib 3.9.2 文档

示例代码:

#导入后续需要使用的代码
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0.1,0.6,6)
y = np.exp(x)
#fmt = 'bo:'表示设置标记点为蓝色,用圆点表示,:表示虚线连接数据点
plt.errorbar(x,y,fmt = 'bo:',yerr = 0.2,xerr = 0.02)

plt.xlim(0,0.7)

plt.show()

代码运行结果: 

参考书:python数据可视化之matplotlib实践 ,作者:刘大成

以上表述有任何错误,希望大家能够批评指正。

文章中如有侵权部分,请联系我删除,很抱歉为您带来困扰! 

标签:plt,python,mpl,matplotlib,可视化,np,import,pyplot
From: https://blog.csdn.net/2401_86425803/article/details/142604180

相关文章

  • 基于python+flask框架的入党积极分子培训管理系统(开题+程序+论文) 计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景在当前党建工作日益规范化和信息化的背景下,入党积极分子的培养与管理成为了基层党组织工作的重要组成部分。随着党员队伍的不断壮大,传统的......
  • 基于python+flask框架的入党积极分子管理系统(开题+程序+论文) 计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着高校党建工作的不断深入与发展,入党积极分子的培养与管理成为了提升党员队伍质量、增强党组织凝聚力与战斗力的关键环节。传统的手工管......
  • 基于python+flask框架的日用品个性化推荐系统(开题+程序+论文) 计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展,电子商务已成为人们日常生活中不可或缺的一部分,尤其是日用品的线上购买,因其便捷性和丰富的选择而备受青睐。然而......
  • 基于python+flask框架的日常分享网络平台(开题+程序+论文) 计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展和智能手机的普及,人们的社交方式正经历着前所未有的变革。在信息爆炸的时代,个人生活点滴的分享与交流成为了人们......
  • 基于python的四则运算自动生成的命令行程序
    这个作业属于哪个课程https://edu.cnblogs.com/campus/gdgy/CSGrade22-34这个作业要求在哪里https://edu.cnblogs.com/campus/gdgy/CSGrade22-34/homework/13230这个作业的目标基于python的四则运算自动生成的命令行程序团队成员姚彬彬3122006324一.Githu......
  • Python进行因子分析
    因子分析是一种用于降维和识别数据潜在结构的统计技术,广泛应用于社会科学、心理学、市场调查等多个领域。它通过探索多个观察变量之间的相关性,试图找出少数的公因子来解释数据的总体结构。因子分析的核心思想是将大量的变量通过少量的因子进行表示,从而简化数据分析的复杂性,......
  • 深色系的可视化大屏随处可见,深色系B端系统不常见,有啥学问?
    一、可视化大屏为什么不宜选择浅色系。可视化大屏通常用于展示数据、图表、图像等信息,而不宜选择浅色系的原因有以下几点:1.对比度不足:浅色系的背景会使文字、图表等内容与背景色对比度降低,降低了信息的可读性和清晰度,尤其在较远距离观看时更为明显。2.易受光线影响:在......
  • python 操作RabbitMq详解
    一、简介:RabbitMq 是实现了高级消息队列协议(AMQP)的开源消息代理中间件。消息队列是一种应用程序对应用程序的通行方式,应用程序通过写消息,将消息传递于队列,由另一应用程序读取完成通信。而作为中间件的RabbitMq无疑是目前最流行的消息队列之一。    RabbitMq......
  • 初始Python篇python绘制三维图
    首先通过一个例子来看一下本文中可能用到的对象和相关概念。#coding:UTF-8import sys# 模块,sys指向这个模块对象import inspectdef foo():pass #函数,foo指向这个函数对象class Cat(object):#类,Cat指向这个类对象    def __init__(self,name......
  • 安装python
    downloadpython:https://www.python.org/downloads/C:\Users\dgq>pythonPython3.8.19(default,May82024,00:24:49)[MSCv.192964bit(AMD64)]onwin32Type"help","copyright","credits"or"license"......