查看原文
其他

改善matplotlib在jupyter内的渲染效果

大邓 大邓和他的Python
2024-09-09

标量(位)图

matplotlib能绘制出美观的图,是一个挺好用的绘图包,但是在jupyter内渲染的图很丑,有种模糊感

import matplotlib.pyplot as plt
import numpy as np

# Data for plotting
t = np.arange(0.02.00.01)
s = 1 + np.sin(2 * np.pi * t)

fig, ax = plt.subplots()
ax.plot(t, s)

ax.set(xlabel='time (s)', ylabel='voltage (mV)',
       title='About as simple as it gets, folks')
ax.grid()

plt.show()


矢量图

实际上,jupyter notebook内加上一行配置,就能让matplotlib输出矢量图(放大缩小不改变图片样子)。

%config InlineBackend.figure_format = 'svg'

配置后,浏览器会渲染出更精细化的图,如下图所示

import matplotlib
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
%config InlineBackend.figure_format = 'svg'



# Data for plotting
t = np.arange(0.02.00.01)
s = 1 + np.sin(2 * np.pi * t)

fig, ax = plt.subplots()
ax.plot(t, s)

ax.set(xlabel='time (s)', ylabel='voltage (mV)',
       title='About as simple as it gets, folks')
ax.grid()

plt.show()

图片变的细致,模糊感消失了。


保存

savefig可以保存为.pdf、.eps、 .svg .png等不同格式文件。其中.pdf 或者 .eps 能方便地插入到 latex 中!

import matplotlib
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
%config InlineBackend.figure_format = 'svg'



# Data for plotting
t = np.arange(0.02.00.01)
s = 1 + np.sin(2 * np.pi * t)

fig, ax = plt.subplots()
ax.plot(t, s)

ax.set(xlabel='time (s)', ylabel='voltage (mV)',
       title='About as simple as it gets, folks')
ax.grid()

#矢量图svg
plt.savefig(fname='三角函数图.svg')

#标量图设置dpi高一点,输出的图精致一些
#plt.savefig(fname='三角函数图.png', dpi=300)
#plt.savefig(fname='三角函数图.pdf', dpi=300)
#plt.savefig(fname='三角函数图.svg', dpi=300)


精选文章

长期征稿 | 欢迎各位前来投稿

从符号到嵌入:计算社会科学的两种文本表示

推荐 | 社科(经管)文本分析快速指南

使用cntext训练Glove词嵌入模型

Asent库 | 英文文本数据情感分析

扩增内置pkl | 欢迎各位向cntext库分享情感词典

cntext库 | 关于DUTIR被污染解决办法

近年《金融研究》使用文本分析论文汇总

EmoBank | 中文维度情感词典

sklearnex库 | 两行代码百倍加速你的机器学习代码

认知的测量 | 向量距离vs语义投影

Wordify | 发现和区分消费者词汇的工具

视频专栏课 | Python实证指标构建与文本分析

LIWC vs Python | 文本分析之词典统计法略讲(含代码)

PNAS | 文本网络分析&文化桥梁Python代码实现

Wordify | 发现和区分消费者词汇的工具

BERTopic库 | 使用预训练模型做话题建模

tomotopy | 速度最快的LDA主题模型

管理世界 | 如何用文本分析度量管理层短视主义

管理世界 | 使用中文LM金融词典做管理层语调分析

管理世界 | 使用中文LM金融词典做管理层语调分析

文本分析 | 中国企业高管团队创新注意力(含代码)

近年《管理世界》《管理科学学报》使用文本分析论文

100min视频 | Python文本分析与会计


继续滑动看下一个
大邓和他的Python
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存