質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
Python

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

Q&A

解決済

1回答

348閲覧

グラフの凡例名称を変更させたい

mufufu

総合スコア37

Python

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

0グッド

0クリップ

投稿2022/02/06 13:03

グラフの凡例名称を変更させたいです。

「"^TNX」⇒「米10年債利回り」、「QQQ」⇒「NASDAQ100」に変更させたいです。どのようにコードをかけばいいですか?

イメージ説明

下記のようにコードを書きました

python

1コード 2import pandas as pd 3import datetime 4import yfinance as yf 5import matplotlib.pyplot as plt 6import pandas_datareader.data as web 7import japanize_matplotlib 8from matplotlib import cm 9%matplotlib inline 10 11 12 13# 表示期間 14start = datetime.date.today() - datetime.timedelta(days=500) 15end = datetime.date.today() 16 17# 表示対象 18codelist = ["^TNX","QQQ"] 19 20 21# データ取得 22data_stock = yf.download(codelist, start=start, end=end)["Adj Close"] 23fig, ax1 = plt.subplots(figsize=(12,5),facecolor="white") 24 25 26 27# ax1とax2を関連させる 28ax2 = ax1.twinx() 29 30# 1つ目のデータをグラフ化 31ax1.plot(data_stock[codelist[0]].dropna(), 32color="blue", label=codelist[0],linewidth=2,alpha=0.5) 33 34# 2つ目のデータをグラフ化 35ax2.plot(data_stock[codelist[1]].dropna(), 36color="red", label=codelist[1],linewidth=2,alpha=0.5) 37 38# 凡例 39handler1, label1 = ax1.get_legend_handles_labels() 40handler2, label2 = ax2.get_legend_handles_labels() 41 42# 凡例をまとめて出力 43ax1.legend(handler1 + handler2, label1 + label2, fontsize=20,loc='upper left', borderaxespad=0.5) 44 45# 軸を45度傾けて表示 46ax1.tick_params(axis='x', labelrotation=45) 47plt.title("米10年債利回りとNASDAQ100", {"fontsize": 20}) 48plt.show()

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

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

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

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

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

guest

回答1

0

ベストアンサー

ラベルの指定部分を変更すればよいのではないでしょうか。

python

1# 凡例をまとめて出力 2#ax1.legend(handler1 + handler2, label1 + label2, fontsize=20,loc='upper left', borderaxespad=0.5) 3ax1.legend(handler1 + handler2, ['米10年債利回り', 'NASDAQ100'], fontsize=20,loc='upper left', borderaxespad=0.5)

イメージ説明

投稿2022/02/06 13:23

melian

総合スコア19714

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

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

mufufu

2022/02/06 13:38

できました。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問