일반 그래프를 살포하는 것처럼 배열 | Pandas

산점도 그리기를 이용한 그래프 작성



산점도라고 하면 대체로 이런 이미지군요.

이런 데이터 분석에 강한 것이 Pandas 라이브러리입니다.

이것을 사용해 후투의 그래프를 산포도풍에 그려 보았습니다.

우선 소스 코드입니다.

scatterSample.py
# Pandas ライブラリ
# 2020.06.18.ProOJI
# Matplotlib.pyplot、 そしてNumpyも使用
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np

# 等差数列 linspace(初項、最終項、要素数)
#  例:np.linspace(0, 10, 4)
#    Ans: [ 0. , 3.33333333, 6.66666667, 10. ]
x = np.linspace(0,6.3, 50)
# 正弦(sinθ)
a = (np.sin(x)+1)*3
# 余弦(cosθ)
b = (np.cos(x)+1)*3
# 配列全てを[1]に初期化してしまう強いヤツ( x軸向の直線)
c = np.ones_like(x)*3
# 指数関数
d = np.exp(x)/100.
# 辞書型(dict)でタプルの中に設定
df = pd.DataFrame({"x": x, "a": a, "b": b, "c": c, "d": d})

#
# sin + scatter(意味:散らす)散布図っぽく
ax1 = df.plot(kind="scatter", x="x", y="a", color="blue", label="a - x")
# cos + scatter
ax2 = df.plot(kind="scatter", x="x", y="b", color="red", label="b - x", ax=ax1)
# 一直線 + 実線
df.plot(x="x", y="c", color="green", label="c - x", ax=ax1)
# 指数関数 + scatter ( xをy軸方面へ使用 )
df.plot(kind="scatter", x="d", y="x", color="orange", label="b - d", ax=ax1)
# sin + 実線 ( xをy軸方面へ使用 )
df.plot(x="a", y="x", color="purple", label="x - a", ax=ax1)

# ラベルを設置
ax2.set_xlabel("Horizontal Label")
ax2.set_ylabel("Vertical Label")
# 表示
plt.show()

코딩 후, 완성된 그래프가 이쪽
(조금 활기찬 느낌은 부인할 수 없다 ...)


요약



본래라면 Pandas는 좀 더 의미 있는 것에 사용하겠지만
가까이, 라는 느낌으로 후투의 그래프를 2D로 그려 보았습니다.
여러가지 이용가치가 있네요.

좋은 웹페이지 즐겨찾기