使用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)中的图:
如果我放大到情节,它会非常粗糙,我再也无法分析细节了:
是否可以将此图作为矢量图,以便在放大时保持细节?
或者我可以在一个更“本地”(在更接近matplotlib的意义上,因为这个图看起来像Pycharm特定的方式)的方式绘图,所以缩放是以矢量化而不是位图的方式完成的?
答案 0 :(得分: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
答案 1 :(得分:0)
我对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')
从长远来看,明确创建figure将为您提供更多控制权。
请注意,图中的显示DPI不一定是将保存的分辨率:
fig.savefig('test.png', dpi=600, bbox_inches='tight')