data_result['소계'].plot(kind='barh', grid=True, figsize=(10,10))
def drawGraph() :
data_result['소계'].sort_values().plot(
kind='barh', grid=True, title = '가장 CCTV가 많은구', figsize=(10,10));
drawGraph()
def drawGraph() :
plt.figure(figsize=(14,10))
plt.scatter(data_result['인구수'], data_result['소계'], s=50)
plt.xlabel('인구수')
plt.ylabel('소계')
plt.show()
drawGraph()
import numpy as np
fpl = np.polyfit(data_result['인구수'], data_result['소계'], 1)
fpl
fx = np.linspace(100000, 700000, 100)
fx
def drawGraph() :
plt.figure(figsize=(14,10))
plt.scatter(data_result['인구수'], data_result['소계'], s=50)
plt.plot(fx,f1(fx), ls='dashed', lw=3, color='g') #lw는 line width
plt.xlabel('인구수')
plt.ylabel('소계')
plt.grid(True)
plt.show()
drawGraph()
fp1 = np.polyfit(data_result['인구수'], data_result['소계'], 1)
f1 = np.poly1d(fp1)
fx = np.linspace(100000,700000,100)
data_result.head(3)
data_result['오차'] = data_result['소계'] - f1(data_result['인구수']) # 구별 인구에 대한 실제값 - 경향선 그래프의 값
data_result.head(3)
df_sort_f = data_result.sort_values(by='오차', ascending=False) #내림차순
df_sort_t = data_result.sort_values(by='오차', ascending=True) #오름차순
오차가 큰 데이터 5개(+)
오차가 큰 데이터 5개(-)
컬러 세팅
from matplotlib.colors import ListedColormap
# colormap 을 사용자 정의(user define)로 세팅
color_step = ['#e74c3c', '#2ecc71', '#95a9a6', '#2ecc71', '#3498db'] #색의 코드값
my_cmap = ListedColormap(color_step) # my_cmap에 내가 원하는 컬러의 코드값 지정
def drawGraph() :
plt.figure(figsize=(14,10))
plt.scatter(data_result['인구수'], data_result['소계'], s=50, c=data_result['오차'], cmap=my_cmap)
plt.plot(fx,f1(fx), ls='dashed', lw=3, color='g') #lw는 line width
#상위 5개
for n in range(5) :
plt.text(
df_sort_f['인구수'][n]*1.02, # x 좌표(마커가 안가리게 위치 살짝 변경)
df_sort_f['소계'][n]*0.98, # x 좌표(마커가 안가리게 위치 살짝 변경)
df_sort_f.index[n], # 기재할 테스트(구명)
fontsize = 10 # 폰트 사이즈
)
for n in range(5) :
plt.text(
df_sort_t['인구수'][n]*1.02,
df_sort_t['소계'][n]*0.98,
df_sort_t.index[n],
fontsize = 10
)
plt.xlabel('인구수')
plt.ylabel('소계')
plt.grid(True)
plt.colorbar()
plt.show()
drawGraph()
data_result.to_csv("../data.01.CCTV_result.csv", sep=',', encoding='utf-8') #데이터 저장