CCTV_Seoul = pd.read_csv('../data/01. Seoul_CCTV.csv', encoding='utf-8')
CCTV_Seoul.rename(columns={CCTV_Seoul.columns[0] : '구별'}, inplace=True)
pop_Seoul = pd.read_excel(
'../data/01. Seoul_Population.xls', header=2, usecols='B, D, G, J, N'
)
CCTV_Seoul.sort_values(by='소계',ascending=True).head()
pop_Seoul['구별'].unique()
data_result = pd.merge(CCTV_Seoul,pop_Seoul,on='구별')
data_result.head()
def drawGraph():
data_result['소계'].sort_values().plot(
kind='barh', grid=True, figsize=(10,10)
);
drawGraph()
??? dataframe에서 plot을 사용할 때 x,y를 지정해서 할 수 있나???
https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.plot.html
될듯?? 나중에 기억나면 해보쟈
plt.figure(figsize =(14,10))
plt.scatter(x축, y축, s=점사이즈)
plt.xlabel(x축 이름)
plt.ylabel(y축 이름)
plt.show()
※ https://numpy.org/doc/stable/reference/generated/numpy.polyfit.html
import numpu as np
fp1 = np.ployfit(x,y,차원)
f1 = np.poly1d(fp1)
data_reulst['오차'] = data_result['소계'] - f1(data_result['인구수])
def drawGraph():
plt.figure(figsize=(14,10))
plt.scatter(data_result['인구수'], data_result['소계'], c=data_result['오차'], cmap=my_cmap, s=50)
plt.plot(fx,f1(fx), ls='dashed', lw=3, color='g')
for i in range(5):
plt.text(
df_sort_f['인구수'][i]*1.02, # x좌표
df_sort_f['소계'][i]*0.98, # y좌표
df_sort_f.index[i], # title
fontsize=15
)
plt.text(
df_sort_t['인구수'][i]*1.02,
df_sort_t['소계'][i]*0.98,
df_sort_f.index[i],
fontsize=15
)
plt.xlabel('인구수')
plt.xlabel('CCTV')
plt.colorbar()
plt.grid()
plt.show()
drawGraph()
matplotlib.pyplot.text(x, y, s, fontdict=None, **kwargs)