wumingxiaoyao

使用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()
# 创建热图,横坐标为出生年份,纵坐标为任期,

  

 

发表于 2018-03-16 17:06  无名小妖  阅读(8611)  评论(0编辑  收藏  举报
 

分类:

技术点:

相关文章: