[解決済み] pad_inches=0 と bbox_inches="tight" は、宣言された figsize よりも小さいプロットを作成します。
質問
latexに埋め込む出版品質のプロットを作成していますが、サイズとフォントの点で非常に正確にしたいのです(プロットと同じサイズのフォントが論文にあるように)。latexでプロットが拡大縮小されないようにするために、正確なサイズにしたいのですが、できません。以下は私のコードです。
import matplotlib.pyplot as plt
from matplotlib import rc, rcParams
from numpy import sin
rc('text', usetex=True)
rc('font', family='serif', serif='Computer Modern Roman', size=8)
rc('legend', fontsize=10)
width_in = 5
fig = plt.figure(1, figsize=(width_in, 2))
ax = fig.add_subplot(111)
ax.plot(range(0,100), sin(range(0,100)))
fig.tight_layout()
fig.savefig('test.eps', bbox_inches='tight', pad_inches=0)
plt.close()
問題は bbox_inches='tight' と pad_inches=0 で、これらのオプションを追加すると、私のプロットは宣言した 5 インチではなく 4.76 インチの幅になってしまうのです。しかし、私はスペースを節約するために、これらのオプションが欲しいのです。では、どうすれば解決するのでしょうか?
編集:さて、回答は、以下のものを削除することを示唆しています。
bbox_inches='tight'
と
pad_inches=0
を使用し
tight_layout()
. そうすると、画像は正しいサイズになりますが、周囲に白いパディングが残っています。私はそれを削除することができます
fig.tight_layout(pad=0)
しかし、その場合、図のタイトルがボックスの中に移動してしまい、見た目が悪くなってしまいます。一方、私は
tight_layout(rect=[...])
しかし、数字を正しくするのは手作業で、私はそれが好きではありません。このように、現在のところ、私の問題に対する簡単で一般的な解決策は見当たりません。
どのように解決するのですか?
あなたが抱えている問題は
bbox_inches='tight'
は、図の周りの余分な空白をすべて取り除くだけで、レンダリング後に図の中の何かを実際に並べ替えることはありません。
に渡すパラメータを調整する必要があるかもしれません。
tight_layout
(
チュートリアル
) を使って、希望の効果を得ることができます。
これで、正しい方向性が示されることを期待します。
関連
-
[解決済み] matplotlib で swarm プロットを作成する方法
-
[解決済み] matplotlib でプロットをクリアするために cla()、clf() または close() をいつ使うか?
-
Pythonで保存した画像が不完全です
-
[解決済み] Matplotlib で凡例をプロットの外側に配置する方法
-
[解決済み] matplotlibの図の凡例を削除する
-
[解決済み】pyplot 散布図 マーカーの大きさ
-
[解決済み] ipythonで表示せずにpylab.savefigを呼び出す。
-
[解決済み] matplotlib で、図の中のそれぞれのプロットされた線に新しい色を選択するには?
-
[解決済み] ipython notebook で matplotlib のプロットに任意の直線を追加する
-
[解決済み] デフォルトの線色サイクルを取得する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】twinx と twiny を一緒に使う matplotlib (twinxy のようなもの)
-
[解決済み] pad_inches=0 と bbox_inches="tight" は、宣言された figsize よりも小さいプロットを作成します。
-
matplotlib の基本 1: プロットプロパティの基本設定 -- xticks(loc,labels) の書式設定 エスケープトークン
-
Pythonで保存した画像が不完全です
-
[解決済み] matplotlib でグラフにサブタイトルをつける
-
plt.fill_between 使用方法
-
[解決済み] matplotlibの図の凡例を削除する
-
[解決済み】seaborn factorplotのラベルテキストを回転させる。
-
[解決済み] Matplotlib - サブプロット脇のグローバルな凡例とタイトル
-
[解決済み] ipython notebook で matplotlib のプロットに任意の直線を追加する