【发布时间】:2018-01-18 23:32:39
【问题描述】:
我正在尝试使用 plotnine 保存高分辨率 png 图像。
使用测试数据集,如下所示:
from plotnine import *
import pandas as pd
import numpy as np
df = pd.DataFrame()
df['x'] = np.arange(0,10,0.01)
df['y'] = np.sin(df['x'])
p = ggplot(df, aes(x='x',y='y')) + labs(x='x', y='y') + geom_point(size=0.1)
p.save(filename = 'test3.png', height=5, width=5, units = 'in', dpi=1000)
这会生成一个包含我的绘图的低分辨率 .png 文件,当我增加指定的 dpi 时,它并没有得到改善。
我也尝试过保存:
ggsave(plot=p, filename='test.png', dpi=1000)
并将dpi=1000 替换为res=1000。这会生成相同的低分辨率 png 文件。
如何以我想要的分辨率保存绘图?
编辑:此错误已在 plotnine 0.3.0 版中解决。并且上面的代码可以正常工作。
【问题讨论】:
-
低分辨率是什么意思?请注意,如果 dpi 为 1000,您的意思是我想要一张可以 1000 dpi 打印或在高分辨率显示器上看起来不错的图像。除了一些 dpi(大约 300)之外,您很可能会创建专门用于打印的图像。查看graphicdesign.stackexchange.com/questions/36683/…。
-
无论我指定 100、300 还是 2000,保存的图像都在 dpi 100 左右。我正在寻找大约 300 dpi 的最终图像。
-
更新到最新版本的plotnine。您遇到了一个已修复的错误。
-
已解决,谢谢!我在遇到这个问题之前更新了 plotnine。我用的是: $ conda update plotnine 其中安装的是0.2.1版本,没有看到0.3.0版本。添加 conda-forge: $ conda config --add channels conda-forge 允许 conda 更新查看并安装最新版本的 plotnine,修复了该错误。我现在看到了漂亮的可变分辨率图。
-
SO 认为一个问题是“开放的”,直到一个答案被接受或至少有一个投票赞成的答案。由于上述内容对您有用,您可以回答您自己的问题,或者删除,因为该错误已修复,因此其他人不太可能有这个问题。 :-)