以下のコードで、pdfに保存したい図形を作成しました。bbox_inches = 'tight'でpad_inchesに目的の効果がない場合、3D pdfプロット(savefig)の空白を削除する
fig.savefig("Surface_I.pdf", bbox_inches='tight')
ソリューションは削除せずに、x
とz
情報のビットをカット:
fig.savefig("Surface_I.pdf")
pdfファイルがleft
にホワイトスペースを多く含んでおり、up
:私はsavefig
コマンドを使用します余分なスペースをleft
とtop
から
fig.savefig("Surface_I.pdf", bbox_inches='tight', pad_inches=0.3)
ソリューションは、単に削除インフォ固定、いくつかのスペースを追加します。
をあまりにも多くのスペースはleft
とtop
に依然として存在しています。
left
とtop
の空白をpdfから削除する方法はありますか?
注:これらの写真はすべて、生成されたpdfのスクリーンショットです。
コード:以下のコード内のリスト国境変更する
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
# Function:
z_fit = a0 + a1*yy + a2*xx + a3*yy**2 + a4*xx**2 + a5*xx*yy
# Parameters:
a0 = -941.487789948
a1 = 0.0146881652963
a2 = -2.53533353374e-05
a3 = -9.64343252786e-05
a4 = -2.47416662598e-08
a5 = 3.77136886946e-07
x_mesh = np.linspace(10.0000000000000, 2000.0000000000000, 20)
y_mesh = np.linspace(-4.4119598462100, 10.8557347078000, 20)
xx, yy = np.meshgrid(x_mesh, y_mesh)
# Plot the function
fig = plt.figure()
ax = fig.gca(projection='3d')
ax.plot_surface(xx, yy, z_fit, color='b', alpha=0.5)
ax.set_xlabel('\nx')
ax.set_ylabel('y')
ax.set_zlabel('\nzzzzz zzz', linespacing=3)
ax.set_title('\n\nSurface I', linespacing=3)
xlabels=[0, 250, 500, 750, 1000, 1250, 1500, 1750, 2000]
ax.set_xticklabels(xlabels,rotation=90,
verticalalignment='baseline',#)#,
horizontalalignment='left')
ylabels = [-4, -2, 0, 2, 4, 6, 8, 10]
ax.set_yticklabels(ylabels,rotation=0,
verticalalignment='baseline')#,
# horizontalalignment='left')
fig.savefig("Surface_I.pdf", bbox_inches='tight', pad_inches=0.3)
を理解するだろう、私はトムによって解答に示すように、何をしたいことは、あなた自身のバウンディングボックスを設定することだと思います[この質問](https://stackoverflow.com/questions/41225293/remove-white-spaces-in-axes3d-matplotlib)おそらく、[この質問]のようにサブプロットのパラメータを調整するだけでも十分です(https://stackoverflow.com/questions/38604100/matplotlib-3d-plot-how-to-rid-of-the-excessive-white-スペース?noredirect = 1&lq = 1) – ImportanceOfBeingErnest