使用MATPLOTLIB 製圖(散點圖,熱力圖)

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv('D:\\myfiles\\study\\python\\analyse\\數據團\\城市數據團_數據分析師_體驗課_課程資料\\數據資料\\地市級黨委書記數據庫(2000-10).csv', encoding='gbk')


# 這裏研究一下出生年份和任期的關係

data_term = data[['年份','黨委書記姓名','出生年份']]
data_term_re = data_term[data_term['出生年份'].notnull()]
# 新建變量data_term,賦值包括年份、姓名、出生年份字段內容
# 清除缺失值

year_max = data_term_re[['出生年份','年份']].groupby(data_term_re['黨委書記姓名']).max()
year_max.rename(columns={'年份':'年份max'}, inplace = True)
year_max['姓名'] = year_max.index
# 統計每一個黨委書記任期年份最大值,且更改列明
# 將index提取出字段內容

year_min = data_term_re[['出生年份','年份']].groupby(data_term_re['黨委書記姓名']).min()
year_min.rename(columns={'年份':'年份min'}, inplace = True)
year_min['姓名'] = year_min.index
# 統計每一個黨委書記任期年份最小值,且更改列明
# 將index提取出字段內容

data_term_fin = pd.merge(year_max,year_min)
# 合併表格,默認重疊重複列明
# .dtypes查看字段類型 → 年份均爲int

data_term_fin['任期'] = data_term_fin['年份max'] - data_term_fin['年份min']
# 計算任期

# 繪製圖表1:任期與出生年份關係

fig_q3_1 = plt.figure(figsize=(8, 4))
# 建立一個圖表,大小爲8*4

plt.scatter(data_term_fin['出生年份'], data_term_fin['任期'], color='black', alpha=0.2, s=10)
plt.title('任期與出生年份關係')
plt.xlabel('出身年份')
plt.ylabel('任期(年)')
plt.grid(True)
plt.show()

 

 

 

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv('D:\\myfiles\\study\\python\\analyse\\數據團\\城市數據團_數據分析師_體驗課_課程資料\\數據資料\\地市級黨委書記數據庫(2000-10).csv', encoding='gbk')


# 這裏研究一下出生年份和任期的關係

data_term = data[['年份','黨委書記姓名','出生年份']]
data_term_re = data_term[data_term['出生年份'].notnull()]
# 新建變量data_term,賦值包括年份、姓名、出生年份字段內容
# 清除缺失值

year_max = data_term_re[['出生年份','年份']].groupby(data_term_re['黨委書記姓名']).max()
year_max.rename(columns={'年份':'年份max'}, inplace = True)
year_max['姓名'] = year_max.index
# 統計每一個黨委書記任期年份最大值,且更改列明
# 將index提取出字段內容

year_min = data_term_re[['出生年份','年份']].groupby(data_term_re['黨委書記姓名']).min()
year_min.rename(columns={'年份':'年份min'}, inplace = True)
year_min['姓名'] = year_min.index
# 統計每一個黨委書記任期年份最小值,且更改列明
# 將index提取出字段內容

data_term_fin = pd.merge(year_max,year_min)
# 合併表格,默認重疊重複列明
# .dtypes查看字段類型 → 年份均爲int

data_term_fin['任期'] = data_term_fin['年份max'] - data_term_fin['年份min']
# 計算任期

# 繪製圖表2:任期與出生年份關係 - 熱圖

fig_q3_2 = plt.figure(figsize = (8,4))
# 建立一個圖表,大小爲8*4

df = pd.crosstab(data_term_fin['任期'], data_term_fin['出生年份'])
# 整合數據

ax = fig_q3_2.add_subplot(111)
cax = ax.pcolor(df, cmap='Blues')
# cax = ax.matshow(df, cmap='Blues_r')
fig_q3_2.colorbar(cax)
plt.title('任期與出生年份關係 - 熱圖\n')
ax.set_xticklabels(data_term_fin['出生年份'].tolist())
plt.show()
# 建立熱圖,橫座標爲出生年份,縱座標爲任期,

  

相關文章
相關標籤/搜索