我用Python爬取了4000+股票数据,并用plotly绘制了树状热力图(treemap)
大家好,我是辰哥~
在最近学习plotly中,让我在高级图表里发现了treemap
,居然可以很好地绘制全部4000+股票树状热力图,大家看以下就是最终效果图,是不是很赞!
看这个图吧,我就又要哭了,我重仓了白酒啊!!希望快点涨涨涨吧!!!
目录:
1. 准备工作
2. 开始绘图
2.1. 简单的例子
2.2. px.treemap常用参数介绍
2.3. color_continuous_scale参数介绍
2.4. 大A股市树状热力图来了
2.5. plotly图片存本地
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
关于本文用到的数据呢,在文末获取
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')
当然,要是觉得麻烦,其实你还可以直接点击图表最右上角的摄像头进行下载哈!
那么,以上就是本次全部内容,大家想了解更多可以直接官方网站研究,教程案例还是蛮详细,多折腾捣鼓效果更佳!
参考:https://plotly.com/python/treemaps/#
本文代码和数据集,后台回复:211105
最后
可视化 Python 打包 exe,这个神器绝了
教你轻松爬取全国40城5000+地铁站点数据!(附源码)
输出好看的表格,就用这个 Python 库!
我用Python爬取了4000+股票数据,并用plotly绘制了树状热力图(treemap)相关推荐
- Python应用实战-Python爬取4000+股票数据,并用plotly绘制了树状热力图(treemap)
目录: 1. 准备工作 2. 开始绘图 2.1. 简单的例子 2.2. px.treemap常用参数介绍 2.3. color_continuous_scale参数介绍 2.4. 大A股市树状热力图来 ...
- python爬取天天基金网所有基金数据
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资 ...
- 用python爬取基金网信息数据,保存到表格,并做成四种简单可视化。(爬虫之路,永无止境!)
用python爬取基金网信息数据,保存到表格,并做成四种简单可视化.(爬虫之路,永无止境!) 上次 2021-07-07写的用python爬取腾讯招聘网岗位信息保存到表格,并做成简单可视化. 有的人留 ...
- python实战|python爬取58同城租房数据并以Excel文件格式保存到本地
python实战|python爬取58同城租房数据并以Excel文件格式保存到本地 一.分析目标网站url 目标网站:https://cq.58.com/minsuduanzu/ 让我们看看网站长啥样 ...
- python爬取微博热搜数据并保存!
主要用到requests和bf4两个库将获得的信息保存在d://hotsearch.txt下importrequests;importbs4mylist=[]r=requests.get(ur- 很多 ...
- Python爬取京东任意商品数据实战总结
利用Python爬取京东任意商品数据 今天给大家展示爬取京东商品数据 首先呢还是要分思路的,我分为以下几个步骤: 第一步:得到搜索指定商的url 第二步:获得搜索商品列表信息 第三步:对得到的商品数据 ...
- python 爬取24小时天气数据
python 爬取24小时天气数据 1.引入相关库 # -*- coding: utf-8 -*- import requests import numpy as np 关于爬虫,就是在网页上找到自己 ...
- python爬淘宝app数据_一篇文章教会你用Python爬取淘宝评论数据(写在记事本)
[一.项目简介] 本文主要目标是采集淘宝的评价,找出客户所需要的功能.统计客户评价上面夸哪个功能多,比如防水,容量大,好看等等. [二.项目准备工作] 准备Pycharm,下载安装等,可以参考这篇文章 ...
- PYTHON爬取汽车之家数据
PYTHON爬取汽车之家数据 使用知识 使用BeautifulSoup模块 使用正则表达式 使用到多线程爬取 使用说明 使用前请安装BeauifulSoup 起始页面: https://www.aut ...
最新文章
- #pragma pack的作用
- 名爵如何解除限速_价格不高却乐趣十足,全新一代名爵6有多大惊喜
- 怎样一次性将一个word文档中所有图片保存
- mysql表空间名字查询_数据库表空间信息查询
- 为什么感觉腹部肥胖不好减?
- 企业***网的规划及组建
- ext数据库读取动态添加window组件
- 硬盘模式IDE和AHCI
- 安卓开发之NDK开发基础(一)
- cosc2406-2407辅导week4-quiz
- 如何PDF转Excel,手机和电脑都能用的方法
- 联想 ThinkPad E480无线网卡配置错误导致无法连接无线网解决方案
- sap客户信贷_SAP SD 信贷控制范围-特别总账控制的信贷更新
- Excel-VBA-数组-01-定义数组
- 快慢指针(Java版)
- HTTP重定向与服务器转发的区别
- C语言 五种基本的算术运算符
- flink中的时间属性
- android 标注 比例换算,android APP UI设计图标注、换算
- 蚂蚁开放平台开发第三方授权登陆(一):开发前期准备