Python Pycharm:缩放后绘图变得粗糙

3

使用Pycharm和Matplotlib例如:

import matplotlib.pyplot as plt
import numpy as np

my_random = np.random.random(5)
plt.plot(my_random)
plt.show()

在SciView窗口中,Pycharm Professional Edition 2017.3(Ubuntu 14.04)很容易出现一个绘图问题: default view 如果我放大这个图,它会变得非常粗糙,无法再分析细节: coarse in details 是否可能将此绘图作为矢量图进行处理,以便在放大时保留细节?
或者,我能否以更“原生”的方式进行绘图(就像matplotlib更接近),以使缩放是以矢量化而不是位图方式完成的?
3个回答

1
与其使用show(),不妨考虑使用savefig('plot.pdf'),该方式支持您所需的缩放。
编辑:我的建议是运行以下程序,该程序将替换OP代码的最后一行。
#! /usr/bin/env python3.6

import matplotlib.pyplot as plt
import numpy as np

my_random = np.random.random(5)
plt.plot(my_random)
plt.savefig('plot.pdf')

在 MacOS 上运行它会产生略多于半打 KiB 的输出,Preview.app 很好地显示了这个输出。这是来自一次样本运行的结果:
$ ./plot.py && wc -c plot.pdf && conda list --export | grep plot
    7187 plot.pdf
matplotlib=2.1.1=py36h2fb3e9e_0

仅执行 plt.savefig("plot.pdf") 会生成一个空的pdf文件。 - user9098929

1
我不知道任何关于pycharm的内容。
但是你应该尝试增加图形的DPI(避免依赖于pyplot API的状态机):
from matplotlib import pyplot
fig = pyplot.figure(dpi=120)
ax = fig.add_subplot(1, 1, 1)
ax.plot([1, 2, 3], [3, 1, 2], 'ko')

明确创建图表将在长期内给您更多的控制。

请注意,图表的显示 DPI 不一定是其保存分辨率:

fig.savefig('test.png', dpi=600, bbox_inches='tight')

1

目前不支持使用自适应分辨率进行缩放。

您最好使用其他工具来实现此功能。

要取消科学视图:
设置 -> 工具 -> Python 科学 -> 取消选中“在工具窗口中显示图表”

查看 -> 取消选中“科学模式”。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接