本来、matplotlibで図を保存する場合は以下のようになるのですが、
以下のように保存することは可能でしょうか?
(グラフの部分だけ)
また、matplotlibで無理な場合の代替案があれば教えて欲しいです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
グリッドを表示したまま、ラベルだけ簡単に消せないのですね・・
簡単かと思ってやってみたら、なかなか手ごわかったです。
ここに方法が載っていました。
http://matplotlib.org/api/axis_api.html#matplotlib.axis.Tick
にある tick1On
,tick2On
,label1On
,label2On
をFalse
にすることでラベルと区切り線だけ消えてくれます。
ということで、こんな感じでどうでしょうか。
Python
1import numpy as np 2import matplotlib as mpl 3import matplotlib.pyplot as plt 4 5f = lambda d: np.sin(x) 6x = np.linspace(-np.pi, np.pi, 100) 7 8ax = plt.subplot() 9ax.plot(x, f(x)) 10 11ax.grid(True) 12 13for tic in ax.xaxis.get_major_ticks(): 14 tic.tick1On = tic.tick2On = False 15 tic.label1On = tic.label2On = False 16 17for tic in ax.yaxis.get_major_ticks(): 18 tic.tick1On = tic.tick2On = False 19 tic.label1On = tic.label2On = False 20 21ax.spines['left'].set_color('none') 22ax.spines['right'].set_color('none') 23ax.spines['top'].set_color('none') 24 25plt.savefig('out.png') 26plt.show()
投稿2017/10/16 23:44
総合スコア15898
0
◆注意点
描画データを作るためにライブラリのnumpyを使用してます。
Python
1# -*- coding: utf-8 -*- 2import numpy as np 3import matplotlib 4matplotlib.use("Agg") 5import matplotlib.pyplot as plt 6 7 8def image_save(file_name, data): 9 """ 10 :param file_name: ファイル名 11 :param data:データ x, y 12 :return: 13 """ 14 assert isinstance(data, tuple) 15 fig = plt.figure() 16 ax1 = fig.add_subplot(1, 1, 1) 17 # x軸、y軸のラベルを非表示に 18 ax1.get_xaxis().set_visible(False) 19 ax1.get_yaxis().set_visible(False) 20 21 # 描画 22 ax1.plot(*data) 23 24 fig.savefig(file_name, bbox_inches='tight', pad_inches=0) 25 26 27def main(): 28 x = np.arange(-4, 5, 0.1) 29 y = np.sin(x) 30 data = (x, y) 31 image_save("graph.png", data) 32 33 34if __name__ == '__main__': 35 main() 36
投稿2017/10/16 18:27
編集2017/10/16 21:04総合スコア5846
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/17 02:46
2017/10/17 02:49
2017/10/17 03:12
2017/10/17 03:33