【matplotlib 实战】--热力图

这篇具有很好参考价值的文章主要介绍了【matplotlib 实战】--热力图。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

热力图,是一种通过对色块着色来显示数据的统计图表。
它通过使用颜色编码来表示数据的值,并在二维平面上呈现出来。
热力图通常用于显示大量数据点的密度、热点区域和趋势。

绘图时,一般较大的值由较深的颜色表示,较小的值由较浅的颜色表示;较大的值由偏暖的颜色表示,较小的值由较冷的颜色表示,等等。

热力图适合用于查看总体的情况、发现异常值、显示多个变量之间的差异,以及检测它们之间是否存在任何相关性。

1. 主要元素

热力图的主要元素如下:

  1. 矩形块:每个矩形块都有一个对应的位置。表示某种属性、频率、密度等。
  2. 颜色映射:通常使用渐变色带来表示数值的大小或密度。常见的颜色映射包括从冷色调(如蓝色)到热色调(如红色)的渐变,表示数值从低到高的变化。
  3. 热力密度:通过颜色的深浅来表示数据的密度或频率。较浅的颜色表示较低的密度或频率,而较深的颜色表示较高的密度或频率。
  4. 坐标轴:热力图通常在二维平面上显示,因此会有两个坐标轴,分别表示水平和垂直方向上的位置。

【matplotlib 实战】--热力图

2. 适用的场景

热力图适用于以下分析场景:

  • 数据密度分析:显示数据点的密度分布情况。它可以帮助用户观察数据的聚集区域和稀疏区域,从而揭示数据的分布模式和趋势。
  • 热点区域识别:识别数据中的热点区域,即数据密度较高的区域。对于发现热门地区、热门产品或热门事件等具有重要意义。
  • 趋势分析:通过观察颜色的变化,可以分析数据在不同区域或时间段的变化趋势。
  • 空间数据分析:在地理信息系统(GIS)和位置数据分析中,可以显示地理空间上的数据分布和密度,帮助用户理解地理区域的特征和差异。
  • 网站流量分析:显示用户在网页上的点击热度和浏览热度。这有助于优化网站布局、改进用户体验和提高转化率。

3. 不适用的场景

热力图在以下分析场景中可能不适用:

  • 无序数据:对于无序的数据,热力图可能无法提供有意义的分析结果。
  • 数据缺失:如果数据中存在大量缺失值或空白区域,可能无法准确地反映数据的密度和分布情况。
  • 多个并行路径:通常用于展示单一维度的数据分布情况。如果需要同时比较多个维度或路径的数据,热力图可能不是最合适的选择。

4. 分析实战

本次分析今年上半年南京主要的几个区二手房的成交数量情况。

4.1. 数据来源

数据来自链家网南京地区的二手房成交的页面。
整理好的数据可以从下面的地址下载:
https://databook.top/lianjia/nj

各个区的二手房交易数据已经整理成csv格式。

import os

df_dict = {}
#数据解压的地址
fp = "d:/share/data/南京二手房交易"
for f in os.listdir(fp):
    df = pd.read_csv(os.path.join(fp, f))
    df_dict[f] = df

df_dict  #合并所有区的数据

4.2. 数据清理

清理数据的主要几个步骤:

  1. dealDate列转换为 日期(datetime)格式
  2. 按周统计的交易数量
  3. 统计结果保存到新的字典中(df_stat),取日期最近的10条
df_stat = {}

for k, df in df_dict.items():
    df["dealDate"] = pd.to_datetime(df["dealDate"])
    # 最近10周的交易量
    week_sum = df.resample("W", on="dealDate").name.count()
    week_sum = week_sum.sort_index(ascending=False)

    df_stat[k.replace(".csv", "")] = week_sum.head(10)

df_stat

4.3. 分析结果可视化

更加各个区的成交数量绘制最近10周的交易热力图。

x_labels = []
y_labels = df_stat.keys() # Y周的标签
data = []
for _, v in df_stat.items():
    if len(x_labels) == 0: # X轴的日期标签
        x_labels = v.index.strftime("%Y-%m-%d").tolist()
        x_labels.reverse()

    v = v.sort_index()
    data.append(v.tolist())

plt.xticks(ticks=np.arange(len(x_labels)), 
           labels=x_labels,
           rotation=45)
plt.yticks(ticks=np.arange(len(y_labels)), 
           labels=y_labels)

plt.imshow(data, cmap=plt.cm.hot_r)
plt.colorbar()
plt.show()

【matplotlib 实战】--热力图

从热力图中可以看出,江宁区浦口区的成交数量明显多于其他区,尤其是江宁区
其次是鼓楼区秦淮区稍好一些(可能和这2个区学区房比较多有关),而溧水区六合区明显交易量不行。文章来源地址https://www.toymoban.com/news/detail-711414.html

到了这里,关于【matplotlib 实战】--热力图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 类别激活热力图grad-cam(pytorch)实战跑图

    类激活热力图:用于检查图像哪一部分对模型的最终输出有更大的贡献。具体某个类别对应到图片的那个区域响应最大,也就是对该类别的识别贡献最大 pytorch-grad-cam库代码GitHub代码 如果只想跑个图的话不用下! 作用:一是清晰直观的看看到底影响检测结果的特征;而是cv论

    2024年02月07日
    浏览(42)
  • 100天精通Python(可视化篇)——第97天:Pyecharts绘制多种炫酷热力图参数说明+代码实战

    🔥🔥 本文已收录于 《100天精通Python从入门到就业》:本专栏专门针对零基础和需要进阶提升的同学所准备的一套完整教学,从0到100的不断进阶深入,后续还有实战项目,轻松应对面试,专栏订阅地址:https://blog.csdn.net/

    2024年02月14日
    浏览(49)
  • 通过Pycharm安装包以及Matplotlib包安装遇到的各种问题

    提示: 在系统终端中安装包(例如系统终端中通过pip安装包),在Pycharm中是不能直接使用的。因此,推荐如下两种方法安装包,尤其推荐方法2。如果没有Pycharm,Pycharm下载,选择社区版就够用了。Pycharm历史版本下载。 第一步:打开pycharm软件; 第二步:选择菜单栏File →

    2024年02月06日
    浏览(51)
  • 【matplotlib 实战】--折线图

    折线图是一种用于可视化数据变化趋势的图表,它可以用于表示任何数值随着时间或类别的变化。 折线图由折线段和折线交点组成,折线段表示数值随时间或类别的变化趋势,折线交点表示数据的转折点。 折线图的方向表示数据的变化方向,即正变化还是负变化,折线的斜

    2024年02月08日
    浏览(39)
  • 【matplotlib 实战】--散点图

    散点图,又名点图、散布图、X-Y图,是将所有的数据以点的形式展现在平面直角坐标系上的统计图表。 散点图常被用于分析变量之间的相关性。 如果两个变量的散点看上去都在一条直线附近波动,则称变量之间是线性相关的; 如果所有点看上去都在某条曲线(非直线)附近

    2024年02月08日
    浏览(36)
  • 【matplotlib 实战】--漏斗图

    漏斗图,形如“漏斗”,用于展示数据的逐渐减少或过滤过程。 它的起始总是最大,并在各个环节依次减少,每个环节用一个梯形来表示,整体形如漏斗。 一般来说,所有梯形的高度应是一致的,这会有助人们辨别数值间的差异。 需要注意的是,漏斗图的各个环节,有逻辑

    2024年02月08日
    浏览(36)
  • 【matplotlib 实战】--饼图

    饼图,或称饼状图,是一个划分为几个扇形的圆形统计图表。 在饼图中,每个扇形的弧长(以及圆心角和面积)大小,表示该种类占总体的比例,且这些扇形合在一起刚好是一个完全的圆形。 饼图最显著的功能在于表现“占比”。 习惯上,人们通过比较饼图扇形的大小来获

    2024年02月08日
    浏览(34)
  • 【matplotlib 实战】--雷达图

    雷达图(Radar Chart),也被称为蛛网图或星型图,是一种用于可视化多个变量之间关系的图表形式。 雷达图是一种显示多变量数据的图形方法。通常从同一中心点开始等角度间隔地射出三个以上的轴,每个轴代表一个定量变量,各轴上的点依次连接成线或几何图形。 雷达图可

    2024年02月08日
    浏览(41)
  • 【matplotlib 实战】--面积图

    面积图,或称区域图,是一种随有序变量的变化,反映数值变化的统计图表。 面积图也可用于多个系列数据的比较。 这时,面积图的外观看上去类似层叠的山脉,在错落有致的外形下表达数据的总量和趋势。 面积图不仅可以清晰地反映出数据的趋势变化,也能够强调不同类

    2024年02月08日
    浏览(35)
  • 【matplotlib 实战】--直方图

    直方图 ,又称质量分布图,用于表示数据的分布情况,是一种常见的统计图表。 一般用横轴表示数据区间,纵轴表示分布情况,柱子越高,则落在该区间的数量越大。 构建直方图时,首先首先就是对数据划分区间,通俗的说即是划定有几根柱子(比如,1980年~2020年的数据,

    2024年02月08日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包