温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何使用Python数据可视化JupyterNotebook绘图生成高清图片

发布时间:2021-09-26 13:37:52 来源:亿速云 阅读:260 作者:柒染 栏目:开发技术

本篇文章给大家分享的是有关如何使用Python数据可视化JupyterNotebook绘图生成高清图片,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

最近有小伙伴问了个问题:如何在jupyter notebook,用Matplotlib画图时能够更“高清”?

先举个小例子,用 Matplotlib 绘制极坐标图:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
 
s = pd.Series(np.arange(20))
fig = plt.figure(figsize=(8, 4))
ax = plt.subplot(111, projection='polar')
ax.plot(s, linestyle='--', marker='.', lw=3)
plt.savefig("temp.png")

如何使用Python数据可视化JupyterNotebook绘图生成高清图片

打开保存到当前工作目录里的temp.png,放大之后就会发现确实“像素略渣”

如何使用Python数据可视化JupyterNotebook绘图生成高清图片

一些小伙伴可能会说,那我修改图像像素尺寸不就行了。

确实可以,不过要记得同时修改所有的像素尺寸,而不是只改图像大小,否则就会像下面一样????

如何使用Python数据可视化JupyterNotebook绘图生成高清图片

我们可以在保存图像时,增加一些参数。

比如dpi就是分辨率,每英寸的点数。

s = pd.Series(np.arange(20))
fig = plt.figure(figsize=(8, 4))
ax = plt.subplot(111, projection='polar')
ax.plot(s, linestyle='--', marker='.', lw=3)
plt.savefig("temp_1.png", dpi=500, bbox_inches='tight')

另一个参数bbox_inches: 只有图形给定部分会被保存。设置为“tight”用以恰当的匹配所保存的图形。

这样生成的图像就足够高清了。

如何使用Python数据可视化JupyterNotebook绘图生成高清图片

想让图像高清,还有另外一种方法。

之前跟大家介绍过一些魔法命令,比如%matplotlib inline 可以在Ipython编译器里直接使用,功能是可以内嵌绘图,并且可以省略掉plt.show()这一步。

我们可以再增加一行配置,就能让 Matplotlib 在 Jupyter Notebook 上面输出高清矢量图了。

%config InlineBackend.figure_format = 'svg'

输出的格式是svg,这样浏览器就可以渲染出矢量图了。

如何使用Python数据可视化JupyterNotebook绘图生成高清图片

更改保存格式,就得到了高清的矢量图。

如何使用Python数据可视化JupyterNotebook绘图生成高清图片

第二种方法使用了Jupyter notebook 中的魔法命令,可以设定显示图片的分辨率。

同样的参数设置还有:

%config InlineBackend.figure_format = "png"
%config InlineBackend.figure_format = "svg"
%config InlineBackend.figure_format = "retina"

在分辨率较高的屏幕(例如 Retina 显示屏)上,Jupyter Notebook 中的默认图像可能会显得模糊。

可以在 %matplotlib inline 之后使用%config InlineBackend.figure_format = "retina"

来呈现分辨率较高的图像。

以上就是如何使用Python数据可视化JupyterNotebook绘图生成高清图片,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI