아... 엑셀이 정말 위대하고 쉬운거구나... 깨닫고 있습니다...

 

1. 사전 준비 (import)

import matplotlib.pyplot as plt
from matplotlib import rc
import seaborn as sns
%matplotlib inline

rc('font', family='AppleGothic')
plt.rcParams['axes.unicode_minus'] = False

네... 그냥 복붙합시다.

 

 

2. 데이터 가져오기 (Pandas)

import pandas as pd

groupDataS01 = pd.read_csv('../exampleCode/dataset/st0001data.csv')
groupDataS02 = pd.read_csv('../exampleCode/dataset/st0002data.csv')

네... 데이터 확인해보구요...

 

 

3. 그리기!

아 엑셀 쓰고 싶다..........

x = groupDataS01.WEEK                # set x-axis
y = groupDataS01.MEAN_VOLUME         # set y-axis

plt.plot(x,y)

축을 정하고요~ 그립니다!

 

축의 눈금을 임의로 정할 수도 있고요~ (축의 눈금이지 x축 범위가 아니라 range(20, 30, 5) 해도 그래프가 사라지지 않아요)

plt.xticks(range(min(x),max(x),5))    # x축의 눈금의 범위 : 눈금의 범위 + 눈금의 간격
plt.plot(x,y)

 

 

표에 이름을 붙이거나 축에 이름을 붙일 수도 있습니다.

# X, Y축 라벨
plt.xlabel("week")
plt.ylabel("avg_volume")

# 차트 제목
plt.title("weekly trend")

plt.plot(x,y)

 

폰트 추가하면 한글도 되고요~

plt.xticks(range(min(x),max(x),5))    # x축의 눈금의 범위 : 눈금의 범위 + 눈금의 간격

# X, Y축 라벨
plt.xlabel("주")
plt.ylabel("평균")

# 차트 제목
plt.title("주간 경향")

plt.plot(x,y)

 

그 외에 선의 색, 굵기, 꺽이는 지점에 점 찍기, 실선, 점선 표기 등도 가능합니다.

 

4. 만약 그래프를 2개 그리고 싶다면?

x = groupDataS01.WEEK                # set x-axis
y1 = groupDataS01.MEAN_VOLUME         # set y-axis
y2 = groupDataS02.MEAN_VOLUME        # 또 다른 그래프의 y-axis

plt.plot(x,y1)
plt.plot(x,y2)

 

예쁘게 꾸며주자.

x = groupDataS01.WEEK                # set x-axis
y1 = groupDataS01.MEAN_VOLUME         # set y-axis
y2 = groupDataS02.MEAN_VOLUME        # 또 다른 그래프의 y-axis

plt.xlabel("주간 경향")
plt.ylabel("평균 판매량")
plt.title("주간 판매 동향")
plt.xticks(range(min(x),max(x),5))

plt.plot(x,y1, label='st0001')
plt.plot(x,y2, label='st0002')
plt.legend(loc=0)                    # label을 붙일때면 이걸 항상 써줘야한다. 0: 알아서, 1~4 : 각 사분면.

라벨을 붙이려면 각 그래프에 label 옵션을 넣어주고 반드시 plt.legend(loc=0)을 넣어줘야한다.

 

5. 다음 데이터를 활용하여 2015년도 자료만 활용하여 X축 : WEEK, Y축 : QTY를 차트로 그리세요.

import pandas as pd

exampleData = pd.read_csv('../exampleCode/dataset/feature_regression_example.csv')

 

2015년 1주차부터 2016년 52주차까지, 그리고 2017년 자료도 포함되어있다. 이대로 그리면 어떻게 될까?

import matplotlib.pyplot as plt
from matplotlib import rc
import seaborn as sns
%matplotlib inline

rc('font', family='AppleGothic')
plt.rcParams['axes.unicode_minus'] = False
x = exampleData.WEEK    # set x-axis
y = exampleData.QTY     # set y-axis

plt.xlabel('주')
plt.ylabel('판매량')
plt.title('미래예측')

plt.plot(x,y, label='QTY')
plt.legend(loc=0)

2015년 1주차부터 시작해서 52주차를 갔다가, 다시 2016년 1주차를 와서 다시 52주차를 가고, 또 2017년을 가서 이런 그래프가 나오게 된다.

이렇게도 가능.

2015년 데이터만 뽑아보자.

exampleData2015 = exampleData.loc[exampleData.YEAR == 2015]    # 2015년 데이터만 가져온다.

# 또는 그냥 .loc를 빼고 이렇게만도 가능하다.
exampleData2015 = exampleData[exampleData.YEAR == 2015]

ABC.loc[ABC.컬럼명 == ] : ABC 데이터프레임을 제한한다. ABC 데이터프레임의 컬렴명만 뽑는다.
(= ABC[ABC.컬럼명 == ] : ABC 데이터프레임의에서 ABC 데이터프레임의 컬렴명 만 뽑는다.)

featuresData2015 = featuresData[ (featuresData.YEARWEEK >= 201501) &
                                (featuresData.YEARWEEK <= 201552)]

featuresData2016 = featuresData[ (featuresData.YEARWEEK >= 201601) &
                                (featuresData.YEARWEEK <= 201652)]

(만약 년도가 아닌 주차정보라면 아래 특정 컬럼만 뽑아내는 방식을 이용해 이런 방법으로 가능하다.)

2015년 데이터만 있는 것을 확인. 다시 그래프를 그려보면

x = exampleData2015.WEEK    # set x-axis
y = exampleData2015.QTY     # set y-axis

plt.xlabel('주')
plt.ylabel('판매량')
plt.title('미래예측')

plt.plot(x,y, label='QTY')
plt.legend(loc=0)

드디어 잘 나옵니다.

 

6. 값이 상대적으로 차이가 너무 큰 차트는 어쩌죠?

창을 키워보니 PROMOTION 옆에 하나 더 있었군요...

x = exampleData2015.WEEK    # set x-axis
y = exampleData2015.QTY     # set y-axis
y2 = exampleData2015.PRO_PERCENT

plt.xlabel('주')
plt.ylabel('판매량')
plt.title('미래예측')
plt.yticks(range(min(y),max(y),500))

plt.plot(x,y, label='QTY')
plt.plot(x,y2, label='PRO_PERCENT')
plt.legend(loc=0)

상수값이 아닌데 'QTY'에 비해 상대적 크기가 너무 작아서 그냥 납작하게 붙어있습니다.....

 

우선 다른 데이터를 이용해 연습해봅시다. 맨 처음 사용했던 데이터 2개를 다시 불러옵니다.
(위 4번과 비교해가며 따라갑니다.)

import pandas as pd

groupDataS01 = pd.read_csv('../exampleCode/dataset/st0001data.csv')
groupDataS02 = pd.read_csv('../exampleCode/dataset/st0002data.csv')


import matplotlib.pyplot as plt
from matplotlib import rc
import seaborn as sns
%matplotlib inline

rc('font', family='AppleGothic')
plt.rcParams['axes.unicode_minus'] = False

데이터 확인 해주고요.

4번에서는 하나의 도표를 그리고 그 위에 2개의 데이터를 그래프로 띄웠습니다. 따라서 x축의 값을 공유하기 때문에 x값은 하나, 그리고 그래프별로 서로 다른 y값을 가지기 때문에 y1, y2 2개의 y값을 선언했습니다.

그렇다면 하나의 도화지 위에 2개의 도표를 그리고 각각의 데이터마다 하나씩 그래프를 띄우려면 어떻게 해야할까요?
그냥 2개를 만들면 됩니다. 즉, (x1, y1), (x2, y2) 이렇게 선언해야합니다.

그러면 위에 4번의 코드블럭을 그대로 복사해 오고 x2만 하나 더 만들어줍니다.

x1 = groupDataS01.WEEK               # set x-axis
y1 = groupDataS01.MEAN_VOLUME        # set y-axis
x2 = groupDataS01.WEEK               # 또 다른 그래프의 x-axis
y2 = groupDataS02.MEAN_VOLUME        # 또 다른 그래프의 y-axis

plt.xlabel("주간 경향")
plt.ylabel("평균 판매량")
plt.title("주간 판매 동향")
plt.xticks(range(min(x),max(x),5))

plt.plot(x1,y1, label='st0001')
plt.plot(x2,y2, label='st0002')
plt.legend(loc=0)                    # label을 붙일때면 이걸 항상 써줘야한다. 0: 알아서, 1~4 : 각 사분면.

이대로 그냥 실행하면 안 되고, 이제 이 2개의 도표와 그래프를 그려줄 공간을 만들고, 저 각각의 그래프를 배치하는 작업이 필요합니다.

도화지 만들기

# 도화지 만들기
paper = plt.figure(figsize=(14,4))    # (가로,세로)로 그려지고 1 = 72픽셀.


결과 :

<Figure size 1008x288 with 0 Axes>

figsize의 값은 (가로,세로)고 1 = 72 픽셀이군요.

도화지에 chart1과 chart2 공간 만들기

# 도화지에 chart1과 chart2의 공간을 만듭니다.
chart1 = paper.add_subplot(121)         # 1x2 matrix의 1번째.
chart2 = paper.add_subplot(122)         # 1x2 matrix의 2번째.

이제 chart1과 chart2에 각각의 그래프에 대한 정보를 넣어줍니다. 단일 도표에 그래프를 2개 그리는 것과 달리 약간의 문법이 추가됩니다.

plt는 모두 chart1chart2로 바꾸고라벨 제목은 앞에 set_을 붙여주면 됩니다.

서로 다른 2개의 그래프를 단지 하나의 도화지에 그리는 것 뿐이니 당연히 라벨도 모두 2개씩 필요하겠죠? 열심히 복붙하고 고쳐줍니다.

plt.xlabel("주간 경향")
plt.ylabel("평균 판매량")
plt.title("주간 판매 동향")
plt.xticks(range(min(x),max(x),5))
plt.plot(x1,y1, label='st0001')
plt.legend(loc=0)

plt.xlabel("주간 경향")
plt.ylabel("평균 판매량")
plt.title("주간 판매 동향")
plt.xticks(range(min(x),max(x),5))
plt.plot(x2,y2, label='st0002')
plt.legend(loc=0)

이렇게 복붙해서 각각 만들어 준 다음 chart1, chart2, set_으로 고치는 작업을 합니다.
(chart1을 하나 입력하고 마우스 더블클릭 하며 복붙 하거나 텍스트 편집기에서 대치를 이용하면 편리합니다.)

완성된 모습은 다음과 같습니다.

x1 = groupDataS01.WEEK               # set x-axis
y1 = groupDataS01.MEAN_VOLUME        # set y-axis
x2 = groupDataS01.WEEK               # 또 다른 그래프의 x-axis
y2 = groupDataS02.MEAN_VOLUME        # 또 다른 그래프의 y-axis
# 도화지 만들기
paper = plt.figure(figsize=(14,4))

# 도화지에 chart1과 chart2의 공간을 만듭니다.
chart1 = paper.add_subplot(121)         # 1x2 matrix의 1번째.
chart2 = paper.add_subplot(122)         # 1x2 matrix의 2번째.

chart1.set_xlabel("주간 경향")
chart1.set_ylabel("평균 판매량")
chart1.set_title("주간 판매 동향")
chart1.set_xticks(range(min(x1),max(x1),5))

chart1.plot(x1,y1, label='st0001')
chart1.legend(loc=0)
# chart1.grid(True)


chart2.set_xlabel("주간 경향")
chart2.set_ylabel("평균 판매량")
chart2.set_title("주간 판매 동향")
chart2.set_xticks(range(min(x2),max(x2),5))

chart2.plot(x2,y2, label='st0002')
chart2.legend(loc=0)
# chart2.grid(True)

만약 그래프를 위아래로 배치하고 싶다면 어떻게 하면 될까요?

matrix를 2x1로 만들어주면 됩니다. 당연히 도화지 크기도 변경해야겠죠.

그래프의 크기를 동일하게 하려면 가로는 1/2배, 세로는 2배를 하면 됩니다. ( figsize=(14,4) 였으니까 figsize=(7,8)로 변경)

그리고 mxtrix 2x1의 1번째, 2번째니까 (211), (212)가 되겠죠.

# 도화지 만들기
paper = plt.figure(figsize=(7,8))

# 도화지에 chart1과 chart2의 공간을 만듭니다.
chart1 = paper.add_subplot(211)         # 2x1 matrix의 1번째.
chart2 = paper.add_subplot(212)         # 2x2 matrix의 2번째.

chart1.set_xlabel("주간 경향")
chart1.set_ylabel("평균 판매량")
chart1.set_title("주간 판매 동향")
chart1.set_xticks(range(min(x1),max(x1),5))

chart1.plot(x1,y1, label='st0001')
chart1.legend(loc=0)
# chart1.grid(True)


chart2.set_xlabel("주간 경향")
chart2.set_ylabel("평균 판매량")
chart2.set_title("주간 판매 동향")
chart2.set_xticks(range(min(x2),max(x2),5))

chart2.plot(x2,y2, label='st0002')
chart2.legend(loc=0)
# chart2.grid(True)

.grid(True)는 모눈종이를 그려주는 것으로 그래프를 도화지에 2개 그린다고 필요한 옵션은 아닙니다.

그리고 위에 그림에 보이듯이 크기를 동일하게 하기 위해 도화지의 가로, 세로를 1/2배, 2배 해주었더니 위쪽 그래프의 x축 이름과 아래쪽 그래프의 제목이 겹칩니다. 이런 경우 도화지의 세로 크기를 조금 키워 figsize=(7,10) 정도로 주면 해결됩니다.(단, 그래프의 크기도 조금 달라집니다.)

 

만약! 하나의 도표에 2개의 그래프를 그리고 각각의 y축만 다르게 잡아주고싶다면 이것을 응용하면 됩니다.
1x1 matrix를 만들고, chart1을 1번째에 넣습니다. (111)
그리고 chart2를 chart1에 join 시켜줍니다. .twinx()

# 도화지 만들기
paper = plt.figure(figsize=(14,6))

# 도화지에 chart1과 chart2의 공간을 만듭니다.
chart1 = paper.add_subplot(111)         # 1x1 matrix의 1번째.
chart2 = chart1.twinx()                 # chart2의 그래프를 그리는게 아니라 chart1에 join 시켜줍니다.

chart1.set_xlabel("주간 경향")
chart1.set_ylabel("평균 판매량")
chart1.set_title("주간 판매 동향")
chart1.set_xticks(range(min(x1),max(x1),5))

chart1.plot(x1,y1, 'b', label='st0001') # 색상을 적절히 정해줍니다.
chart1.legend(loc=1)
chart1.grid(True)

# 아래 값들은 모두 중복되는 것이니 지워줍니다.
# chart2.set_xlabel("주간 경향")
# chart2.set_ylabel("평균 판매량")
# chart2.set_title("주간 판매 동향")
# chart2.set_xticks(range(min(x2),max(x2),5))

chart2.plot(x1,y2, 'g', label='st0002') # 색상을 적절히 정해줍니다.
chart2.legend(loc=4)
# chart2.grid(True)                     # 모눈종이를 그릴 경우 2개의 모눈종이가 모두 그려지면 지저분해지니 하나만 그려줍니다.

이때는 차트 2개가 아니라 1개에 다른 하나를 join시켜준 것이기 때문에 색상을 수동으로 지정해줍니다.

따라서 이를 응용하면 6번의 처음 그래프는 다음과 같이 그릴 수 있습니다.

import pandas as pd

exampleData = pd.read_csv('../exampleCode/dataset/feature_regression_example.csv')
exampleData.head(3)

import matplotlib.pyplot as plt
from matplotlib import rc
import seaborn as sns
%matplotlib inline

rc('font', family='AppleGothic')
plt.rcParams['axes.unicode_minus'] = False

exampleData2015 = exampleData[exampleData.YEAR == 2015]    # 2015년 데이터만 가져온다.

x = exampleData2015.WEEK    # set x-axis
y = exampleData2015.QTY     # set y-axis
y2 = exampleData2015.PRO_PERCENT

# 도화지 만들기
paper = plt.figure(figsize=(14,6))

# 도화지에 chart1과 chart2의 공간을 만듭니다.
chart1 = paper.add_subplot(111)
chart2 = chart1.twinx()

chart1.set_xlabel('주')
chart1.set_ylabel('판매량')
chart1.set_title('미래예측')

chart1.plot(x,y, 'b', label='QTY')
chart1.legend(loc=2)

chart2.plot(x,y2, 'c', label='PRO_PERCENT')
chart2.legend(loc=1)

 

 

다른 모양의 차트를 그릴 경우 plot 부분만 bar, pie, scatter 등으로 바꿔주면 됩니다.

완성본 모음

더보기
import pandas as pd

groupDataS01 = pd.read_csv('../exampleCode/dataset/st0001data.csv')
# groupDataS01.head(3)

import matplotlib.pyplot as plt
from matplotlib import rc
import seaborn as sns
%matplotlib inline

rc('font', family='AppleGothic')
plt.rcParams['axes.unicode_minus'] = False


x = groupDataS01.WEEK                # set x-axis
y = groupDataS01.MEAN_VOLUME         # set y-axis

# 차트 꾸미기
plt.xlabel("주")
plt.ylabel("평균")
plt.title("주간 경향")
plt.xticks(range(min(x),max(x),5))    # x축의 눈금의 범위 : 눈금의 범위 + 눈금의 간격

# 차트 그리기
plt.plot(x,y, 'bo-', lw=0.8, label='MEAN_VOLUME')
plt.legend(loc=0)
plt.grid(True)

 

import pandas as pd

groupDataS01 = pd.read_csv('../exampleCode/dataset/st0001data.csv')
# groupDataS01.head(3)

import matplotlib.pyplot as plt
from matplotlib import rc
import seaborn as sns
%matplotlib inline

rc('font', family='AppleGothic')
plt.rcParams['axes.unicode_minus'] = False


x = groupDataS01.WEEK                # set x-axis
y = groupDataS01.MEAN_VOLUME         # set y-axis

# 차트 꾸미기
plt.xlabel("주")
plt.ylabel("평균")
plt.title("주간 경향")
plt.xticks(range(min(x),max(x),5))    # x축의 눈금의 범위 : 눈금의 범위 + 눈금의 간격

# 차트 그리기
plt.bar(x,y, color='blue', width=0.5, label='MEAN_VOLUME')
plt.legend(loc=0)
plt.grid(True)

 

import pandas as pd

groupDataS01 = pd.read_csv('../exampleCode/dataset/st0001data.csv')
# groupDataS01.head(3)

import matplotlib.pyplot as plt
from matplotlib import rc
import seaborn as sns
%matplotlib inline

rc('font', family='AppleGothic')
plt.rcParams['axes.unicode_minus'] = False


x = groupDataS01.WEEK                # set x-axis
y = groupDataS01.MEAN_VOLUME         # set y-axis



# 도화지 만들기
paper = plt.figure(figsize=(14,6))

# 도화지에 chart1의 공간을 만듭니다.
chart1 = paper.add_subplot(111)

# 차트 꾸미기
chart1.set_xlabel("주")
chart1.set_ylabel("평균")
chart1.set_title("주간 경향")
chart1.set_xticks(range(min(x),max(x),5))    # x축의 눈금의 범위 : 눈금의 범위 + 눈금의 간격

# 차트 그리기
chart1.bar(x,y, color='blue', width=0.6, label='MEAN_VOLUME')    # bar 그래프는 그냥 'b', lw=0.5 만 쓰면 안 됨.
chart1.legend(loc=0)
chart1.grid(False)

(결과 스크린샷은 color='blue'를 뺀 것입니다. 막대일 경우 기본 색상이 가독성이 더 좋네요.)

  

import pandas as pd

groupDataS01 = pd.read_csv('../exampleCode/dataset/st0001data.csv')
groupDataS02 = pd.read_csv('../exampleCode/dataset/st0002data.csv')

# groupDataS01.head(3)
# groupDataS02.head(3)


import matplotlib.pyplot as plt
from matplotlib import rc
import seaborn as sns
%matplotlib inline

rc('font', family='AppleGothic')
plt.rcParams['axes.unicode_minus'] = False


x1 = groupDataS01.WEEK               # set x-axis
y1 = groupDataS01.MEAN_VOLUME        # set y-axis
x2 = groupDataS01.WEEK               # 또 다른 그래프의 x-axis
y2 = groupDataS02.MEAN_VOLUME        # 또 다른 그래프의 y-axis

# 도화지 만들기
paper = plt.figure(figsize=(14,4))

# 도화지에 chart1과 chart2의 공간을 만듭니다.
chart1 = paper.add_subplot(121)         # 2x1 matrix의 1번째.
chart2 = paper.add_subplot(122)         # 2x2 matrix의 2번째.

chart1.set_xlabel("주간 경향")
chart1.set_ylabel("평균 판매량")
chart1.set_title("주간 판매 동향")
chart1.set_xticks(range(min(x2),max(x2),5))

chart1.plot(x1,y1, label='st0001')
chart1.legend(loc=0)
chart1.grid(True)


chart2.set_xlabel("주간 경향")
chart2.set_ylabel("평균 판매량")
chart2.set_title("주간 판매 동향")
chart2.set_xticks(range(min(x2),max(x2),5))

chart2.plot(x2,y2, label='st0002')
chart2.legend(loc=0)
chart2.grid(True)

  

import pandas as pd

groupDataS01 = pd.read_csv('../exampleCode/dataset/st0001data.csv')
groupDataS02 = pd.read_csv('../exampleCode/dataset/st0002data.csv')

# groupDataS01.head(3)
# groupDataS02.head(3)


import matplotlib.pyplot as plt
from matplotlib import rc
import seaborn as sns
%matplotlib inline

rc('font', family='AppleGothic')
plt.rcParams['axes.unicode_minus'] = False


x1 = groupDataS01.WEEK               # set x-axis
y1 = groupDataS01.MEAN_VOLUME        # set y-axis
x2 = groupDataS01.WEEK               # 또 다른 그래프의 x-axis
y2 = groupDataS02.MEAN_VOLUME        # 또 다른 그래프의 y-axis

# 도화지 만들기
paper = plt.figure(figsize=(7,10))

# 도화지에 chart1과 chart2의 공간을 만듭니다.
chart1 = paper.add_subplot(211)         # 2x1 matrix의 1번째.
chart2 = paper.add_subplot(212)         # 2x2 matrix의 2번째.

chart1.set_xlabel("주간 경향")
chart1.set_ylabel("평균 판매량")
chart1.set_title("주간 판매 동향")
chart1.set_xticks(range(min(x2),max(x2),5))

chart1.plot(x1,y1, label='st0001')
chart1.legend(loc=0)
chart1.grid(True)


chart2.set_xlabel("주간 경향")
chart2.set_ylabel("평균 판매량")
chart2.set_title("주간 판매 동향")
chart2.set_xticks(range(min(x2),max(x2),5))

chart2.plot(x2,y2, label='st0002')
chart2.legend(loc=0)
chart2.grid(True)

 

import pandas as pd

groupDataS01 = pd.read_csv('../exampleCode/dataset/st0001data.csv')
groupDataS02 = pd.read_csv('../exampleCode/dataset/st0002data.csv')

# groupDataS01.head(3)
# groupDataS02.head(3)


import matplotlib.pyplot as plt
from matplotlib import rc
import seaborn as sns
%matplotlib inline

rc('font', family='AppleGothic')
plt.rcParams['axes.unicode_minus'] = False


x1 = groupDataS01.WEEK               # set x-axis
y1 = groupDataS01.MEAN_VOLUME        # set y-axis
x2 = groupDataS01.WEEK               # 또 다른 그래프의 x-axis
y2 = groupDataS02.MEAN_VOLUME        # 또 다른 그래프의 y-axis

# 도화지 만들기
paper = plt.figure(figsize=(14,6))

# 도화지에 chart1과 chart2의 공간을 만듭니다.
chart1 = paper.add_subplot(111)         # 1x1 matrix의 1번째.
chart2 = chart1.twinx()                 # chart2의 그래프를 그리는게 아니라 chart1에 join 시켜줍니다.

chart1.set_xlabel("주간 경향")
chart1.set_ylabel("평균 판매량")
chart1.set_title("주간 판매 동향")
chart1.set_xticks(range(min(x1),max(x1),5))

chart1.plot(x1,y1, 'b', label='st0001') # 색상을 적절히 정해줍니다.
chart1.legend(loc=1)
chart1.grid(True)

chart2.plot(x1,y2, 'g', label='st0002') # 색상을 적절히 정해줍니다.
chart2.legend(loc=4)
# chart2.grid(True)                     # 모눈종이를 그릴 경우 2개의 모눈종이가 모두 그려지면 지저분해지니 하나만 그려줍니다.

 위에랑 같은거(데이터만 다름)

import pandas as pd

exampleData = pd.read_csv('../exampleCode/dataset/feature_regression_example.csv')
# exampleData.head(3)

import matplotlib.pyplot as plt
from matplotlib import rc
import seaborn as sns
%matplotlib inline

rc('font', family='AppleGothic')
plt.rcParams['axes.unicode_minus'] = False

exampleData2015 = exampleData[exampleData.YEAR == 2015]    # 2015년 데이터만 가져온다.

x = exampleData2015.WEEK    # set x-axis
y = exampleData2015.QTY     # set y-axis
y2 = exampleData2015.PRO_PERCENT

# 도화지 만들기
paper = plt.figure(figsize=(14,6))

# 도화지에 chart1과 chart2의 공간을 만듭니다.
chart1 = paper.add_subplot(111)
chart2 = chart1.twinx()

chart1.set_xlabel('주')
chart1.set_ylabel('판매량')
chart1.set_title('미래예측')

chart1.plot(x,y, 'b', label='QTY')
chart1.legend(loc=2)

chart2.plot(x,y2, 'c', label='PRO_PERCENT')
chart2.legend(loc=1)

  

# 필요 라이브러리 정의
import matplotlib.pyplot as plt
from matplotlib import rc
import seaborn as sns
%matplotlib inline

# 라벨 및 값 정의
groupLabel = ['A', 'B', 'C']
groupValue = [95, 54, 25]

# 파이차트 시각화
fig = plt.figure(figsize=(10,5))
ax1 = fig.add_subplot(1,1,1)
ax1.pie(x=groupValue,     
       labels=groupLabel,
       autopct="%1.2f%%",
       textprops={'fontsize': 12} )
ax1.legend(loc=0)

 

#필요 라이브러리 정의
import matplotlib.pyplot as plt
from matplotlib import rc
import seaborn as sns
%matplotlib inline
import numpy as np

x=list(range(1,11,1))
y = [i**2 for i in x]
c= np.random.randint(0,3,len(y))

plt.figure(figsize=(7,5))
plt.scatter(x,y,marker='o',c=c)
plt.colorbar()

plt.title('Scatter plt')

 

 

+ Recent posts