0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

3軸の折れ線グラフの作り方python

Last updated at Posted at 2022-03-18

発表で3軸の折線グラフを作ろうとした時にexcelではできなかったのでmatplotlibを使って作る方法を調べました。


今回のデータです。

3jiku.py
列1,体温,CRP,ddimer
1,37,8,9.9
2,39,17,18.6
3,39,18,7.2
4,38,19,5.7
5,38,,
6,38,25,8.1
7,39,,
8,39,19,9.3
9,38,19,
10,37,,

スクリーンショット 2022-03-18 15.45.12.png

まずデータを取り込みます

3jiku.py
import pandas as pd
#csv読み込み
df=pd.read_csv("b.csv")
3jiku.py
import matplotlib.pyplot as plt

まずはmatplotlib.pyplotをimportします。

3jiku.py
fig,ax1= plt.subplots()#グラフを書く場所を設定します。
fig.subplots_adjust(right=0.75)
fig.subplots_adjust(bottom=0.2)#グラフを書くスペースを調整します。

グラフを書く場所を設定して、大きさを調整します。入り切らなければ後から数値を変更して調整します。

3jiku.py
ax1.plot(df["体温"].dropna(how='any'),"b-")
ax1.set_ylabel("体温")

ax2.plot(df["CRP"].dropna(how='any'),"r-")
ax2.set_ylabel("CRP")

ax3.plot(df["ddimer"].dropna(how='any'),"c-")
ax3.set_ylabel("ddimer")

dfはDataFrameの略です。dropna(how='any')メソッドを使う事でNanの値を無視して線を繋いでくれます。”b”は青”r”は赤”c”は何色なんでしょう?
set_ylabelでラベルを追加します。

3jiku.py
ax2 = ax1.twinx()
ax3 = ax1.twinx()

このtwinxというものを使って2軸にする事ができます。
ただし、このままだと、軸がかぶってしまいます。
Figure_2.png


そこで以下のようにします

3jiku.py
ax3.spines["right"].set_position(("axes", 1.12))

すると
Figure_3.png
少し離れました。数値を調整して見ます。

3jiku.py
ax3.spines["right"].set_position(("axes", 1.2))

Figure_4.png
見やすくなりました。
"体温"が文字化けしていますね。

直し方わかる方、コメントで教えてくださいorz

0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?