- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我在 matplotlib 中使用 pylab 来创建绘图并将绘图保存到图像文件中。但是,当我使用 pylab.savefig( image_name )
保存图像时,我发现保存的SIZE图片和我使用pylab.show()
时显示的图片是一样的.
碰巧,我在图中有很多数据,当我使用 pylab.show()
时,我必须最大化窗 Eloquent 能正确看到所有绘图,并且 xlabel 代码不会相互叠加。
在将图像保存到文件之前,我是否可以通过编程方式“最大化”窗口? - 目前,我只得到“默认”窗口大小的图像,这会导致 x 轴标签相互叠加。
最佳答案
matplotlib(pylab)中有两个主要的选项来控制图片大小:
通常,您希望两者都做,因为这样您就可以完全控制生成的图像大小以像素为单位。例如,如果要精确渲染 800x600 的图像,可以使用 DPI=100,并将尺寸设置为 8 x 6 英寸:
import matplotlib.pyplot as plt
# plot whatever you need...
# now, before saving to file:
figure = plt.gcf() # get current figure
figure.set_size_inches(8, 6)
# when saving, specify the DPI
plt.savefig("myplot.png", dpi = 100)
可以使用任何 DPI。事实上,您可能想要使用各种 DPI 和大小值来获得您最喜欢的结果。但是请注意,使用非常小的 DPI 并不是一个好主意,因为 matplotlib 可能找不到合适的字体来渲染图例和其他文本。例如,您不能设置 DPI=1,因为没有以 1 像素呈现字符的字体:)
从其他评论中,我了解到您遇到的其他问题是正确的文本渲染。为此,您还可以更改字体大小。例如,您可以使用每个字符 6 个像素,而不是默认使用的每个字符 12 个像素(实际上,使所有文本变小两倍)。
import matplotlib
#...
matplotlib.rc('font', size=6)
最后,一些对原始文档的引用: http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.savefig , http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.gcf , http://matplotlib.sourceforge.net/api/figure_api.html#matplotlib.figure.Figure.set_size_inches , http://matplotlib.sourceforge.net/users/customizing.html#dynamic-rc-settings
附:抱歉,我没有使用 pylab,但据我所知,以上所有代码在 pylab 中的工作方式都相同 - 只需将代码中的 plt
替换为 pylab
(或您在导入 pylab 时指定的任何名称)。 matplotlib
相同 - 请改用 pylab
。
关于python - 如何使 savefig() 为 'maximized' 窗口保存图像而不是默认大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10041627/
我正在尝试保存一个在 IPython 内联中工作正常的图形,但没有将包含轴和标题的图形保存到磁盘。 我在 matplotlibrc 中默认使用 TKAgg 后端 任何想法这里可能会出现什么问题?我已经
我正在尝试保存由大表(10000+行,18列)制成的大树状图,我附带了这段代码 from matplotlib import pyplot as plt from scipy.cluster.hier
嘿,我试着保存我的情节,但它总是切断我的头衔。我认为这是因为 y=1.05(设置与标题的距离)。我无法修复它。有没有办法保存整个图? time=round(t[time_period],0) most
我正在尝试使用 forloop 为我拥有的每组数据生成图形,但是虽然 .show() 命令生成了正确的图形,但 .savefig() 不断将先前绘制的值添加到新图形中。在我的 forloop 中,这是
在用matplotlib画图时,如果图例比较大,画在图中就会挡着线条,这时可以用以下语句把图例画到图外面: ?
我已经使用 matplotlib 制作了一个图形,现在我正在尝试使用 matplotlib.pyplot.savefig 将其保存到文件中 import matplotlib.pyplot as pl
使用 LsqFit 使用绘图 function run() # Allocate data x_data = [ 15.2, 19.9, 2.2, 11.8, 12.1, 18.1,
我有一个循环,它遍历一组“程序”名称,创建一个绘图并将其放置在每个带有 xlsxwriter 的工作表上。为此,它暂时将绘图本地保存为“chart.png” plt.savefig('chart{}.
我在带有标题和轴标签的 QtAggFigureCanvas (PyQt4) 中嵌入了一个 matplotlib 图(示例如下所示)。 我实现了一个按钮将图形保存到 png 文件。该图是通过以下方式创建
问题 我似乎无法获得 savefig()实际保存没有透明图形背景的PNG文件。 这是阅读并尝试了之前发布、回答、诅咒的所有建议,并且还多次阅读了 API 文档。我已经阅读了所有内容,但仍然无法获得不透
我惊讶地发现,当我将 savefig 与 transparent=True 一起使用时,这删除了我可能设置的facecolor。 如何才能不丢失我手动设置的任何背景颜色(包括白色)? 比较 图形用户界
我已从两个不同的数据帧中各加载一列,并将它们绘制在折线图上。该图表在我的屏幕上弹出,但我的 plt.savefig 命令不起作用,因为没有保存文件。 import matplotlib.pyplot
我有一个大的 3d numpy 数组,我想将每个切片(2d 数组)写出到一个类似 imshow 的图形(即值的热图)。作为一个具体的例子,假设数组的形状是 3x3x3000,所以我想要 3000 张图
Drawing a huge graph with networkX and matplotlib 我实际上是在重新提出相关问题。我想我可以更好地解释这个问题。在大图上调用 mathplotlib.s
我有一个内部分布式计算库,我们一直使用它来处理并行计算作业。进程分区后,它们运行数据加载和计算步骤,然后以“保存”步骤结束。通常这涉及将数据写入数据库表。 但对于特定任务,我需要每个过程的输出是一个包
我想默认使用 transparent=True 保存我所有的图像,所以我可以输入: savefig(fname.png) 代替 savefig(fname.png, transparent=True)
我在 pyplot 中有一个非常简单的饼图。相关代码是这样的: labels = 'SLoC', 'Violation' sizes = [nrOfLines-totviols, totviols]
我想做一些数据列的可视化总结+统计。我想将两个或多个子图与描述性表格组合起来,并将图形保存在本地。但是,保存绘图时,表格的一部分会被裁剪。 当我执行以下操作时 import numpy as np i
我想同时以三种格式保存一个图形。所以我使用的代码是这样的 import numpy as np import matplotlib.pyplot as plt x=np.linspace(0,1) y
我正在使用 pyplot.subplot() 制作条形图,然后另存为图像。目前 savefig 正在保存一个空图像。我想我有点卡住了,因为我没有找到很多关于条形图和子图的示例。 代码如下: nums
我是一名优秀的程序员,十分优秀!