matplotlib II

Matplotlib II


matplotlib graph

In [1]:
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np


scatter

In [2]:
data_1 = np.random.rand(512, 2)
data_2 = np.random.rand(512, 2)

plt.scatter(data_1[:, 0], data_1[:, 1], c="b", marker="x")
plt.scatter(data_2[:, 0], data_2[:, 1], c="r", marker="o")

plt.show()
In [3]:
N = 50
x = np.random.rand(N)
y = np.random.rand(N)
area = np.pi * (15 * np.random.rand(N)) ** 2
len(x), len(y), len(area)
Out[3]:
(50, 50, 50)
  • area도 같은크기로 1:1 mapping이 되어야 한다.
In [4]:
N = 50
x = np.random.rand(N)
y = np.random.rand(N)
colors = np.random.rand(N)
area = np.pi * (15 * np.random.rand(N)) ** 2
plt.scatter(x, y, s=area, c=colors, alpha=0.5)
plt.show()
  • s: 데이터의 크기를 지정, 데이터의 크기 비교가능하다.
  • alpha: 투명도를 나타냄


bar chart

  • bar함수 사용
In [5]:
data = [[5.0, 25.0, 50.0, 20.0], [4.0, 23.0, 51.0, 17], [6.0, 22.0, 52.0, 19]]

X = np.arange(0, 8, 2)
plt.bar(X + 0.00, data[0], color="b", width=0.50)
plt.bar(X + 0.50, data[1], color="g", width=0.50)
plt.bar(X + 1.0, data[2], color="r", width=0.50)
plt.xticks(X + 0.50, ("A", "B", "C", "D"))
plt.show()
In [6]:
data = np.array([[5.0, 25.0, 50.0, 20.0], [4.0, 23.0, 51.0, 17], [6.0, 22.0, 52.0, 19]])

color_list = ["b", "g", "r"]
data_label = ["A", "B", "C"]
X = np.arange(data.shape[1])

for i in range(3):
    plt.bar(
        X,
        data[i],
        bottom=np.sum(data[:i], axis=0),
        color=color_list[i],
        label=data_label[i],
    )
plt.legend()
plt.show()
In [7]:
A = [5.0, 30.0, 45.0, 22.0]
B = [5, 25, 50, 20]

X = range(4)

plt.bar(X, A, color="b")
plt.bar(X, B, color="r", bottom=60)
plt.show()


barh

In [8]:
women_pop = np.array([5, 30, 45, 22])
men_pop = np.array([5, 25, 50, 20])
X = np.arange(4)

plt.barh(X, women_pop, color="r")
plt.barh(X, -men_pop, color="b")
plt.show()


histogram

In [9]:
X = np.random.randn(1000)
plt.hist(X, bins=100)
plt.show()


boxplot

In [10]:
data = np.random.randn(100, 5)
plt.boxplot(data)
plt.show()

'AI > 이론' 카테고리의 다른 글

PyTorch basic  (0) 2021.02.01
베이즈 통계학  (0) 2021.02.01
통계학  (0) 2021.01.29
seaborn  (0) 2021.01.29
matplotlib I  (0) 2021.01.29
확률론 맛보기  (0) 2021.01.28
Pandas IV  (0) 2021.01.28
Pandas III  (0) 2021.01.28

+ Recent posts