pythonで描いたグラフに横線を入れたい、そして複数に書かれたデータをすべて同じcsvの同じシートに一括で落としたいのですが、上手くいきません
質問が2つあります。
①pythonで描いたグラフで、イールドスプレッドは左軸、QQQは右軸にして、左軸が「0」の値で横線を入れたい
②数に書かれたデータをすべて同じcsvの同じシートに一括で落としたい
〔自分が実行したこと〕
①に関してはコードを書くと添付のようにすべて右軸で表示され、「plot.axhline(y = 0, color = 'red', ls = 'dotted')」をいれると、エラーが表示されます
②に関しては、色々考え、探したのですが、コードが見つかりませんでした
python
1コード 2import numpy as np 3import pandas as pd 4import datetime as dt 5import pandas_datareader.data as web 6import yfinance as yf 7 8s = dt.date(2000, 1, 1) 9e = dt.date(2022, 3, 18) 10 11 12 13df_2 = web.DataReader("DGS2", "fred", s, e) 14df_3 = web.DataReader("DGS3", "fred", s, e) 15df_5 = web.DataReader("DGS5", "fred", s, e) 16df_7 = web.DataReader("DGS7", "fred", s, e) 17df_10 = web.DataReader("DGS10", "fred", s, e) 18df_20 = web.DataReader("DGS20", "fred", s, e) 19df_30 = web.DataReader("DGS30", "fred", s, e) 20 21codelist = ["QQQ"] 22 23df_QQQ = yf.download(codelist, s, e)["Adj Close"] 24 25df = pd.concat([df_2,df_3, df_5, df_7,df_10, df_20, df_30,df_QQQ], axis=1) 26 27#イールドスプレッドの定義付け 28 29df['spread5-2'] = df['DGS5'] - df['DGS2'] 30df['spread10-2'] = df['DGS10'] - df['DGS2'] 31df['spread10-3'] = df['DGS10'] - df['DGS3'] 32df['spread10-7'] = df['DGS10'] - df['DGS7'] 33df['spread30-5'] = df['DGS30'] - df['DGS5'] 34df['spread30-20'] = df['DGS30'] - df['DGS20'] 35 36 37#チャート、イールドスプレッド 38 39df['spread5-2'].plot(figsize=(15,10),fontsize=15) 40df['spread10-2'].plot(figsize=(15,10),fontsize=15) 41df['spread10-3'].plot(figsize=(15,10),fontsize=15) 42df['spread10-7'].plot(figsize=(15,10),fontsize=15) 43df['spread30-5'].plot(figsize=(15,10),fontsize=15) 44df['spread30-20'].plot(figsize=(15,10),fontsize=15) 45df_QQQ.plot(figsize=(15,10),fontsize=15) 46 47plot.axhline(y = 0, color = 'red', ls = 'dotted') 48 49#CSVに落とす 50df['spread5-2'].to_csv('spread5-2.csv') 51df['spread10-2'].to_csv('spread10-2.csv') 52df['spread10-3'].to_csv('spread10-3.csv') 53df['spread10-7'].to_csv('spread10-7.csv') 54df['spread30-20'].to_csv('spread30-20.csv') 55df_QQQ.to_csv('df_QQQ.csv')
> ①に関してはコードを書くと添付のようにすべて右軸で表示され、「plot.axhline(y = 0, color = 'red', ls = 'dotted')」をいれると、エラーが表示されます
エラーとはどんなエラーでしょうか?
NameError: name 'plot' is not defined
上記のエラーが表示されます
> NameError: name 'plot' is not defined
> 上記のエラーが表示されます
jupyterでコード実行されているようなので「plot」を定義したセルの実行漏れではありませんか?
※質問は編集できますので情報は質問に追記した方が回答が付きやすくなるかと思います。
はい、jupyterでかいました。
この場合は、どのようにplotの定義をするのでしょうか。
ネットで検索したコードをもとにかいたのですが、人によっては「plot」と「plt」の意味がおなじなのでしょうか。
一般的に「plt」と「plot」は違う意味なのでしょうか。
エラーに関しては以下で表示される様になります。
ax = df_QQQ.plot(figsize=(15,10),fontsize=15)
ax.axhline(y = 0, color = 'red', ls = 'dotted')
> この場合は、どのようにplotの定義をするのでしょうか。
引用元が分からないので分かりません。
> ネットで検索したコードをもとにかいたのですが、人によっては「plot」と「plt」の意味がおなじなのでしょうか。
> 一般的に「plt」と「plot」は違う意味なのでしょうか。
おそらくmatplotlib.pyplotをimportする際によく使われる「import matplotlib.pyplot as plt」のことを指しているかと思いますが、pltが使用されることが多いかと思います。(別に他の名前でも良いです)
QQQチャートを除いたチャートでは下記のようにして、横線が表示されました。
ax = df['spread5-2'].plot(figsize=(15,10),fontsize=15)
ax.axhline(y = 0, color = 'red', ls = 'dotted')
QQQのデータを右軸としてチャートを描くにはどうしたいいですか。
回答1件
あなたの回答
tips
プレビュー