matplotlib之pyplot模块——绘制对数线图(loglog()、semilogx()、semilogy())

Matlab图形绘制(四)极坐标图形(polar)、双轴对数坐标图形(loglog)、单轴对数坐标图形(semilogx) 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、pandas是什么? 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。 二、使用步骤 1.引入库 代码 阅读详情
AI摘要

本文介绍了matplotlib库中用于创建对数图的函数,包括loglog(), semilogx()和semilogy()。这些函数允许开发者绘制双对数图和半对数图,其中loglog()用于双对数,semilogx()和semilogy()分别用于x轴或y轴的对数尺度。此外,文章提供了源码分析和实例,展示了如何设置对数底、次级刻度和非正数值处理,并通过示例代码展示了不同函数的使用方法。

当前有效matplotlib版本为:3.4.1。

对数图

常规图表坐标轴采用算术尺度(线形尺度)。对数图即坐标轴采用对数尺度的图表。
对数图分为双对数图和半对数图,双对数图是两个坐标轴都采用对数尺度,半对数图就是一个坐标轴采用对数尺度。

matplotlib中pyplot模块的loglog()用于绘制双对数图,semilogx()、semilogy()用于绘制半对数图。这三个函数的应用非常相似,都是对plot函数的封装,plot函数的相关概念和参数这三个函数都可以应用。这三个函数的区别在于:
loglog()对于两个坐标轴都应用对数尺度。
semilogx()、semilogy()分别对x和y轴应用对数尺度。

这三个函数的签名如下:
matplotlib.pyplot.loglog(*args, **kwargs)
matplotlib.pyplot.semilogx(*args, **kwargs)
matplotlib.pyplot.semilogy(*args, **kwargs)

与plot函数相比,这三个参数额外多了3个参数,用于传递给 Axes.set_xscale和 Axes.set_yscale。

  • base:对数的底。浮点数,默认值为10。
  • subs:次级刻度的位置。序列,可选参数。
  • nonpositive:非正数值将会被屏蔽或者被修剪为非常小的正数。取值范围为{'mask', 'clip'},默认值为'mask'。
  • **kwargs:plot函数支持的所有参数。

返回值为Line2D对象列表。

源码分析

根据源码可以,这三个函数其实是结合了plot、xscale、yscale函数的功能,相当于一个快捷接口。
因此,这三个函数的应用等效于直接使用plot、xscale、yscale函数。

axes.loglog方法源码:

def loglog(self, *args, **kwargs):
    dx = {k: v for k, v in kwargs.items()
          if k in ['base', 'subs', 'nonpositive',
                   'basex', 'subsx', 'nonposx']}
    self.set_xscale('log', **dx)
    dy = {k: v for k, v in kwargs.items()
          if k in ['base', 'subs', 'nonpositive',
                   'basey', 'subsy', 'nonposy']}
    self.set_yscale('log', **dy)
    return self.plot(
        *args, **{k: v for k, v in kwargs.items() if k not in {*dx, *dy}})

案例

在这里插入图片描述

import numpy as np
import matplotlib.pyplot as plt


t = np.arange(0.01, 20.0, 0.01)

fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2)

ax1.semilogy(t, np.exp(-t / 5.0))

ax2.semilogx(t, np.sin(2 * np.pi * t))

ax3.loglog(t, 20 * np.exp(-t / 10.0), base = 2)


ax4.set_xscale("log", base = 2)
ax4.set_yscale("log", base = 2)
ax4.plot(t, 20 * np.exp(-t / 10.0))


fig.tight_layout()
plt.show()
python中怎么画对数坐标图 注意,当使用对数尺度时,数据中的零值和负值可能会导致问题,因为对数函数在这些点上未定义。如果你的数据中包含零或负值,你可能需要在绘制图形之前对数据进行处理。库来创建对数坐标图。另外,你也可以只对x轴或y轴使用对数尺度,只需将不需要的。在Python中,我们可以使用。 阅读详情

相关推荐

设置y轴坐标为对数坐标值(log2)在R语言中

R语言提供了灵活的工具来设置y轴坐标为对数坐标值,其中log2是常用的对数函数。本文将详细介绍如何在R语言中设置y轴坐标为log2对数坐标值,并提供相应的源代码示例。希望本文能够帮助你在R语言中设置y轴坐标为log2对数坐标值。接下来,我们需要创建一个散点图,并将y轴坐标设置为log2对数坐标值。在R语言中,我们可以使用ggplot2包来创建图形,并通过设置scale_y_continuous()函数来调整y轴的坐标。在本文中,我们将使用内置的mtcars数据集,其中包含了不同汽车模型的性能指标数据。

AlianBlank的博客 1005

python matplotlib绘图总结

官网教程:Plot types — Matplotlib 3.5.2 documentation 1、画线 a、常规画线: matplotlib.pyplot.plot() 该部分内容包含:(常规画线、颜色、线条风格、坐标轴标签、一图多线、图例)的设置方法。 定义: plot(*args, scalex=True, scaley=True, data=None, **kwargs) 用法: 对于一般的函数 y=f(x),可以直接绘制:plt.plot(x, y),当省略x坐标时plt....

Flag_ing的博客 4608

CPG控制网络入门

从线性变换开始推导

妖米的博客 5044

Python学习笔记(11-2):matplotlib绘图——图形绘制函数

本节主要讲解了通过matplotlib绘制各类基础图形的方法,及其对应的修饰参数等相关内容,包括:(1)基于颜色(color)、数据点标记(marker)和曲线形式(linestyle)等几个通用参数,来介绍设置参数的一些预备知识;(2)使用plot()、step()函数绘制折线图,以及三种绘制坐标对数变换图的方法; (3)绘制散点图时设置散点颜色和大小的参数方法;(4)介绍基于基础条形图、堆叠条形图和水平堆积条形图的条形图绘制方法;(5)绘制饼图的方法及其参数的设置;(6)绘制一维和二维的直方图方法;

jinwei94的博客 2万+

安卓设备安全相关技术

当前安卓设备使用的加密方案是基于Soc中一块可写入的rom实现,称为熔丝,其结果不可逆。 1、secureboot 2、AVB(Android Verify Boot) 3、dm-verity(device mapper) 4、keymaster 5、crypto 6、rpmb(replay private memory block) 7、TEE(Trust execute environment) 8、SELinux .........

weixin_43797328的博客 4838

微店构造订单页面,自动化抢票

之前的文章写过微店抢票如何构造订单页面分析,这篇文章在之前的基础上,进行抢票。

猫敷雪 7202

matplotlib-cpp 快速上手:在 C++ 标定工程中直接绘制曲线图与轨迹图

本指南以仓库 `SensorX2car/pose_sensor2car/3rdparty/matplotlib-cpp` 自带官方文档中的三个入门示例为骨架,系统讲解 matplotlib-cpp 的头文件引入、基本绘图、Eigen 向量支持与编译链接方式,并结合仓库中 pose_sensor2car(GNSS/INS 航向角标定)模块的真实调用代码,说明它如何在 C++ 标定工具链里落地。读完本

gitblog_00695的博客 195

【AI大模型:架构实战】31、工业级AI大模型系统全景解析:从架构设计到提示语引擎实践

本文系统解析了工业级AI大模型的核心架构与技术体系。整体采用分层解耦设计,包含数据工程、模型训练、模型部署、应用集成和监控运维五大核心模块,以及分布式计算、高速网络、异构硬件三大支撑体系。数据工程构建高质量数据处理流水线;模型训练实现从预训练到业务适配的全流程;模型部署优化服务性能与可用性;应用集成连接业务场景;监控运维保障系统持续优化。三大支撑能力专注于千亿参数管理、高并发低延迟处理和持续学习进化。该架构设计既满足当前需求,又为技术演进预留空间,为企业在数字化转型中提供AI工业化落地的完整解决方案。

2025博客之星Top81。专注AI工程化与架构实战。从分布式思维到模型部署,用工程化视角为你厘清AI落地的真实路径。 1990

Matplotlib对数坐标图绘制:保留原始数值标签的完整指南

在数据可视化领域,对数坐标图是处理数据跨度极大的关键工具,它通过将坐标轴刻度从等差改为等比,使得不同数量级的数据变化趋势能够清晰呈现。其技术原理在于对数值进行对数变换,从而在视觉上均匀分布多个数量级的数据点。这种方法的工程价值在于能够同时展示小数值的细微波动和大数值的整体趋势,广泛应用于用户增长分析、半导体摩尔定律、幂律分布等场景。本文聚焦于使用Matplotlib绘制对数坐标图时的一个常见痛点:坐标轴标签默认显示为对数值而非原始数据值,这会影响图表的可读性和专业性。通过深入解析Matplotlib的刻度系

搜索 471

【蓝牙协议栈】【BLE】详解蓝牙BLE连接建立过程

advertiser。发出广播的设备observer或者scanner。可以扫描广播的设备initiator。能发起连接的设备master或者central。连接成功后的主设备,即主动发起packet的设备slave或者peripheral。连接成功后的从设备,即被动回传packet的设备图11通过时间把observer,initiator和central串起来了,其实这三个角色是相互独立的,也就是说一个设备可以只支持observer角色,而不支持initiator和central角色。

风云说通信 2521

【3天快速入门WPF】从小白到新手入门教程

嘿,小伙伴们!如果你已经有一定的C#开发基础,但想快速掌握WPF开发,达到企业级水准,那接下来的这个三天快速入门计划绝对适合你!虽然听起来有点挑战,但别担心,只要跟着这个高强度、结构化的学习计划,你一定能搞定它。首先,我们得搞清楚,WPF的核心知识点到底有哪些。要想达到企业级开发水准,XAML、数据绑定、MVVM、控件使用、命令系统、样式模板这些统统都得拿下。听起来是不是有点多?别急,我们把任务分解到三天里,每天安排合理的内容,保证理论和实践相结合,让你学得扎实又高效。

Zy100Papa的博客 1423

C++ 中直接调用 matplotlib:SensorsCalibration 项目中 matplotlib-cpp 绘图库 API 全面解析与实战

matplotlib-cpp 是一个以单个头文件形式内嵌 Python 解释器、直接桥接 matplotlib 的 C++ 绘图库,在 SensorsCalibration(OpenCalib 多传感器标定工具箱)中承担着标定结果可视化的任务,例如 lidar2car 模块用它在 C++ 侧直接画出车辆轨迹与航向对比图。本文以该库官方 API 文档为主体,结合仓库内真实源码与集成方式,完整讲解其

gitblog_00522的博客 198

华为OD机试真题 新系统 2026-09-06 Python&JS【仓储货物有序出库】

某仓储中心有一个货物堆放区,货物编号按乱序堆叠存放,只能从顶部取货,管理员需要将货物按编号从小到大取出。

MISAYAONE的博客 116

matplotlib-cpp 完全指南:在 C++ 中直接调用 matplotlib 绘图(SensorsCalibration 集成实战)

本篇文章围绕 SensorsCalibration 仓库中 [matplotlib-cpp 文档](https://link.gitcode.com/i/3876aec580be9c048e85c75164af543c) 展开,系统讲解这一"单头文件、极简 C++ 绘图库"的编译配置、核心 API、线条样式语法与常见问题排查。该库以 Python matplotlib 为后端,在自动驾驶多传感器标

gitblog_01022的博客 747

codex出现Reconnecting和stream disconnected before completion:stream closed before response.complete解决方案

本文主要介绍了在使用codex过程中出现Reconnecting和stream disconnected before completion: stream closed before response.completed的解决方案,希望能对使用codex的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 9万+

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Matplotlib绘图全攻略:从基础概念到实战技巧

数据可视化是数据分析与工程实践中不可或缺的一环,它帮助我们将抽象的数字转化为直观的图形,从而洞察趋势与规律。在Python生态中,Matplotlib作为最基础、最常用的可视化库,承担着绘制折线图、散点图等核心图表的重任。理解其核心对象模型——Figure(画布)、Axes(绘图区域)与Axis(坐标轴)的层级关系,是进阶使用的前提。通过面向对象接口,我们可以灵活定制标题、坐标轴刻度、图例及网格线,并应对多子图布局、对数坐标轴等复杂需求。此外,中文字体配置与图片保存分辨率也是实际工程中高频踩坑点。无论你是刚

weixin_32075843的博客 171

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

proxy_pool 代理池搭建教程:5分钟跑通并自建免费 IP 池

写爬虫绕不开 IP 被限流的问题,同一台机器频繁请求目标站点很快就会被封。手动去免费代理网站翻 IP、逐个试可用性又费时费力,翻到的还多半是死的。proxy_pool 就是为了解决这件事:自动从十几个公开源抓取免费代理 IP,逐个验证可用性,把活下来的存进 Redis,你的爬虫通过 HTTP 接口随取随用。本文带你从拉代码到服务器部署完整走一遍,适合爬虫开发者和想自建代理池的新手。 ## 一分钟

gitblog_01141的博客 259

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

观鸟新手零基础入门:跟着 huashu-bird-sticker 看懂44目250科的鸟类分类体系

观鸟新手入门,最先卡住人的往往不是望远镜,而是**鸟类分类体系**——"目""科"到底是什么?全世界的鸟到底分成多少类?开源项目 **huashu-bird-sticker** 是一个全球鸟类贴纸库:它为全部 11,011 种现生鸟类绘制了透明底贴纸,并配上 **43 种语言的鸟名**和完整的结构化数据,正好可以当作一本"看得懂的分类图鉴"来用。 [![观鸟新手入门:huashu-bird-st

gitblog_00865的博客 206

downkyi已关停:B站批量下载视频还能怎么办

downkyi 曾是支持 B 站批量下载、最高 8K 与 HDR/杜比视界画质的开源视频下载工具,2026 年 7 月因平台方律师函被要求永久关停,仓库内代码已全部移除。本文带你核对仓库现状、评估旧版本风险、接管已下载的本地素材,并给出关停后的替代路径。 ## 🎬 一、它解决过什么问题:四个真实场景 先看这四个场景,判断你属于"需要迁移方案"还是"只需清理现场": - **离线播放**:高

gitblog_00770的博客 198

深入理解magnitude:量级、幅值与范数的工程实践

在科学计算与工程实践中,'量级'(magnitude)是一个看似简单却极易混淆的概念。它并非仅表示'大小',而是描述强度、幅值、能量等物理量的尺度关系。许多行业依赖对数标度来压缩巨大动态范围,如地震震级、声音分贝与天体星等。在数学上,矢量模长、复数幅值均通过平方和的平方根计算,这正对应L2范数。理解magnitude的原理,既能规避数值溢出与归一化错误,也是信号处理、机器学习调参和故障诊断的基石。对海量数据而言,正确计算幅值与量级可显著提升特征提取的可靠性。本文从数学定义出发,结合地震、天文、音频与数据科学

weixin_33796177的博客 305

python pos函数用法_Python Matplotlib.pyplot.semilogx()用法及代码示例

数据可视化是分析数据的重要部分,因为绘制图形有助于更好地了解和理解问题。 Matplotlib.pyplot是执行此操作的最常用的库之一。它有助于创建有吸引力的数据,并且超级易于使用。Matplotlib.pyplot.semilogx()函数此功能用于以x轴转换为对数格式的方式显示数据。当参数之一非常大并因此最初以紧凑方式存储时,此功能特别有用。它支持plot()和matplotlib.axes...

weixin_39616071的博客 2895

【python学习】matplotlib绘制对数坐标图(保留原数值)

在科研生活中,有时遇到变量数值相差较大,绘制在图上看着不清晰也不美观,因此一般可以绘制对数坐标图。但很多人对这种图的理解有偏差,以为是自己在处理数据时,先计算数据的对数值,再将计算后的对数值进行绘图。这是不专业的做法。对数图的核心在于保留原数据,但坐标内部自行进行对数化,正确的对数图其坐标值显示的仍是原数据,而不是数据的对数值。

袁家瑜的博客 1万+

(Python)在Matplotlib中对图像坐标轴进行log转换

3. nonpositive, 对非负值的处理,因为只有正数可以取log, 如果原始值为负值,此时有两种处理方式,第一种是丢掉这个点,也是默认的处理方式,对应该参数的值为mask, 在图中不显示这个点,第二种是将这个值调整为最接近的正数,对应该参数的取值为clip。对于跨度很大其分布离散的数据,常用log转换来缩写其差距,呈现在图上的效果也更好,比如在绘制转录组的表达量数据时,常用log转换之后的值进行绘制。semilogx函数只对x轴的值进行log转换,先来看下不转换时的效果,代码如下。

Hanlin的博客 4588

Matplotlib系列(三):坐标轴变换及注释

文章目录一、 简介二、 思维导图三、 坐标轴变换及注释1. 坐标轴变换1.1 极坐标系1.2 对数坐标系1.3 地图坐标系1.4 坐标轴双坐标2. 注释2.1 引线标注2.2 文本2.3 箭头2.4 表格2.5 公式 一、 简介 ‎matplotlib有强大的变换功能,并提供了预定义的极坐标、对数坐标等坐标系。 ‎matplotlib还有丰富的文本和箭头注释功能,可以方便的在指定位置添加注释,并且注释文本支持latex公式。 Matplotlib系列将Matplotlib的知识和重点API,编制成思维导

hustlei的专栏 4946

python画图线条、样式设置

线型及颜色控制 参考资料:overflow:线条标记样式 标记:marker ================ =============================== character description ================ =============================== - solid...

北巷的猫 2万+

Python绘图坐标系映射,对数坐标系

在实际绘图时,如果$x,y$这两轴的数据变化速率相差过多,线性的坐标映射将无法展示图形变化的细节,就需要更改坐标系的数字映射逻辑,以获得更具细节的图像。

微小冷的学习笔记 2386
上一篇: matplotlib之pyplot模块——为柱状图添加数据标签(bar_label())
下一篇: matplotlib之pyplot模块——获取/设置对象属性值(setp()、getp/get())
mighty13
博客等级 码龄23年 728粉丝 438原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值