定义 A = (aij)为地铁 OD 矩阵,矩阵中 的元 aij 定义为该时段内从 i 站到 j 站的刷卡人次,例如令 i 为120站,j 为122站,则表示该时段内从120 进站,之后从122出站的客流量。当 i 取不同值时,即可知道其他站点到122站的过闸人数。同理也可令 j 为其他站点,当 i 和 j 取遍所有可能值时,即能知道不同站点的 进出和流向情况。以某地铁线某天的 OD 数据为例,构建 OD 矩阵存于oddata.csv中,格式如图1所示。
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
sns.set()
uniform_data=pd.read_csv(r'oddata.csv')
uniform_data.index=uniform_data['站号']
uniform_data=uniform_data.drop(columns='站号')
print(uniform_data)
ax = sns.heatmap(uniform_data,vmin=0,vmax=400,center=50)
ax.set_title('地铁OD数据客流可视化')
ax.set_xlabel('上车站号')
ax.set_ylabel('下车站号')
#可显示中文
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.show()