Matpoltlib学习笔记(一):可视化与绘图基础

SPSS教程:如何绘制带误差的折线图 如需改变X轴属性,在Edit Properties框中选择“X-Axis(Line1),改变坐标轴标签(Axis Label框),改变X轴变量的排序(Categories框中:Sort by、Direction或Order框中上下箭头进行调整)。绘制简单折线图时,研究者可能需要更改连续变量(即Y轴上的因变量)的刻度属性。研究者想研究45-65岁健康男性中,静坐时长和血胆固醇水平的关系,故招募100名研究对象询问其每天静坐时长(time),并检测其血液中胆固醇水平(cholesterol),部分数据如图1。 阅读详情

一、折线图

(折线图的基础绘制方法与函数参数等内容直接跳过,下面为对于原有知识的补充。)

误差折线图 plt.errorbar()

matplotlib.pyplot.errorbar(x, y, yerr=None, xerr=None, fmt='', ecolor=None, elinewidth=None, capsize=None, barsabove=False, lolims=False, uplims=False, xlolims=False, xuplims=False, errorevery=1, capthick=None, *, data=None, **kwargs)

主要参数简介:

x: 需要绘制的line中点的在x轴上的取值

y: 需要绘制的line中点的在y轴上的取值

yerr: 指定y轴水平的误差

xerr: 指定x轴水平的误差

fmt: 指定折线图中某个点的颜色,形状,线条风格,例如‘co–’

ecolor: 指定error bar的颜色

elinewidth: 指定error bar的线条宽度

fig = plt.figure()
x = np.arange(10)
y = 2.5 * np.sin(x / 20 * np.pi)
yerr = np.linspace(0.05, 0.2, 10)
plt.errorbar(x, y + 3, yerr=yerr, label='both limits (default)');

在这里插入图片描述

二、二维图形 Patches

1.直方图

matplotlib.pyplot.hist(x,bins=None,range=None, density=None, bottom=None, histtype='bar', align='mid', log=False, color=None, label=None, stacked=False, normed=None)

主要参数简介:
x: 数据集,最终的直方图将对数据集进行统计

bins: 统计的区间分布

range: tuple, 显示的区间,range在没有给出bins时生效

density: bool,默认为false,显示的是频数统计结果,为True则显示频率统计结果,这里需要注意,频率统计结果=区间数目/(总数*区间宽度),和normed效果一致,官方推荐使用density

histtype: 可选{'bar', 'barstacked', 'step', 'stepfilled'}之一,默认为bar,推荐使用默认配置,step使用的是梯状,stepfilled则会对梯状内部进行填充,效果与bar类似

align: 可选{'left', 'mid', 'right'}之一,默认为'mid',控制柱状图的水平分布,left或者right,会有部分空白区域,推荐使用默认

log: bool,默认False,即y坐标轴是否选择指数刻度

stacked: bool,默认为False,是否为堆积状图

x=np.random.randint(0,100,100) #生成[0-100)之间的100个数据,即 数据集 
bins=np.arange(0,101,10) #设置连续的边界值,即直方图的分布区间[0,10),[10,20)... 
plt.hist(x,bins,color='fuchsia',alpha=0.5)#alpha设置透明度,0为完全透明 
plt.xlabel('scores') 
plt.ylabel('count') 
plt.xlim(0,100); #设置x轴分布范围 plt.show()

2.柱状图

matplotlib.pyplot.bar(left, height, alpha=1, width=0.8, color=, edgecolor=, label=, lw=3)

主要参数简介:
left: x轴的位置序列,一般采用range函数产生一个序列,但是有时候可以是字符串

height: y轴的数值序列,也就是柱形图的高度,一般就是我们需要展示的数据;

alpha: 透明度,值越小越透明

width: 为柱形图的宽度,一般这是为0.8即可;

color或facecolor: 柱形图填充的颜色;

edgecolor: 图形边缘颜色

label: 解释每个图像代表的含义,这个参数是为legend()函数做铺垫的,表示该次bar的标签

# bar绘制柱状图
y = range(1,17)
plt.bar(np.arange(16), y, alpha=0.5, width=0.5, color='yellow', edgecolor='red', label='The First Bar', lw=3);

在这里插入图片描述

3.饼状图

plt.pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=0, radius=1, counterclock=True, wedgeprops=None, textprops=None, center=0, 0, frame=False, rotatelabels=False, *, normalize=None, data=None)

主要参数简介:
x: 契型的形状,一维数组。

explode: 如果不是等于None,则是一个len(x)数组,它指定用于偏移每个楔形块的半径的分数。

labels: 用于指定每个契型块的标记,取值是列表或为None。

colors: 饼图循环使用的颜色序列。如果取值为None,将使用当前活动循环中的颜色。

startangle: 饼状图开始的绘制的角度。

labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
sizes = [15, 30, 45, 10] 
explode = (0, 0.1, 0, 0) 
fig1, ax1 = plt.subplots() 
ax1.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%', shadow=True, startangle=90) 
ax1.axis('equal')

在这里插入图片描述)

4.imshow()

matplotlib.pyplot.imshow(X, cmap=None, norm=None, aspect=None, interpolation=None, alpha=None, vmin=None, vmax=None, origin=None, extent=None, shape=, filternorm=1, filterrad=4.0, imlim=, resample=None, url=None, *, data=None, **kwargs)

使用imshow画图时首先需要传入一个数组,数组对应的是空间内的像素位置和像素点的值,interpolation参数可以设置不同的差值方法,具体效果如下。

methods = [None, 'none', 'nearest', 'bilinear', 'bicubic', 'spline16',
           'spline36', 'hanning', 'hamming', 'hermite', 'kaiser', 'quadric',
           'catrom', 'gaussian', 'bessel', 'mitchell', 'sinc', 'lanczos']


grid = np.random.rand(4, 4)

fig, axs = plt.subplots(nrows=3, ncols=6, figsize=(9, 6),
                        subplot_kw={'xticks': [], 'yticks': []})

for ax, interp_method in zip(axs.flat, methods):
    ax.imshow(grid, interpolation=interp_method, cmap='viridis')
    ax.set_title(str(interp_method))

plt.tight_layout();

在这里插入图片描述

三、子图

1.plt.subplots()

参数简介:

figsize 参数可以指定整个画布的大小

sharex 和 sharey 分别表示是否共享横轴和纵轴刻度

tight_layout 函数可以调整子图的相对大小使字符不会重叠

fig, axs = plt.subplots(2, 5, figsize=(10, 4), sharex=True, sharey=True)
fig.suptitle('样例1', size=20)
for i in range(2):
    for j in range(5):
        axs[i][j].scatter(np.random.randn(10), np.random.randn(10))
        axs[i][j].set_title('第%d行,第%d列'%(i+1,j+1))
        axs[i][j].set_xlim(-5,5)
        axs[i][j].set_ylim(-5,5)
        if i==1: axs[i][j].set_xlabel('横坐标')
        if j==0: axs[i][j].set_ylabel('纵坐标')
fig.tight_layout()

在这里插入图片描述
上述过程是基于subplots()函数的写法,我们还可以基于subplot()进行定义:

plt.figure()
# 子图1
plt.subplot(2,2,1) 
plt.plot([1,2], 'r')
# 子图2
plt.subplot(2,2,2)
plt.plot([1,2], 'b')
#子图3
plt.subplot(224)  # 当三位数都小于10时,可以省略中间的逗号,这行命令等价于plt.subplot(2,2,4) 
plt.plot([1,2], 'g');

在这里插入图片描述
此外,我们也可以建立极坐标系

N = 150
r = 2 * np.random.rand(N)
theta = 2 * np.pi * np.random.rand(N)
area = 200 * r**2
colors = theta


plt.subplot(projection='polar')
plt.scatter(theta, r, c=colors, s=area, cmap='hsv', alpha=0.75);

在这里插入图片描述
以上便是本人在有关Matplotlib中可视化与绘图基础的学习中的全部内容。如果您在阅读过程中发现了本文的不足或者错误,请您在下方留言以批评指正,本人一定及时修改。感谢您阅读本文!

Matplotlib绘制条形图和误差折线图 Matplotlib的绘图功能 文章目录Matplotlib的绘图功能1.条形图绘制其他样式的柱形图水平的条形图2.误差线坐标轴参数plot方法errorbar方法3.文字注释text方法figtext方法annotate方法 1.条形图 import matplotlib.pyplot as plt data = [5, 20, 15, 25, 10] plt.bar(range(len(data)), data) plt.show() bar(left, height, width=0.8, b 阅读详情

相关推荐

Python中使用matpoltlib进行数据的可视化入门及详解-使用matplotlib做图

本文按照由浅入深的方式,从最简单的一个图形开始,然后逐步增加新设置,说明制作一个图形的时候,可以调节的功能有哪些。 1.matplotlib包的导入:import matplotlib.pyplot as plt 另外需要,在Jupyter中需要运行%matplotlib notebook,在IPython 中运行%matplotlib。 2.看一下如何画一个最简单的折线图形。我们使用...

跬步Python股票数据量化分析 633

《Origin画百图》之带误差带的折线图

好久没更新这个系列了~,终于来啦,《Origin画百图》第七集—带误差带的折线图。需要的数据为X,Y,Error三列数据。

Hou556的博客 2388

三菱CNC数据采集实战:从SDK安装到C#代码调试全流程(附完整资源包)

本文为C#开发者提供了三菱CNC数据采集的完整实战指南。详细介绍了从获取并安装核心A2协议SDK、配置Visual Studio开发环境,到理解COM接口文档、封装C#通信类,并构建具备多设备连接与定时采集功能的WinForms应用程序的全流程。文章重点分享了网络调试、异常处理及性能优化等关键实战经验,帮助开发者高效打通工业自动化数据采集链路。

oauth7security的博客 707

plt.errorbar()函数解析(最清晰的解释)

plt.errorbar()函数用于表现有一定置信区间的带误差数据。 plt.errorbar(x, y, yerr=None, xerr=None, fmt='', ecolor=None, elinewidth=None, capsize=None, capthick=None ) 主要参数: x,y: 数据点的位置坐标 xerr,yerr: 数据的误差范围...

种树最好的时间是10年前,其次是现在!!! 6万+

lofar谱 matlab_一种用于分类识别的线谱增强及特征提取方法与流程

本发明属于声信号处理技术领域,具体涉及一种用于分类识别的线谱增强及特征提取方法。背景技术:水下声音目标的被动探测和识别领域中,利用舰船辐射噪声对舰船类型进行识别是十分常见的。舰船辐射噪声通常由机械噪声,螺旋桨噪声和水动力噪声三部分构成,前两种信号是噪声的线谱和连续谱的主要来源。其中线谱由于具有较高的信噪比,并且携带着声源特征信息,而被广泛研究和应用。但是目前的识别方法中,因为连续谱信息缺乏较为明确...

weixin_39517859的博客 5476

手把手教你用TJA1145A实现CAN节点智能唤醒(含数据帧过滤技巧)

本文详细介绍了如何使用TJA1145A收发器实现CAN节点的智能唤醒功能,包括数据帧过滤技巧和超低功耗设计。通过硬件级帧过滤和双条件唤醒机制,TJA1145A在保持微安级休眠电流的同时,能对特定报文做出毫秒级响应,显著提升电池供电设备的续航能力。

weixin_28721917的博客 249

matplotlib绘制带误差的折线

import matplotlib.pyplot as plt import numpy as np index = np.arange(6) x_data = ['2', '4', '6', '8', '16', '32'] y_data = [0.7451, 0.8464, 0.6464, 0.6964, 0.5964, 0.4864] y_data_2 = [0.4451, 0.2464, 0.3464, 0.5964, 0.8964, 0.5864] plt.errorbar(x_data, y.

ssjdoudou的博客 2万+

高通9008模式隐藏技巧:不拆机用ADB命令+Diag协议进入EDL

本文深入解析高通EDL模式(紧急下载模式)的技术原理与实战应用,详细介绍了通过ADB命令和Diag协议无需拆机进入EDL的方法。涵盖硬件/软件触发方案、跨平台工具配置、Firehose协议解析及设备救砖流程,为开发者提供从基础到进阶的完整指南。

weixin_29191761的博客 1124

python绘图工具matpoltlib的常用操作

Matplotlib 是一个用 Python 编程语言编写的、基于 NumPy 的开源数据可视化库。它提供了一套完整的兼容 MATLAB 的 API,支持各种常用的二维数据可视化、三维数据可视化以及动画制作等功能,能够轻松生成高质量的数据图表和图形。下面主要介绍其中的pyplot的常用绘图操作。常用的线条样式字符类型字符类型'-'实线'--'虚线'-.'虚点线':'点线'.'点','像素点'o'圆点'v'下三角点'^'上三角点''右三角点'1'下三叉点'2'上三叉点'3'左三叉点。

m0_60502858的博客 1956

VS Code/TRAE集成Cppcheck并启用MISRA规则

本文探讨了嵌入式开发中Cppcheck工具集成与MISRA规则检查的必要性。详细介绍了安装配置步骤:安装VSCode/TRAE、Cppcheck软件、配置插件参数、安装Python环境,并重点说明了MISRA规则文件的设置方法。通过完整的配置流程,实现了嵌入式开发环境下静态检查与安全标准的落地。

SDFangFang2025的博客 1282

基于STM32、HAL库的IP5356M_DBZ_CA快充协议芯片简介及驱动程序设计

IP5356M_BATTERY_LEVEL_25 = 1, /* 电池电量25% */IP5356M_CHARGE_STATE_CHARGE_DONE = 4, /* 充电完成 */IP5356M_CHARGE_STATE_FAST = 2, /* 快速充电 */IP5356M_CHARGE_STATE_NONE = 0, /* 无充电 */IP5356M_CHARGE_STATE_PRE = 1, /* 预充电 *//* 延时1秒 */

corlin6688的博客 1417

Python数据可视化工具matpoltlib使用

数据可视化操作,matplotlib的尖利之器。

美国梦中国心 1973

基于Qt的工业组态软件开发:图形绘制与TCP通讯实现

在数据接收时,通过 readyRead 信号触发解析函数,校验数据包完整性后提取有效数据,并更新对应图形元素的状态,例如根据温度值改变矩形的填充色,实现设备状态可视化。测试阶段,我们将软件部署到Windows工控机,连接PLC设备进行通讯测试,结果表明图形元素响应及时,TCP数据传输稳定,满足工业现场的基本需求。综上所述,基于Qt的组态软件开发,核心在于利用 QGraphicsView 框架实现图形元素的灵活绘制与管理,结合 QTcpSocket 完成工业数据的可靠交互。

谢谢大家的关注和点赞!这里只有纯纯的知识干货,没有一句废话。希望能实实在在帮到大家~要是觉得有用,别忘了给我点支持哟,你 272

Matpoltlib 1

layout: post title: ‘从一副图的绘制了解绘图的常用操作’ subtitle: ‘’ date: 2019-05-29 categories: 数据分析 cover: ‘’ tags: 数据分析 ​— 从一副图的绘制了解绘图的常用操作 1. 绘制一副普通的曲线图 默认的plot(x,y,format_string,**kwargs)方法就会绘制一副曲线图,他...

Tinuv的博客 319

人形机器人电源系统硬件开发:从原理图设计到PCB布局的完整流程

人形机器人是“移动的智能终端”,其电源系统如同“心脏+血管”:既要为大脑(主控)、肌肉(电机)、感官(传感器)提供稳定能量,又要在有限体积内应对高动态负载(如跳跃时电机瞬间大电流)。本文聚焦“硬件开发”维度,覆盖从需求分析到PCB制板的完整流程,适合硬件工程师、机器人爱好者快速掌握工程实战方法。

AI天才研究院 2174

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Python中Matpoltlib包的用法

1.引入简单绘图的包import matplotlib.pyplot as plt,最后用plt.show()显示图像 2.基本画图方法: plt.plot(x,y), plt.xlabel(‘x轴注释’), plt.ylabel(‘y轴注释’), plt.title('图像标题'), plt.legend(添加图例) plt.xlim('x轴上下限'),plt.xlim('y轴上下...

qq_42420425的博客 6042

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

matpoltlib各种图形用法及示例

matplotlib各种图形及用法

tszwjo的博客 567

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

matpoltlib各种基础图形绘制

散点图: import numpy as np import matplotlib.pyplot as plt open,high=np.loadtxt('000001.csv',delimiter=',',skiprows=1,usecols=(1,2),unpack=True) change=high-open yesterday=change[:-1] today=change[1:] plt.scatter(today,yesterday) 折线图: import numpy as np

CoderMateng的博客 313

python matpoltlib绘制动态图_Python 绘图与可视化 matplotlib 制作Gif动图

参考链接:https://blog.youkuaiyun.com/theonegis/article/details/51037850补充:若是有多个操作对象,animate里不返回也是可以的;#缩进没有严格def animate(fi):# bars=[]for i in range(algorithm_num):if len(frames_names[algorithm_list[i].__name__]...

weixin_39876592的博客 365

简单matpoltlib绘图实践

import matplotlib.pyplot as plt import pandas as pd import numpy as np plt.style.use('ggplot') data1 = pd.read_csv('tip1.csv')#引用csv文件数据作为折线图数据 data1 = np.array(data1)#放在数组内方便切片使用 data2 = pd.read_csv('tip2.csv') data2 = np.array(data2) data3 = pd.read_csv(

qq_61712022的博客 1149

matploylib的使用之动态绘图和3D绘图

文章目录matploylib的使用之动态绘图和3D绘图1.动态绘图2.3D绘图 matploylib的使用之动态绘图和3D绘图 matploylib是一种非常好用的绘图,建模工具。本文将延伸matploylib中的一些小应用。 利用animation进行动态绘图 利用mpl_toolkits.mplot3d进行3D绘图 1.动态绘图 大部分的动态绘图基于两个步骤 图像的初始化 图像的更新 ...

qq_45603919的博客 5544

数据可视化Matpoltlib

Matpoltlib

l_aiya的博客 206

python入门三剑客_python数据分析三剑客基础之matpoltlib初解

一、什么是matplotlib?python的底层绘图工具,主要做数据可视化图表,源自matplot。二、为什么要学matplotlib?1、它能将数据进行可视化,更直观的呈现出来2、它能让数据更加客观,更具有说服力三、为什么三剑客【numpy、pandas、matplotlib】我要先学matplotlib?因为其他的几个都是基于数据本身进行操作,但不具备可视化能力,所以,看不出有什么高大上的地...

weixin_39998881的博客 462

Matpoltlib && Pandas 学习笔记

全称: 'panel data' and 'python data analysis'Analy: Series(一维数据)、DataFrame(二维数据)定义: Matplotlib 是python的绘图库。Pyplot 是其子库,通用绘制2D图表,

种一棵树,最好的结果是十年前,其次是现在! 672

Matplotlib指南:从入门到出版级数据可视化

Matplotlib是Python中最强大的数据可视化库之一,提供从简单图表到出版级图形的完整解决方案。文章介绍了Matplotlib的核心优势,包括高质量输出、跨平台兼容性和丰富的图表类型。重点讲解了七步绘图法:1)创建画板(Figure);2)创建画布(Axes);3)绘制图形;4)设置坐标轴;5)添加标题图例。通过代码示例展示了线图、散点图、柱状图等多种图表实现方法,并详细说明了如何定制坐标轴、标题和图例等元素。Matplotlib的高度可定制性使其成为科研和商业数据分析的理想工具。

spinage的博客 1003

matpoltlib 动态画图

def line_many(): plt.ion()******** for i in range(100): plt.clf()********* name_list = ['0',"1","2","3","4","5","6"] num_list = [round(random.random()*100,2),round(ran...

东方佑 3万+
上一篇: Numpy学习笔记(三):排序、搜索和计数
下一篇: 可解释机器学习 Task01-导论
T4neYours
博客等级 码龄6年 8粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值