Plotly绘制树状热力图(treemap)

Plotly绘制树状热力图(treemap)


一、入门

1、准备数据

plotly自带很多测试数据

import plotly.express as px
df = px.data.tips()
df.head()

在这里插入图片描述
数据大致就是星期几什么餐不同性别的人支付的金额和小费数等

根据星期几,时间,性别绘制一个简单的treemap

2、画图

fig = px.treemap(df, path=['day', 'time', 'sex'], values='total_bill')
fig.show()

在这里插入图片描述

二、美化

1、color_continuous_scale色卡

#色卡有那些
import plotly
# 大家不要急,一个个来,我这里预览只截取了diverging的部分
plotly.express.colors.cyclical.swatches()
plotly.express.colors.sequential.swatches()
plotly.express.colors.diverging.swatches()

色卡太多够你用的了哈哈哈
在这里插入图片描述

2、选择其中一个色卡美化

fig = px.treemap(df, path=['day', 'time', 'sex'], values='total_bill',color='total_bill',#颜色数字的变化
                 range_color = [15, 30], # 色彩范围最大最小值
                 hover_data= {'total_bill':'%d',
                             'tip':':.2f'}, # 鼠标悬浮显示数据的格式
                 color_continuous_scale='Geyser',#色卡
                 color_continuous_midpoint=0  # 颜色变化中间值设置为增长率=0)
                )
fig.update_traces(textinfo='label+value',textfont = dict(size = 12)) # 显示sex和total_bill,字体24
fig.show()

在这里插入图片描述
是不是好看了许多了呢

3定义色块颜色及面积

# 绘制2007年各大洲各国家人口和人均寿命树状热力图
import plotly.express as px
import numpy as np
df= px.data.gapminder().query("year == 2007")
df["world"] = "world" # in order to have a single root node
df.head()

在这里插入图片描述

fig = px.treemap(df, path=['world', 'continent', 'country'], values='pop',
                  color='lifeExp', hover_data=['iso_alpha'],#鼠标浮点标签值
                  color_continuous_scale='RdBu',#色卡
                  color_continuous_midpoint=np.average(df['lifeExp'], weights=df['pop']))# 色块面积由人口决定,色块颜色由人均寿命决定
fig.show()

在这里插入图片描述

三、参数

参数好多慢慢参透

# px.treemap?

# Signature:
px.treemap(
    data_frame=None, # 就是你要用到的数据,
    names=None, # 暂时不用
    values=None, # 就是你色块大小
    parents=None, # 暂时也不用,和names组合出现吧
    ids=None, # 暂时不用,后续暂时不用的字段我就不写啦
    path=None, # 层级,依次排开
    color=None, # 颜色,比如根据 涨跌幅字段来设置颜色
    color_continuous_scale=None, # 自带的颜色尺卡,后面会介绍
    range_color=None, # 颜色范围区间,超过就是两端值
    color_continuous_midpoint=None, # 颜色尺卡最中间 的值,比如涨跌幅中间设置为 0 最合适
    color_discrete_sequence=None, 
    color_discrete_map=None,
    hover_name=None,
    hover_data=None, # 就是悬停时 显示字段及其格式
    custom_data=None, # 额外的想显示的数据
    labels=None,
    title=None, # 标题咯
    template=None,
    width=None, # 图高
    height=None, # 图长
    branchvalues=None,
    maxdepth=None, 
)

以上参考网址:https://mp.weixin.qq.com/s/–i7MQlndah7ixoyX4OFdA

  • 9
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

瓜瓜的小宝藏

给点饭吃吧呜呜呜

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值