🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Matplotlib

MatplotlibはPythonのおよび、NumPy用のグラフ描画ライブラリです。多くの場合、IPythonと連携して使われます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

3063閲覧

pythonのMatplotlibを使ってグラフを描くときに凡例の枠線を太くする方法

kawauso_shiba

総合スコア18

Matplotlib

MatplotlibはPythonのおよび、NumPy用のグラフ描画ライブラリです。多くの場合、IPythonと連携して使われます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2019/12/10 08:55

rcParamsを使ってグラフの書式を設定することは理解しましたが,凡例の枠線を太くする方法が分からず困っています.

現時点のコードです.

import matplotlib.pyplot as plt """ グラフの書式設定 """ #フォント plt.rcParams['font.size'] = 16 #軸・目盛 plt.rcParams['axes.linewidth'] = 1.5 #軸の太さ plt.rcParams["xtick.direction"] = 'in' #x軸の目盛の向き: 内側('in'), 外側('out'), 両側('inout') plt.rcParams["ytick.direction"] = 'in' #y軸の目盛の向き: 内側('in'), 外側('out'), 両側('inout') plt.rcParams['xtick.major.width'] = 1.5 #x軸の主目盛りの太さ plt.rcParams['ytick.major.width'] = 1.5 #y軸の主目盛りの太さ plt.rcParams['xtick.minor.width'] = 1.5 #x軸の補助目盛りの太さ plt.rcParams['ytick.minor.width'] = 1.5 #y軸の補助目盛りの太さ plt.rcParams['xtick.major.size'] = 8 #x軸主目盛り線の長さ plt.rcParams['ytick.major.size'] = 8 #y軸主目盛り線の長さ plt.rcParams['xtick.minor.size'] = 5 #x軸補助目盛り線の長さ plt.rcParams['ytick.minor.size'] = 5 #y軸補助目盛り線の長さ int_pad = 8 #軸と目盛り数字の間隔 (数字を大きくするほど離れる) #凡例 plt.rcParams['legend.loc'] = 'best' #凡例の位置 ("best": 適切なところ) plt.rcParams['legend.frameon'] = True #凡例を囲う: True, 囲わない: False plt.rcParams['legend.edgecolor'] = 'black' #囲いの色 plt.rcParams['legend.fancybox'] = False #囲いの四隅を丸くする: True, 丸くしない: False plt.rcParams["legend.shadow"] = False #影を付ける: True, 付けない: False x = [1, 2, 3, 4] y = [1, 4, 9, 16] plt.plot(x,y, ls='-', lw=2, c='black', alpha=1.0, label='test') plt.xlabel('x-label') plt.ylabel('y-label') plt.legend() #凡例 plt.show()

これを実行すると次のグラフが作成されます.
イメージ説明

"test"と書かれた凡例の枠線の太さがグラフの枠線や目盛の太さと比べると細くなっています.
凡例の枠線の太さを自由に設定できる方法を教えていただけますと大変助かります.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

"plt.legend()"の後に,".get_frame().set_linewidth(*)"(*に適当な数字を入れる)を追加すると枠線の太さを変えることができました.他に良い方法があるのかもしれませんが.

参考: python 複数 matplotlibを使用して、凡例のフレームの境界線を削除または調整する
https://code-examples.net/ja/q/185b6a3

「凡例のボックスの境界線のみを削除する方法は?」の反対のことを行いたいので,「set_linewidth(0.0)」を例えば「set_linewidth(2.0)」に設定したときのグラフ

イメージ説明

投稿2019/12/10 09:12

kawauso_shiba

総合スコア18

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

自己解決

"plt.legend()"の後に,".get_frame().set_linewidth(*)"(*に適当な数字を入れる)を追加すると枠線の太さを変えることができました.他に良い方法があるのかもしれませんが.

*に2.0を入れた場合のグラフ
イメージ説明

投稿2019/12/10 09:07

kawauso_shiba

総合スコア18

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問