繁体   English   中英

无法在pdf中绘制Python matplotlib图

[英]Cant plot an Python matplotlib figure in pdf

我知道我的问题听起来很绝望,也不是一个简短的可重复示例。 但是,我正在写论文,并尝试了打印测试。 由于一个基于python的图(其他所有图都是在R中创建的),因此我无法打印用TeX编写并以pdf格式查看的文档。 我将非常感激某人如何快速浏览它。 我现在真的很绝望,因为我不想从工作中删除这张图片。 我不是很熟悉python,因为我正在使用R,但只想为我的论文生成此图。

守则

我指的是“不同结果的套索坐标下降Vary参数l(λ)”部分中的图(字段[20])。

我正在尝试将其保存如下:

    %matplotlib inline
fig = plt.figure(figsize = (16,8))

#Surface plot
ax = fig.add_subplot(1, 2, 1, projection='3d')
ax.plot_surface(T1, T2, Z, rstride = 5, cstride = 5, cmap = 'jet', alpha=0.5)
ax.plot(theta_0,theta_1,J_history_lasso, marker = '*', color = 'r', alpha = .4, label = 'Gradient descent')

ax.set_xlabel('theta 1')
ax.set_ylabel('theta 2')
ax.set_zlabel('error')
ax.set_title('RSS gradient descent: Root at {}'.format(theta_result_lasso.ravel()))
ax.view_init(25, -40)


#Contour plot
ax = fig.add_subplot(1, 2, 2)
ax.contour(T1, T2, Z, 100, cmap = 'jet')
ax.quiver(theta_0[:-1], theta_1[:-1], anglesx, anglesy, scale_units = 'xy', angles = 'xy', scale = 1, color = 'r', alpha = .9)



 ax.set_xlabel(r'$\beta_1$', fontsize=20, labelpad = 10)
 ax.set_ylabel(r'$\beta_2$', fontsize=20, labelpad = 10)
 ax.set_zlabel(r'$\mathcal{L}(\beta)$', fontsize=20, labelpad = 10)
 ax.tick_params(labelsize=16)
 ax.set_title(r'Globales Minimum $\hat \beta$ = [{:0.0f}, {:0.2f}]'.format(roundi[0],roundi[1]), fontsize=20, pad=40)

 plt.show()

 fig.savefig("l18.pdf", bbox_inches='tight')

但我无法打印出有关pdf的文件。 我还尝试了不同类型的打印机。 因此,有关数字应该是有问题的。

尝试将其另存为.eps并使用eps2pdf转换器将其转换为pdf 或者只在LaTeX论文中使用.eps文件。 eps是矢量绘图,并且具有非常好的分辨率。

plt.show()显示图片并清除画布 您的PDF文件为空。 这就是为什么您不能打印它的原因。 删除plt.show()或将其移动到savefig

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM