透视Matplotlib核心功能和工具包 - 不同图形格式

2023-10-29

Matplotlib创建的报告和仪表板可以以不同的方式使用。 它们可以在上游Web应用程序中使用,也可以以PDF文件的形式分发,还可以嵌入到GUI工具箱中或在线交互式地使用。

在此,我们将学习如何以各种格式保存报告,以便可以将它们分发给使用者以直接使用(如PDF格式),也可以嵌入到其他应用程序(例如GUI工具箱)中。

不同格式保存图形

Matplotlib支持PNG,SVG,SVGZ,PDF,PS和EPS格式以保存图形。 我们需要在计算机上拥有各自的阅读器,才能查看这些输出格式。 在本文中,我们将学习如何以所有这些格式保存直方图。

导入所需库:

import matplotlib.pyplot as plt
import numpy as np

以下代码块绘制直方图并将其保存为Matplotlib支持的所有格式:

  • 设置可重复性的种子,并使用大小定义图形:
np.random.seed(19681211)
plt.figure(figsize=(6,4))
  • 定义直方图的数据,对其进行绘制,然后将ylabel设置为直方图:
nd = np.random.normal(25, 5, 10000)
plt.hist(nd)
plt.ylabel('histogram')
  • 创建所有受支持的文件扩展名的列表:
file_ext = ['png', 'pdf', 'svg', 'svgz','eps','ps']
  • 使用for循环将图形保存为以下每种文件格式,然后在屏幕上显示图形:
for extension in file_ext:
  print('saving Histogram.%s ' % (extension))
  plt.savefig('Histogram.%s' % (extension), dpi=300)
plt.show()

分解代码

  • plt.hist(nd) 使用随机生成的nd数据绘制直方图。
  • plt.ylabel(‘histogram’)将y轴标记为直方图。
  • file_ext是所有支持的文件格式的列表。
  • for循环显示所有格式保存的格式。
  • plt.savefig()用名称Histogram.file_ext保存图形,例如Histogram.png,Histogram.pdf等。
  • plt.savefig()与在屏幕上显示图形的plt.show()类似,而plt.savefig()将图形以指定格式发送到工作目录。

您可以在同一个会话中使用这两种方法,就像我们在此处所做的那样,以便它将指定格式的文件保存到工作目录中,并在屏幕上显示该文件。

您可以打开保存在工作目录中的文件并查看保存的图形的外观时,我们已裁剪了PDF,SVG和PNG格式的图像,并在此处显示以供参考。 打开并查看相应的文件时,应该看到以下屏幕截图:

请注意,标题不属于所保存的数字; 它们已添加到图像上,以显示哪个图像属于哪种输出格式。

图略

保存图形时避免截断

保存部分图形

管理图像分辨率

管理Web应用程序的透明度

创建多页PDF报告

详情参阅 - 亚图跨际

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

透视Matplotlib核心功能和工具包 - 不同图形格式 的相关文章

  • 我可以在 matplotlib 中的绘图左侧放置一个垂直颜色条吗?

    来自颜色条方法的 matplotlib 命令摘要 http matplotlib org api pyplot api html highlight colorbar matplotlib pyplot colorbar我知道关键字参数or
  • matplotlib vlines 图中未应用 y 轴的最小值

    我正在 matplotlib 中绘制 vlines 图 数据集中的所有 y 值如下 gt 0 我希望 y 轴最底部的刻度能够读取0 但相反 我得到 500 这是代码 usr bin env python import numpy as np
  • matplotlib 中 plt.plot() 的第三个参数有什么作用?

    plt plot 通常接受 x y 和格式 但是 如果我将第三个参数作为数据传递 则会绘制另一条线 我无法理解其中的关系 x np linspace 0 10 5 plt plot x x x label linear plt grid C
  • pick_event 使用 matplotlib 获取点

    我正在尝试使用pick event通过单击鼠标直接访问点的精确值 def plot self x values list y values list def pick handler event x y event mouseevent x
  • 垂直线 axvline 在 matplotlib 的 loglog 图中绘制位于错误位置的线

    我在使用 axvline 在 matplotlib 的 loglog 图中绘制垂直线时遇到问题 第一个问题是垂直线没有出现在正确的位置 第二个问题 可能相关的是 当我放大或平移绘图时 垂直线只是保持在原位 并且没有通过平移 滑动绘图 或放大
  • 读取 CSV 并绘制彩色折线图

    我正在尝试在阈值之前和之后绘制带有彩色标记的图表 如果我使用 for 循环for随着时间的推移读取解析输入文件H M我只能绘制和着色两个点 但对于所有的点我无法绘制 Input akdj 12 00 34515 sdfg sgqv 13 0
  • 如何在matplotlib中控制鼠标悬停文本

    当您将鼠标悬停在使用 imshow 显示的图像上时 您可以将鼠标悬停在该图像上以检查其 RGB 值 matplotlib 窗口的右下角 与工具栏共享空间 显示了所指向像素的图像坐标和 RGB 值 x 274 99 y 235 584 241
  • matplotlib 中矩形面片之间存在不需要的空间

    以下代码绘制两个红色矩形 红色矩形应该彼此相邻 之间没有空间 在 python 图中 这是可以的 在导出的 pdf 中 矩形之间有一个细长但明显的空白 有什么方法可以解决这个问题吗 import matplotlib pyplot as p
  • 如果值小于零,则更改条形图的颜色并填充空白

    我创建了一个数据框 df tail 20 Speed 130 0 000272 131 0 000219 132 0 000178 133 0 000234 134 0 000261 135 0 000281 136 0 000244 13
  • 在 Python 的 matplotlib 中使用时间序列的百分位数设置颜色渐变

    我有一个时间序列 在一年的数组大小 365 10000 中 变量的每日值将超过 10 000 个 因为我将拥有大量数据 许多变量的许多时间序列 所以我希望仅保存百分位数 0 10 20 90 100 并在稍后的图中使用它们来设置颜色渐变显示
  • Python 3.x 中的绘图

    在Python 2 6中 我使用matplotlib制作了一些简单的图表 但是 它与 Python 3 1 不兼容 有哪些替代模块可以完成相同的事情而不非常复杂 您说您想创建一些简单的图表 但没有真正说明您想要多简单或哪种类型的图表 只要它
  • python 中 matlibplot 中散点图的缩放轴

    我正在使用 matlibplot 进行数据可视化 我的绘图共有 6502 个数据值 运行良好 但值接近且密集 例如 我的 y 轴值范围在 3 到 10 之间 我需要清楚地获取它们之间的每个点 即像 9 2 和 9 8 这样的值至少要以 1
  • 如何使绘图的 xtick 标签成为简单的绘图?

    我不想用单词或数字作为 x 轴的刻度标签 而是想绘制一个简单的绘图 由直线和圆圈组成 作为每个 x 刻度的标签 这可能吗 如果是这样 在 matplotlib 中处理它的最佳方法是什么 我会删除刻度标签并将文本替换为patches http
  • Matplotlib:以数据坐标中给定的宽度绘制线条

    我试图弄清楚如何绘制具有数据单位宽度的线条 例如 在下面的代码片段中 我希望宽度为 80 的线的水平部分始终从 y 40 延伸到 y 40 标记 并且即使坐标系的限制也保持这种状态改变 有没有办法用 matplotlib 中的 Line2D
  • 在 folium 中显示栅格数据(不处理任何数据值)。

    我正在尝试使用 folium 显示栅格类型数据 numpy 数组 这是我到目前为止所拥有的 import folium from folium plugins import ImageOverlay import numpy as np f
  • 使用自定义颜色渐变填充两条线之间的区域

    我正在做一项几乎已经完成的作业 但我想对其添加一些小改动 尝试使用基于温度的颜色图而不是简单的颜色来填充两条线之间的区域 绘制线条的方式本质上使它们成为独立的实体 所以我知道我可能需要两个彼此相遇或重叠的颜色图来完成此任务 但我不太确定如何
  • Seaborn:带有边缘直方图的 kdeplot

    我正在使用一个kdeplot https seaborn pydata org generated seaborn kdeplot html绘制两个二元分布的密度 如下所示df c and df n有两个 Pandas DataFrame
  • 无法将图形另存为 .eps [gswin32c 无法识别]

    我使用Pylab 64位 的Enth tough冠层 在我的报告中 我需要使用乳胶 Xelatex 并使用matplotlib完成图 为了获得第一个想法 我刚刚复制了第二个示例http matplotlib org users usetex
  • 绘制方程

    我正在尝试创建一个函数 它将绘制我告诉它的任何公式 import numpy as np import matplotlib pyplot as plt def graph formula x range x np array x rang
  • 每个 X 具有多个 Y 值的 Python 散点图

    我正在尝试使用 Python 创建一个散点图 其中包含两个 X 类别 cat1 cat2 每个类别都有多个 Y 值 如果每个 X 值的 Y 值的数量相同 我可以使用以下代码使其工作 import numpy as np import mat

随机推荐

  • Failed to start component [StandardEngine[Catalina].StandardHost[localhost]

    文章目录 tomcat启动springMVC项目时报Failed to start component StandardEngine Catalina StandardHost localhost 错误 tomcat启动springMVC项
  • Python_文件夹copy程序代码

    import os import multiprocessing def copy file queue file name old folder name new folder name 完成文件的复制 print 模拟文件复制 从 s
  • 2020工业互联网产业研究报告 附下载地址

    按照官方定义 工业互联网指的是第一代网络信息技术与制造业深度融合的产物 是实现产业数字化 网络化 智能化发展的重要基础 设施 在中国 新基建 中属于新型通信基础设施的范畴 通过人 机 物的全面互联 全要素 全产业链 全价值链的全面链接 推动
  • Unity2021与MRTK2.8搭建hololens2环境

    准备工作 Unity2021 Visual Studio2019 混合显示功能工具 下载地址 Download Mixed Reality Feature Tool from Official Microsoft Download Cent
  • PyQt5开始入门

    PyQt5开始入门 1 使用 Qt designer 1 1 配置Qt designer外部工具 两种方式 1 2 配置PyUIC外部工具 1 3 添加入口main运行结果 2 简单的窗口 2 1 带窗口图标 2 2 提示框 2 3 关闭窗
  • 408知识点-操作系统

    操作系统原理 408系列参考王道2021系列书籍 文章目录 操作系统原理 前言 绪论 进程管理 内存管理 文件管理 I O管理 总结 前言 今天正式放假 虽然已经咸鱼了三周了 考研初试结束 把我记在我的笔记本上的东西搬上来分享一下 里面有一
  • Python Web不知道怎么学?看这篇就够了!

    Python有很多作用 接触过python的朋友肯定知道其几乎无所不能 前端 后端 数据 ML AI 自动化 爬虫 数据分析 人工智能等等 第一阶段 Python入门 框架再怎么变 基本语法不会变 基础中的基础 数据类型 循环判断 常用模块
  • 2D地图tile纹理自动拼接算法

    2D地图tile纹理自动拼接算法 文章目录 2D地图tile纹理自动拼接算法 前言 基本算法 RPGMaker MZ中的转换 扩展 前言 如果你玩过RPGMaker MZ之类关卡编辑器的 可能对地图纹理的自动拼接印象比较深刻 本文将详细介绍
  • 批处理set命令变量与等号之间不要加空格

    前两天写一个打包脚本 MyEclipse打不出来包了 使用set设置变量的时候 发现变量总是空 网上查了半天也没找到答案 后来突然发现网上的写法都是等号紧跟变量名后面 将空格去掉试了一下 果然起作用 平常写java习惯在变量名和操作符见加一
  • 网络安全行业要“变天”了

    编辑丨大兔 时至今日 网络攻击的种类日新月异 而伴随着物联网 工业网互联网等场景的变化 技术也正在飞速发展 攻与防的较量水平正变得越来越高 在行业从业者看来 网络攻击的潜在威胁是巨大的 在触网企业中 虽对安全有所耳闻 但均止步于拗口的专业词
  • 【XGBoost】第 3 章:随机森林装袋

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • 了解XSS攻击与CSRF攻击

    什么是XSS攻击 XSS Cross Site Scripting 跨站脚本攻击 是一种常见的网络安全漏洞 它允许攻击者在受害者的浏览器上执行恶意脚本 这种攻击通常发生在 web 应用程序中 攻击者通过注入恶意脚本来利用用户对网站的信任 从
  • 【信号用指数、正弦和余弦表示的原因】

    1 正弦 虚数和指数之间的联系 2 指数和正余弦由泰勒公式联系起来
  • 全网最全的微服务+Outh2套餐,Gateway整合Oauth2!(入门到精通,附源码)满足你的味蕾需要(三)

    上篇文章主要讲解Oauth2模块 user service模块 feign模块 那么作为重中之重的gateway 我们将其做成资源服务器来进行开发 一 资源服务器的实现方式 资源服务器在实际开发有两种实现方式 1 gateway做网关转发
  • LaTex学习笔记(书籍的基本实现)

    1 书籍的首页 书籍首页应该是标题与作者 生成代码如下 在正文区输入 title 书籍名称 书籍名 author 作者名称 作者名 date 指令用于删除日期 maketitle 标题结束 eg 若想删除日期 需在标题结束指令 maketi
  • 简述泵站计算机监控主要功,泵站设备安全运行监视有哪些?

    强化中控室监控系统对泵站设备的安全运行监视 是发挥其监视作用的重要内容 安全运行监视主要包括 1 设备状态监视 泵站工彻勺运行需要设备的安全工作 因此作为泵站监视系统的核心 要准确对设备白训犬态进行监视二首先要月豺目关的设备固矛清况与中控室
  • Failed to restart network.service: Unit network.service not found

    在配置完网络设置时重启时会出现这个问题 原因是和NetworkManager 服务有冲突 解决办法就是关闭NetworkManager然后重启一下Network服务 service NetworkManager stop 关闭Network
  • 创新奇智上市:是李开复心血之作 揭秘背后的塔尖孵化模式

    雷递网 雷建平 1月27日报道 青岛创新奇智科技集团股份有限公司 股份代号 2121 简称 创新奇智 今日在港交所上市 发行价为26 30港元 募资净额10 7亿港元 创新奇智开盘价与发行价持平 以开盘价计算 创新奇智市值超140亿港元 创
  • 用免费的谷歌GPU训练神经网络

    前提是先得注册一个google邮箱 再用该邮箱注册一个谷歌云盘 或者直接用这个谷歌邮箱就可以登陆云盘 1 云盘 网址应该是这个 https drive google com drive 不行就试一下这个 https drive google
  • 透视Matplotlib核心功能和工具包 - 不同图形格式

    Matplotlib创建的报告和仪表板可以以不同的方式使用 它们可以在上游Web应用程序中使用 也可以以PDF文件的形式分发 还可以嵌入到GUI工具箱中或在线交互式地使用 在此 我们将学习如何以各种格式保存报告 以便可以将它们分发给使用者以