使用Matplotlib将图形保存到文件时为空pdf文件

苦恼者

我正在尝试将图形保存到pdf使用matplot,Python 2.7和Windows 7的系统中。我可以将图形另存为a .png,但是当我尝试将其另存为.pdf时,文件为空白。这是一些示例代码:

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.backends.backend_pdf import PdfPages

x = [1, 2, 3, 4, 5]
y = [6, 7, 8, 9, 10]

linewidthPlot = '2'
linestylePlot = '-'
markerPlot = 'o'
colorPlot = 'b'

xlabel = 'x'
ylabel = 'y'
title = 'x v y'

# Plot the data using matplot.
fig1 = plt.figure()
ax1 = fig1.gca()
line1, = plt.plot(x, y, linewidth=linewidthPlot,
                  linestyle=linestylePlot, marker=markerPlot, color=colorPlot)

axisScale = 0.05
xmin = min(x) - (axisScale * (max(x) - min(x)))
xmax = max(x) + (axisScale * (max(x) - min(x)))
ymin = min(y) - (axisScale * (max(y) - min(y)))
ymax = max(y) + (axisScale * (max(y) - min(y)))
plt.axis([xmin, xmax, ymin, ymax])
ax1.ticklabel_format(useOffset=False)
plt.grid()

# Add a legend.
first_legend = plt.legend([line1], ["data"], loc=1, numpoints=1)

# Label the axes.
plt.xlabel(xlabel)
plt.ylabel(ylabel)
plt.title(title)

#pp = PdfPages("discard1.pdf")
#plt.savefig(pp, format='pdf')
#pp.close()
plt.savefig('discard1.png')
plt.show()

这段代码有效,但是当我将文件名更改为discard1.pdf或使用该PdfPages函数生成multipagePDF时,最终得到一个空白文件。有人知道如何解决此问题吗?

苦恼者

对于他人的教育:

正如Martin Evans指出的那样,这是Adobe Reader和其他一些pdf阅读器无法查看由matplotlib创建的pdf数字的问题。

解决方案是在以下位置将linewidthPlot ='2'更改为linewidthPlot = 2:

line1, = plt.plot(x, y, linewidth=linewidthPlot,
              linestyle=linestylePlot, marker=markerPlot, color=colorPlot)

也许应该将其报告为错误?

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从javascript请求将matplotlib图形保存到jpeg文件?

将matplotlib子图图形保存到图像文件

在Matplotlib中将多个图形保存到一个pdf文件

一次将所有打开的matplotlib图形保存到一个文件中

Python将多个图形保存到一个PDF文件中

Python - 将 PDF 文件保存到磁盘

将OpenHTMLtoPDF内容保存到PDF文件

将LibreOffice中的文件保存到.pdf

JavaFX - tableview 显示数据,但保存到文件时,文件为空

Matlab将图形保存到图像文件的问题

从 cron 作业将图形保存到本地文件夹

将图形消息保存到.MSG或.EML文件

使用dplyr和mapply函数时,将R中的ggplot2输出保存到pdf文件中

使用matplotlib将图保存为pdf文件

使用R将文件保存到Sharepoint

使用Gulp将文件保存到其他文件夹中时,保留源地图

将所有图形从for循环保存到一个图形文件

python networkx-将断开连接的图形从单个图形保存到单独的文件中

将绘图保存到图像文件,而不是使用Matplotlib显示

将绘图保存到图像文件,而不是使用Matplotlib显示

如何使用Matplotlib将多个图保存到循环文件中

如何通过浏览文件将PDF图像保存到XLSX?

如何将StringIO(pdf)数据保存到文件中

将渲染的pdf文件保存到模型字段Django

将JavaFX ScrollPane内容保存到PDF文件

MarkLogic-如何将pdf保存到文件系统

如何将pdf文件保存到Google云端硬盘?

使用matplotlib将两个不同的图形保存在不同的文件中

如何使用Java将生成的PDF文件保存到MySQL数据库?