본 포스팅은 2021 NIPA AI 온라인 무료 교육의 AI 실무 기본 과정을 기반으로 작성하였습니다.
1. Matplotlib 그래프
1.1. Line plot
그래프를 그리는 기본적인 문법은 아래와 같습니다.
fig, ax = plt.subplots()
x = np.arange(15)
y = x ** 2
ax.plot(
____x, y,
____linestyle = ":",
____marker = "*",
____color = "#524FA1"
)
기본 linestyle의 선택은 아래와 같이 정의할 수 있습니다.
x = np.arange(10)
fig, ax = plt.subplots()
ax.plot(x, x, linestyle = "-") # solid
ax.plot(x, x+2, linestyle = "--") # dashed
ax.plot(x, x+4, linestyle = "-." # dashdot
ax.plot(x, x+6, linestyle = ":") # dotted
1.2. color
다음은 색상 선택입니다.
x = np.arange(15)
fig, ax = plt.subplots()
ax.plot(x, x, color = "r")
ax.plot(x, x + 2, color = "green")
ax.plot(x, x + 4, color = "0.8")
ax.plot(x, x + 6, color = "#524FA1")
1.3. marker
다음은 표식 삽입입니다.
x = np.arange(15)
fig, ax = plt.subplots()
ax.plot(x, x, marker = ".")
ax.plot(x, x + 2, marker = "o")
ax.plot(x, x + 4, marker = "v")
ax.plot(x, x + 6, marker = "s")
ax.plot(x, x + 8, marker = "*")
1.4. 축 경계 조정하기
x = np.linspace(0, 10, 1000)
fig, ax = plt.subplots()
ax.plot(x, np.sin(x))
ax.set_xlim = (-2, 12)
ax.set_ylim = (-1.5, 1.5)
1.5. 범례
x = np.arange(10)
fig, ax = plt.subplots()
ax.plot(x, x, label = "y = x")
ax.plot(x, x ** 2, label = "y = x^2")
ax.set_xlabel("x")
ax.set_ylabel("y")
ax.legend(loc = 'upper right',
___________shadow = True,
___________fancybox = True,
___________borderpad =2)
2. Bar & Histogram
2.1. Barplot
x = np.arange(10)
fig, ax = plt.subplots(figsize = (12,4))
ax.bar(x, x*2)
또 다른 형태의 bar chart 예시입니다.
x_ax = np.arange(3)
fig, ax = plt.subplots()
for i in x_ax :
____ax.bar(x_ax, data[i]
_____________bottom = np.sum(data[:i], axis = 0)
ax.xticks(x_ax)
ax.set_ticklabels(["A", "B", "C"])
2.2. Histogram
이번에는 히스토그램을 그려 보도록 하겠습니다.
fig, ax = plt.subplots()
data = np.random.randn(1000)
ax.hist(data, bins = 50))
3. Matplotlib with Pandas
데이터를 다루는 pandas를 활용하여 그래프를 그려 보도록 하겠습니다.
df = pd.read_csv("./president_heights.csv") # president_heights.csv 파일을 df로 저장
fig, ax = plt.subplots()
ax.plot(df["order"], df["height(cm)"], label = "height")
ax.set_xlabel("order")
ax.set_xlabel("height(cm)")
다른 예를 보도록 하겠습니다.
df = pd.read_csv("./data/pokemon.csv")
fire = df[(df['Type 1'] == 'Fire') | (df['Type 2'] == 'Fire')]
water = df[(df['Type 1'] == 'Water') | (df['Type 2'] == 'Water')]
fig, ax = plt.subplots()
ax.scatter(fire['Attack'], fire['Defense'], label = 'fire', color = 'R', marker = '*', s = 50)
ax.scatter(water['Attack'], fire['Defense'], label = 'water', color = 'B', s = 25)
ax.set_xlabel("Attack")
ax.set_ylabel("Defense")
ax.set_legend(loc = "upper right")
이상 pandas과 matplotlib를 활용하여 그래프를 그려 보았습니다.
반응형
'Python > Python 기초' 카테고리의 다른 글
파이참(PyCharm) 설치하기 (0) | 2021.08.08 |
---|---|
파이썬(Python) 설치하기 (0) | 2021.08.07 |
[파이썬완전기초]데이터다루기 Pandas심화 (0) | 2021.07.30 |
[파이썬완전기초]데이터다루기Pandas기본 (0) | 2021.07.29 |
[파이썬완전기초]Numpy (0) | 2021.07.28 |
댓글