前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。

以下文章来源于可以叫我才哥 ,作者才哥

大家好,上次我们试着用vba在excel中绘制树状热力图,但是我在绘制全部4000+股票的时候等待1小时最终效果图还远没完成,那么咋办呢?

终于在最近学习plotly中,让我在高级图表里发现了treemap,居然可以很好地满足我的需求,大家看以下就是最终效果图,是不是很赞!

看这个图吧,我就又要哭了,我重仓了白酒啊!!希望快点涨涨涨吧!!!

目录:

  • 1. 准备工作
  • 2. 开始绘图
    • 2.1. 简单的例子
    • 2.2. px.treemap常用参数介绍
    • 2.3. color_continuous_scale参数介绍
    • 2.4. 大A股市树状热力图来了
    • 2.5. plotly图片存本地

Python爬虫、数据分析、网站开发等案例教程视频免费在线观看

https://space.bilibili.com/523606542 

Python学习交流群:1039649593

1. 准备工作

我这边是在jupyterlab中演示的plotly图表,如果只安装plotly是无法正常显示图表的(会显示为空白),我们需要进行以下准备(以下命令均在cmd下操作即可):

# 安装plotly库及plotly-orca库
pip install plotly
pip install plotly plotly-orca# Basic JupyterLab renderer support
jupyter labextension install jupyterlab-plotly# OPTIONAL: Jupyter widgets extension for FigureWidget support
jupyter labextension install @jupyter-widgets/jupyterlab-manager plotlywidget

参考:
https://github.com/plotly/plotly.py

关于本文用到的数据呢,大家可以参考《python爬取股票最新数据并用excel绘制树状图》的爬虫代码自行爬取,或者公众号回复0302获取哈!

2. 开始绘图

Treemap绘制方式有两种,一种是在plotly.express下,一种是在go.Treemap下,我们这里用到的是前者。至于其中的区别,大概就是前者是高级版本,封装了很多后者的复杂操作,可以直接用pandas.Dataframe类型,是现在主推的。更多差异大家可自行在实践过程中感悟,毕竟才哥也说不太明白!

2.1. 简单的例子

plotly自带很多测试数据,我们用其中一个才试试简单的。

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

以上数据大致就是星期几什么餐不同性别的人支付的金额和小费数等,我们用1行代码绘制简单的treemap如下:

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

可以看到在该树状图中,层级依次是在path中顺序的day、time和sex,而每个色块面积大小就是values给定的total_bill。鼠标悬停的时候,会出现更详细的信息,毕竟plotly是可交互式的,这里不展开哈。

那么,px.treemap究竟还可以做什么呢?我们继续往下看。

2.2. px.treemap常用参数介绍

让我们直接在jupyterlab用?来获取函数参数吧!

# 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,
)

对于更多参数的了解,大家可以自己 ? 后看哈,蛮详细的,就是纯英文的我自己看着要结合翻译软件也蛮累。

2.3. color_continuous_scale参数介绍

上面我们提到过该参数为 我们 treemap图色块颜色使用的色卡,具体有哪些可选以及这些可选项都是啥样呢?

我们在?里找到了方向:

color_continuous_scale: list of strStrings should define valid CSS-colors This list is used to build acontinuous color scale when the column denoted by `color` containsnumeric data. Various useful color scales are available in the`plotly.express.colors` submodules, specifically`plotly.express.colors.sequential`, `plotly.express.colors.diverging`and `plotly.express.colors.cyclical`.

我们在jupyterlab里调用里面提到的方法,很开心的发现了它们:

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

由于在我们国家,绿色代表跌,红色代表涨,寻觅了半天我选取了Geyser,当然大家亦可自行选择。

2.4. 大A股市树状热力图来了

基于以上的了解,发现差不多可以绘制图了,那么来吧!

import plotly.express as pxfig = px.treemap(df, path=['板块', '企业名称',],  # 指定层次结构,每一个层次都应该是category型的变量values='市值(亿)', # 需要聚合的列名color='涨幅', range_color = [-0.05, 0.05], # 色彩范围最大最小值hover_data= {'涨幅':':.2%','市值(亿)':':.2f'}, # 鼠标悬浮显示数据的格式height = 1080,width = 1920,color_continuous_scale='Geyser',color_continuous_midpoint=0 , # 颜色变化中间值设置为增长率=0)
fig.update_traces(textinfo='label+value',textfont = dict(size = 24)) # 显示企业名称和市值,字体24
fig.show()

2.5. plotly图片存本地

这里是指图片哦,不是html文件哈!

大家还记得我们在准备工作中 安装orca ,没事,不记得的话,重新装一下就行了。

pip install plotly plotly-orca

对于我们绘制好的plotly图表对象,以下方式可以进行本地保存。

import plotly.io as piopio.write_image(fig, '树状云图png')

当然,要是觉得麻烦,其实你还可以直接点击图表最右上角的摄像头进行下载哈!

Python爬取‘跌妈不认’股票数据,绘制可视化图相关推荐

  1. Python爬取王者荣耀英雄的皮肤数据并下载皮肤图片项目

    Python爬取王者荣耀英雄的皮肤数据,并下载皮肤图片!高清的图片用来做桌面也不错哟~ 网址:https://pvp.qq.com/web201605/herolist.shtml 1.获得英雄信息, ...

  2. 利用python爬取丁香医生上新型肺炎数据,并下载到本地,附带经纬度信息

    新增:国外疫情网站介绍 已更新:爬取国外疫情数据 已更新:新型肺炎历史数据下载 2020年3月27日补充: 制作了一个全球肺炎数据查询下载网站,效果如下: 访问地址:http://119.3.227. ...

  3. python爬取电脑本地数据_利用python爬取丁香医生上新型肺炎数据,并下载到本地,附带经纬度信息...

    原标题:利用python爬取丁香医生上新型肺炎数据,并下载到本地,附带经纬度信息 新型肺炎肆虐全国,可以预知,最近一两年地理学中会有一部分论文研究新型肺炎的空间分布及与其他指标的关联分析.获取其患病人 ...

  4. python爬取分析超级大乐透历史开奖数据

    python爬取分析超级大乐透历史开奖数据 博主作为爬虫初学者,本次使用了requests和beautifulsoup库进行数据的爬取 爬取网站:http://datachart.500.com/dl ...

  5. python爬取链家网的房屋数据

    python爬取链家网的房屋数据 爬取内容 爬取源网站 爬取内容 爬取思路 爬取的数据 代码 获取房屋url 获取房屋具体信息 爬取内容 爬取源网站 北京二手房 https://bj.lianjia. ...

  6. Python爬取南京地铁微博发布客流数据并进行分析

    Python爬取南京地铁微博发布客流数据并进行分析 之前在网上看到了分析北京地铁客流数据的开源项目,就想试着分析一下南京地铁的客流数据,可是找了很久没有找到可以获得南京地铁客流数据的接口,就去南京地铁 ...

  7. python爬取二手房库存,存数据库,生成折线图(下)

    python爬取二手房库存,存数据库,生成折线图(下) 数据库有了房价的多阶段价格后,即可生成折线图.默认我的数据库已经有很多天的数据了 进入html页面的时候,默认加载房价走势图 在vue 的mou ...

  8. python爬取微博评论(无重复数据)

    python爬取微博评论(无重复数据) 前言 一.整体思路 二.获取微博地址 1.获取ajax地址2.解析页面中的微博地址3.获取指定用户微博地址 三.获取主评论 四.获取子评论 1.解析子评论2.获 ...

  9. python爬取b站弹幕并进行数据可视化

    python爬取b站弹幕并进行数据可视化 1.第一步,爬取b站弹幕 我们随便打开一个b站视频 打开开发者模式,在network下搜索list,可以找到该视频的弹幕文件 打开之后是这个样子的 结构还是比 ...

最新文章

  1. 固定div的位置——不随窗口大小改变为改变位置
  2. 七种垃圾收集器和垃圾回收、分代收集、GCROOTS相关概念、GC如何判断一个对象可以被回收
  3. PHP 页面静态化/纯静态化/伪静态化
  4. linux properties 出现java.io.FileNotFoundException
  5. 现在有一个整数数组,已知一个数出现的次数超过了一半,请用O(n)的复杂度的算法找出这个数...
  6. php下标排序,php二维数组指定下标排序
  7. java面试要点005---git和svn的区别
  8. jquery读取json文件然后赋值给html,Jquery读取json文件的代码举例
  9. pkcs8格式证书转换pkcs1格式
  10. 云龙51单片机视频教程+课件+程序代码+课后作业,零基础入门视频教程
  11. java腾讯信鸽推送_ANDROID集成腾讯信鸽推送教程(三)---------服务器端开发(JAVA)...
  12. POSIX 与 CMSIS 标准
  13. 百兆网络变压器原理图及网络变压器功能(附PDF工程图纸)
  14. 在中国,有多少程序员干到40了?那么其他人去干什么了?
  15. ISTP会议论文检索
  16. latex参考文献生成双语对照文献表
  17. Facebook想要成为下一个微信,难! 1
  18. openSUSE 多个GPU设置 深度学习 Caffe PyTorch 等
  19. 百万调音师—音频基础知识
  20. Python培训班一般学费是多少?

热门文章

  1. 仲恺计算机二级c语言,2009年下半年(第30次)全国计算机等级考试(NCRE)广东考区报考简章...
  2. 计算机实验adda转换心得体会,dsp实验ADDA
  3. 二、操作系统基本原理
  4. amazeUI 地区选择器三级联动,带地区数据
  5. 开源的企业级网络管理平台:OpenNMS+SugarNMS
  6. 80-Python_输入华氏温度转换成摄氏温度
  7. 复杂美入选2022中国产业区块链企业100强
  8. 中软国际首届嘉年华晚会召开 “解放号”勿忘初心再起航
  9. 你真的会使用github吗?
  10. PCL滤波工具之StatisticalOutlierRemoval深度分析