Python-Matplotlib可视化(8)——图形的输出与保存

本文介绍了如何使用Python的Matplotlib库将图形保存为PNG、PDF或SVG文件,重点讲解了如何控制图形的透明度、输出分辨率以及制作包含图形的HTML页面。通过实例展示了透明背景PNG的生成、HTML页面中图形的嵌入以及不同DPI设置对图形大小的影响。此外,还涵盖了矢量图像的生成,如PDF和SVG格式,以实现无损缩放。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

Matplotlib是Python的绘图库,它提供了一整套和 matlab 相似的命令 API,可以生成你所需的出版质量级别的图形。Matplotlib可以将任何图形渲染为各种常见的文件格式,如PNG、EPS、SVG和PDF。默认情况下,图形显示时带有简约的用户界面,可以通过保存按钮将图形保存到文件中。但是,如果需要生成大量的图形,这种方法并不方便,因此我们需要使用函数自动化保存生成的图形文件。在本文中,我们将探讨Matplotlib的文件输出功能。除了以编程方式生成文件输出外,我们还将学习如何控制输出的分辨率和大小以及透明度等。

生成PNG图片文件

实际使用场景下,我们可能希望获取程序运行过程中数据的情况,同时并不想打断程序的执行,而希望为每个运行步骤自动生成保存一张图片。Matplotlib可以灵活的将图形直接保存到图片文件中。
首先,我们将学习如何将图形输出到PNG文件。PNG文件是位图输出的理想选择,它依赖于无损压缩算法,并可以处理透明度。

import numpy as np
from matplotlib import pyplot as plt
x = np.linspace(-6, 6, 1024)
y = np.sinc(x)
plt.plot(x, y)
plt.savefig('sinc.png', c = 'c')

生成PNG图片文件

Tips:要保存图片,只需使用plt.savefig()调用替换plt.show()调用,此时将不会弹出查看图形窗口。函数plt.savefig()的工作原理与plt.show()完全相同——解释plt命令并生成图形,区别在于处理结束时所做的操作。show()函数将图片数据发送到用户界面库以进行展示,而savefig()函数将图片数据写入文件。
同时savefig()函数提供了多种可选参数,让我们继续前进,开始探索吧。

控制透明度

当图形是网站或演示文稿的一部分时,图形之间可能需要叠加显示,透明度对于这样的整合是很重要的,图形必须以一种美学上令人愉悦和一致的方式与背景融为一体。
为了演示透明性,将创建一个图形并将其嵌入到网页中,与网页背景融为一体。

使用透明背景将图形渲染为PNG文件

为了将图形渲染为透明背景的PNG文件,需要使用plt.savefig(),并将可选参数transparent设置为True

import numpy as np
from matplotlib import pyplot as plt
x = np.linspace(-6, 6, 1024)
y = np.sinc(x)
plt.plot(x, y)
plt.savefig('sinc_1.png', c = 'c', transparent=True)

使用透明背景将图形渲染为PNG文件

制作包含图形的HTML页面

在包含背景的网页上使用上一步骤中保存的PNG文件(网页背景图片background.jpg请替换为目录中存在的文件):

<html>
    <head>
        <style>
            body {
     
            background: white url(background.jpg);
            }
        </style>
    </head>
    <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

盼小辉丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值