当前位置: 首页 > 面试题库 >

在matplotlib中栅格化多个元素

宗政坚白
2023-03-14
问题内容

rasterized=True使用pdf输出中的关键字对图中的多行进行栅格化时,我遇到问题。一些版本信息:

  • matplotlib版本1.1.1rc
  • Ubuntu 12.04
  • python 2.7.3

这是一个演示我的问题的基本示例:

# Import matplotlib to create a pdf document
import matplotlib
matplotlib.use('Agg')
from matplotlib.backends.backend_pdf import PdfPages
pdf = PdfPages('rasterized_test.pdf')

import matplotlib.pylab as plt

# some test data
import numpy as np
ts = np.linspace(0,2*np.pi,100) * np.ones((200,100)) 
ts += (np.linspace(0, np.pi, 200)[np.newaxis] * np.ones((100,200))).T
ys = np.sin(ts)

fig = plt.figure() 
ax = fig.add_subplot(111)
ax.plot(ts[0], ys.T, color='r', lw=0.5, alpha=0.5, rasterized=True)
pdf.savefig()

pdf.close()

本质上,我有很多(在这种情况下为200)紧密重叠的线,这使得生成的图形(未栅格化)过于困难。我想对这些线进行栅格化,以使轴标签(以及图中的其他元素,未显示)仍然是矢量,而求解轨迹被展平为单个栅格背景。但是,使用上面的代码,由于每个轨迹都被独立栅格化,因此图像仍然需要很长时间加载,从而导致多层。(如果使用诸如inkscape之类的程序打开生成的pdf,则可以独立地操纵每个轨迹。)

是否可以将所有栅格化的元素展平为单个图层,所以pdf大小会大大减小吗?

谢谢!


问题答案:

将代码更改为:

ax = fig.add_subplot(111, rasterized=True)
ax.plot(ts[0], ys.T, color='r', lw=0.5, alpha=0.5)


 类似资料:
  • 在计算皮尔逊相关性时,下面的脚本对我来说也适用于相同的数据。我最近对其进行了调整,创建了一个协方差矩阵,以输入到pca中。我在论坛上读到,输入预先创建的协方差矩阵可能会避免记忆问题,但我的情况并非如此。运行协方差矩阵时,我会出现以下错误: 有人能提出一个更有效的方法来做到这一点,这样我就不会遇到内存问题了吗?如果我在计算协方差方面完全偏离了基础,那很好。PCA是我最终唯一需要的东西。我的数据是12

  • Framework7 有灵活的布局网格,允许你按需求放置内容: <!-- Each "cells" row should be wrapped with div class="row" --> <div class="row"> <!-- Each "cell" has col-[widht in percents] class --> <div class="col-50">50

  • 本文向大家介绍R加载多层栅格,包括了R加载多层栅格的使用技巧和注意事项,需要的朋友参考一下

  • 栅格系统简介: MUI 提供了非常简单实用的12列响应式栅格系统。使用时只需在外围容器上添加.mui-row,在列上添加 .mui-col-[sm|xs]-[1-12],即可 栅格参数: 尺寸 超小屏幕(<400px)(Extrasmall) 小屏幕(≥400px) Small 类前缀 .mui-col-xs-[1-12] .mui-col-sm-[1-12] 列(column)数 12 可嵌套

  • 定义 栅格布局组件。 图片展示 代码演示 import Grid from 'pile/dist/components/grid' <Grid flexCells> <div></div> <div></div> </Grid> 属性 参数 描述 数据类型 默认值 flexCells 是否flex布局 true

  • 我正在使用顺风CSS,并试图建立一个网格,使某些单元格内容跨越多个单元格,而其他项目留在单个单元格。在下面的代码中,我试图展示我正在尝试完成的事情。我知道我的col-span-2班什么也没做,但我把它放在那里是为了表明我希望我能做什么。我想让所有的单元格都是相同的宽度(我只想让一些单元格内容跨越分隔线)。我需要某种覆盖逻辑吗? 感谢任何帮助。 谢谢!

  • 我开发了一个应用程序。我在那份申请中有一个问题 我想将scrollview添加到tableview单元格中。我使用下面的代码创建了tableview单元格。 这里是我的自定义单元格类 在现有casescustomcell的init方法中,我添加了滚动视图,其中子视图为4个按钮(buttonEdit、buttonShare、ButtonAnd和buttonDelete)。最初,scrollview处

  • 我想沿着光栅化圆弧迭代像素,给定它的半径,以弧度表示的开始角和结束角,例如: 如: 有几个陷阱: null 蓝色像素已被访问,红色像素是下一个要访问的像素 圆弧由两条由起始角/结束角定义的径向线和两条圆弧之间的扇区,限制。 最后,如果画出半径为0到100的每一个圆弧,角度为0到2*pi,那么我们将得到一个半径为100的填充圆盘/圆圈,并且没有像素会被访问两次。 我认为Bresenham的圆算法不直