3个plotly实用进阶范例~

Python Plotly交互可视化详解~ plotly 的 Python 软件包是一个开源的代码库,它基于 plot.js,而后者基于 d3.js。我们实际使用的则是一个对 plotly 进行封装的库,名叫 cufflinks,它能让你更方便地使用 plotly 和 Pandas 数据表协同工作。_*注:__Plotly 本身是一个拥有多个不同产品和开源工具集的可视化技术公司。Plotly 的 Python 库是可以免费使用的,在离线模式可以创建数量不限的图表,在线模式因为用到了 Plotly 的共享服务,只能生成并分享 25 张图表。 阅读详情

本文介绍3个plotly非常实用的高级操作范例:

1,绘制时间序列设置滑块;

2,绘制地图设置高德底图;

3,使用dash构建交互面板;

公众号后台回复关键词:plotly,获取本文jupyter notebook 源代码~

一,绘制时间序列设置滑块

可以使用一个滑块来选择绘图时间范围。

import plotly.express as px 
dfdata = px.data.stocks()

fig = px.line(data_frame=dfdata, x = 'date',y = ['GOOG', 'AAPL', 'AMZN', 'FB', 'NFLX', 'MSFT'])
fig.update_xaxes(dtick="M2",tickformat="%Y-%m-%d",rangeslider=dict(visible=True),
             rangeselector={'buttons': [{'count': 7,
               'label': '1w',
               'step': 'day',
               'stepmode': 'backward'},
              {'count': 1, 'label': '1m', 'step': 'month', 'stepmode': 'backward'},
              {'count': 6, 'label': '6m', 'step': 'month', 'stepmode': 'backward'},
              {'count': 1, 'label': '1y', 'step': 'year', 'stepmode': 'backward'},
              {'step': 'all'}]}
            )
fig.update_layout(#autosize=True,
    #width=1000, 
    #height=600,
    margin=dict(
        r=0, t=0, l=0, b=0, pad=0)
    )
fig.show()
fig.write_html('test.html')

效果如下:

6de8c0d24c2851b36246e5944e4db043.png

二,绘制地图设置高德底图

plotly绘制地图可以使用高德底图。

import plotly.express as px 
dfdata = pd.DataFrame({'lat': 39 + np.random.rand(100),
                        'lon': 116+np.random.rand(100),
                       'color': 10*np.random.rand(100),
                       'size': 0.5*np.random.rand(100),
                      })

fig = px.scatter_mapbox(dfdata, lat="lat", 
                        lon="lon", color="color",
                        size="size",            
                        color_continuous_scale=px.colors.cyclical.IceFire, 
                        size_max=15, zoom=10
                       )
basemap_layer = [
    dict(
        below="traces",
        sourcetype="raster",
        sourceattribution="高德地图",
        source=[
            "http://wprd01.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&lang=zh_cn&size=1&scl=1&style=7"
        ]
    )
]

fig.update_mapboxes(style='white-bg',zoom=7,layers=basemap_layer)
fig.update_layout(margin=dict(r=0, t=0, l=0, b=0, pad=0))
fig.show()

效果如下:

b2dbfc8a14fe45171e4621e626c4962c.png

三,使用dash构建交互面板

使用plotly的dash可以让做出非常丰富的前端交互效果。

详情参考:https://dash.plotly.com/

import dash
from dash import Dash, dcc, html, Input, Output
import plotly.express as px


external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']

template_list = ['plotly','ggplot2', 'seaborn', 'simple_white',
         'plotly_white', 'plotly_dark', 'presentation', 'xgridoff',
         'ygridoff', 'gridon']

# 1,生成示例数据
dfdata = px.data.stocks()


# 2, 创建Dash app
app = Dash(__name__,external_stylesheets=external_stylesheets)

# 3, 设计页面布局
app.layout = html.Div([
    html.H3(children='头部互联网美股走势数据'),
    dcc.Graph(id='stock-plot'),
    html.Br(),
    html.Label('template'),
    dcc.Slider(
        id='template',
        min=0,
        max=len(template_list)-1,
        value=0,
        marks={i: template_list[i] for i in range(len(template_list))},
        step=1
    ),
    html.Label('font_size'),
    dcc.Slider(
        id='font_size',
        min=10,
        max=20,
        value=15,
        marks={i: str(i) for i in range(10,21)},
        step=1
    )
    
])

# 4, 编写回调函数
@app.callback(
    Output(component_id='stock-plot', component_property='figure'),
    [Input(component_id='template',  component_property='value'),
     Input(component_id='font_size', component_property='value')
    ]
)
def update_figure(template,font_size):
    fig = px.line(data_frame=dfdata, x = 'date',y = ['GOOG', 'AAPL', 'AMZN', 'FB', 'NFLX', 'MSFT'])
    fig.update_xaxes(dtick="M1",tickformat="%Y-%m-%d",rangeslider=dict(visible=True),
                 rangeselector={'buttons': [{'count': 7,
                   'label': '1w',
                   'step': 'day',
                   'stepmode': 'backward'},
                  {'count': 1, 'label': '1m', 'step': 'month', 'stepmode': 'backward'},
                  {'count': 6, 'label': '6m', 'step': 'month', 'stepmode': 'backward'},
                  {'count': 1, 'label': '1y', 'step': 'year', 'stepmode': 'backward'},
                  {'step': 'all'}]}
                )
    fig.layout.template = template_list[template]
    fig.update_layout(autosize=True,
        #width=1000, 
        #height=600,
        margin=dict(
            r=0, t=0, l=0, b=0, pad=0)
        )
    fig.update_layout({"font.size":font_size})
    return fig


# 5, 运行交互页面
if __name__ == '__main__':
    app.run_server(debug=True)
    #app.run(jupyter_mode="tab") #'inline', 'external', 'jupyterlab', 'tab'

运行上述代码,会弹出一个可以交互的网页,效果如下:

6b284670d688c49d74979379cf5fc739.png

猜你喜欢:

Plotly深入浅出

5ca8bcf6dd6eecdcbf9ce94b199b5d26.png

GPT-4 制图的成熟:处理复杂的 GIS 数据查询 使用 Pythonplotly 和 dash 创建地图的模块化方法 Python 中的数据可视化工具是出了名的挑剔。有了触手可及的生成式人工智能,我们可以要求 GPT-4 为我们简化流程。最近,它似乎在处理大型 CSV 文件以进行数据可视化方面做得更好了为了检验这个理论,今天我重新审视我在 2023 年 4 月写的一个故事——由于 GPT-4 当时的挑剔性质,这个故事花了我很长时间(有很多麻烦)来写。这篇文章基于我在 LinkedIn 上查看的静态地图,该地图基于 NASA 的数据,显示了某个地区一段时间内的森林火灾。 阅读详情

相关推荐

CIC-IDS数据集特征介绍

###1、简介 通信安全机构(CSE)与加拿大网络安全研究所(CIC)合作项目,该项目对自1998年以来现有的11个数据集的评估表明,大多数数据集(比如经典的KDDCUP99,NSLKDD等)已经过时且不可靠。其中一些数据集缺乏流量多样性和容量,一些数据集没有涵盖各种已知的攻击,而另一些数据集将数据包有效载荷数据匿名化,这不能反映当前的趋势。有些还缺少特征集和元数据。 CIC-IDS-2017数据集包含良性和最新的常见攻击,类似真实世界数据(PCAPs)。 它的数据采集截至2017...

蓝亚之舟的博客 3万+

伏羲天气预报效果可视化:使用Plotly Dash构建可缩放全球预报交互地图

本文介绍了如何在星图GPU平台上自动化部署伏羲天气预报:伏羲中期气象大模型镜像,快速构建全球天气预报交互可视化系统。通过Plotly Dash框架,用户可实时查看并交互式探索气温、降水、风场等多变量全球预报结果,广泛应用于气象服务、防灾决策与气候研究等场景。

weixin_29363791的博客 308

Arcgis空间分布方向性分析

Arcgis空间分布方向性分析 一、标准差椭圆方法概述 空间分布方向性分析是指区域经济属性在空间分布上的轮廓和主导方向。 标准差椭圆法是分析空间分布方向性特征的经典方法之一,使用标准差椭圆可 从全局的、空间的角度定量解释经济要素空间分布的中心性、展布性、方向性和 空间形态等整体性特征,因其直观性与有效性已得到广泛应用,已成为 Arc GIS 空间统计模块的常规统计工具。SDE 方法生成的结果为一个椭圆,从其生 成算法来看,首先用平均中心来确定椭圆的圆心,然后由平均中心作为起点 对 X 坐标

端木宛白的博客家园 4万+

python画高德地图

python画高德地图

yuanzhoulvpi的博客 3302

CATIA二次开发——遍历几何图形集下的轴系及控制轴系生成位置

CATIA二次开发——轴系相关问题1.遍历几何图形集下的轴系2.解决轴系生成位置的问题 1.遍历几何图形集下的轴系 近期遇到的问题:遍历轴系的时候发现,AxisSystem属性的轴系只有放在轴系集合下,才能被找到,放在几何图形集或其他位置均不能被找到。本来想遍历几何图形集下的轴系元素,但是发现没有对应的属性,只能查找 几何图形集、几何元素、草图等元素,无法直接遍历轴系。 解决办法:(加入选择集,在选择集中筛选轴系类型) HybridBody axisHB = activePart.HybridBodies

WorkMan的博客 2732

YOLOv11涨点改进 | 全网独家创新,注意力改进篇 | TGRS 2025 | 引入APCM自适应像素级协同机制,动态增强目标区域、抑制背景噪声,助力YOLOv11做红外小目标检测有效涨点

本文提出了一种基于APCM模块改进的YOLOv11网络模型,通过像素级局部-全局协同建模增强目标特征并抑制背景噪声。APCM模块采用轻量化设计,无需复杂参数,能有效提升小目标检测性能。文章详细介绍了APCM的原理、优势及其在红外小目标检测中的应用,包括模块结构、核心代码实现和YAML配置文件修改方法。实验结果表明,该方法在NUAA-SIRST和IRSTD-1K数据集上优于现有技术,显著提高了复杂场景下的检测精度与鲁棒性。

Ai缝合怪、助力小伙伴高效发论文 118

使用 Plotly 的 Slider 交互式绘图

currentvalue = {"font":{"size":20}, "prefix":"Wave Frequency: ", "visible": True, "xanchor": "right"}, # 当前值标签样式。args=[{"y": [np.sin(w * x)]}, {"title": f"Wave Frequency: {w}"}], # 更新y轴数据与标题。pad = {"t": 50, "b": 10}, # 与图表上下边距的填充。label=f"{w}", # 滑块标签。

584

【实战】CANOE实现UDS安全访问过程的CAPL脚本

首先我已经有了包含安全访问算法的dll文件,并通过Diagnostics/ISO TP Configuration中加载了此dll文件,如下。在on start部分,要将“ECU qualifier“作为参数,执行diagSetTarget函数。这个函数是用于设置tester从现在开始与之通信的目标ECU,并配置/建立与该ECU的通信通道。我最近在做密钥学习上位机时,遇到一些问题:如何用CAPL脚本实现安全访问过程?ECU Qualifier可以通过加载cdd文件后,在如下位置找到。CAPL脚本如何编写。

weixin_46481662的博客 4941

Python绘图神器Plotly安装、使用及导出图像教程

Python绘图神器Plotly安装、使用及导出图像教程

一只快乐的小蒟蒻~ 9575

大数据运营可视化:Tableau+PowerBI数据看板搭建教程

当企业数据量从“GB级”跃升到“TB级”,运营人员面临的最大挑战不再是“如何收集数据”,而是“如何让数据说话”。数据看板作为“运营指挥中心的仪表盘”,能将零散的用户行为、业务指标、流量趋势浓缩成可快速解读的视觉语言。本文结合Tableau(自由探索的“数据瑞士军刀”)与PowerBI(微软生态的“组合家具”)两大工具,从需求分析→数据准备→指标设计→视图搭建→ dashboard 组合,一步步教你搭建符合业务逻辑的运营看板。

AI智能探索者的博客 1367

顶级AI大模型白嫖ChatGPT Plus1个月,0成本薅顶配功能

Chat*** Plus限时免费1个月!原价20美元/月的顶配功能

BUG猿的博客 7300

Plotly学习笔记

Plotly介绍 Plotly是一个基于JavaScript的绘图库,Plotly绘图种类丰富,效果美观。 易于保存和分享,Plotly的绘图结果可以与Web无缝集成。 Plotly默认的绘图结果是一个HTML网页文件,通过浏览器可以查看。 Plotly绘图命令 在真实项目中,使用Plotly绘图魔魁啊进行绘图的完整流程包括: 添加图轨数据 trace 设置画图布局,使用plotly.gra...

Zing的博客 4192

使用 MATLAB/Simulink 构建一个基于FOC控制的PMSM矢量控制仿真模型

本教程详细介绍了基于MATLAB/Simulink的永磁同步电机(PMSM)磁场定向控制(FOC)系统建模与仿真方法。主要内容包括:PMSM电机模型参数设置、Clarke/Park变换模块设计、电流环PID控制器配置、SVPWM调制实现以及系统仿真参数优化。文章提供了模块化设计思路和具体参数设置示例,并给出了PID整定建议和进阶优化方向。通过该仿真模型,可深入理解PMSM矢量控制原理,掌握高性能电机控制系统的建模技巧,适用于伺服系统、电动汽车驱动等高端控制场景。教程还推荐了实时仿真和高级控制策略等扩展应用。

xiaoheshang_123的博客 530

可视化神器Plotly绘制树状图

大家好,我是Peter~ 今天给大家带来的是一篇关于Plotly绘图的文章:如何使用Plotly来绘制矩形树状图 Plotly文章 目前Plotly的文章更新到第17篇,推荐几篇文章: 闲聊 为什么Peter一直坚持写Plotly的文章?国庆节前有位读者加了Peter的VX: 1、你的教程关于Plotly的对我帮助很大???? 2、本科大三就开始卷了???? 3、山大学子,优秀???? 以前还有另一位Plotly的读者,也是看了Peter的文章: 所以大家一起好好学习,Peter也好好写文章,说

尤尔小屋 5404

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

plotly笔记--plotly库简介和简单的图形实现

plotly学习笔记–plotly库简介和简单的图形实现 文章目录plotly学习笔记--plotly库简介和简单的图形实现plotly介绍plotly的两种绘图方式图形的输出plotly绘图流程 可交互的python绘图库 plotly介绍 plotly是一个基于JavaScript的绘图库,plotly绘图种类多,操作简单,效果也挺不错(基于js的绘图库最大的特点就是可交互) 绘图结果...

高雅的博客 1954

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

解决plotly画不出图的问题

第一次用plotly发现画不出图,结果没有显示… 一开始的代码: import cufflinks as cf import plotly.offline as plyo # 导入离线绘图功能 plyo.init_notebook_mode(connected=True) a = np.random.standard_normal((250, 5)).cumsum(axis=0) index = pd.date_range('2021-1-1', freq='B'

qq_30473895的博客 7079

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

plotly入门(vue项目中)

这几天正好有时间,就来整理一下我的文档了,写这篇文章简单记录一下之前工作中用到的plotly,和大家分享一下我使用过的配置项。希望日后也可以帮助到有同样需求的人哈~完成项目之后,也如释重负了!大家加油!

qq_44092391的博客 3188

plotly----比matplotlib更简单更美观的交互式绘图python库

文章目录1. plotly介绍2. 安装plotlyJupyterlab support(python 3.5+)图片导出工具安装nodejs相关安装orca安装3. 使用plotly在线绘图离线绘图网页输出式绘图jupyter 中实时输出输出静态图片 1. plotly介绍 matplotlib是Python中最广为人知的图表绘制框架。但是它实在太复杂了,如果要画出较为漂亮的图,则需要付出很多的...

Artificial Idiot 3万+

plotly 绘制子图(subplots)

划分子图 subplots import plotly.io as pio import plotly.express as px import plotly.graph_objects as go from plotly.subplots import make_subplots import pandas as pd import numpy as np # 设置plotly默认主题 pio.templates.default = 'plotly_white' # 设置pandas打印时显示所有列

终曲 1万+

可视化神器Plotly玩转桑基图

公众号:尤而小屋作者:Peter编辑:Peter 大家好,我是Peter呀~ 本文介绍的是利用Plotly绘制一种相对少见的可视化图形:桑基图,这个图形可以说是展现数据流动的利器。 虽然桑基图使用的频率相对来说不如柱状图、饼图那般高,但是个人还是非常喜欢这个图形。 第一次接触桑基图的时候,是使用Pyehcarts(以后会专门介绍这个国产的可视化神器)绘制的,本文将介绍如何使用Plotly来实现这个图形。 一、桑基图简介 1.1 什么是桑基图 桑基图(Sankey diagram),即桑基能量分流图.

尤尔小屋 9103

再见matplotlib,可视化神器 Plotly 绘制图表的太酷炫了

数据分析离不开数据可视化。我们最常用的就是pandas,matplotlib,pyecharts 当然还有 Tableau,最近看到一篇文章介绍 plotly 制图后,我感觉写的不够简洁明了。 今天就给大家分享利用可视化神器 Plotly 绘制酷炫图表,欢迎收藏学习,喜欢点赞支持,文末有技术交流群。 Plotly 简介 Plotly 是一款用来做数据分析和可视化的 Python 工具包,功能非常强大,可以绘制很多图形比如条形图、散点图、饼图、直方图等等。而且还是支持在线编辑。 它在 python 中使用也很

Python学习与数据挖掘 2370

蜡烛图plotly_可视化神器--Plotly

数据分析离不开数据可视化。我们最常用的就是pandas,matplotlib,pyecharts当然还有Tableau,看到一篇文章介绍plotly制图后我也跃跃欲试,查看了相关资料开始尝试用它制图Plotly 是一款用来做数据分析和可视化的在线平台,功能非常强大,可以在线绘制很多图形比如条形图、散点图、饼图、直方图等等。而且还是支持在线编辑,以及多种语言python、javascript、mat...

weixin_42186387的博客 1308

Jupyter模块Plotly及labextension插件的安装

Jupyter模块Plotly及labextension插件的安装 ​ 学习的路上从来都不是一帆风顺的,今天学习Python数据之道的plotly模块应用案例,第一次接触,根据错误提示,感觉应该很简单,就像以往一样,直接在命令行下面pip install 模块名就可以了。但是Plotly插件安装非常繁琐,没那么简单。现总结如下: 运行环境: ​ § macOS 系统 ​ § Python version : 3.9.7 ​ § Plotly version : 5.6.0 ​ § anaconda ve

Bruce_xiaowei的博客 3256

Python3 - plotly, graph_objs, 炫酷的数据可视化

博主是在Jupyter Notebooks上进行练习的,如果想知道如何创建Jupyter Notebooks,请点击这里 在coding 之前,得安装graph_objs pip install graph_objs 这次实验使用的数据只是用来练习 先看要使用的数据: import chart_studio.plotly as py from plotly.offline import download_plotlyjs,init_notebook_mode,plot,iplot import plotl

CHNMSCS 3324

蜡烛图plotly_可视化神器Plotly(5)---参数详解

本文主要针对plotly的参数含义进行说明,随着plotly版本的迭代更新,部分参数的用法会有细微变化,具体参加官方文档一、图表预览二、图表类型Angularaxis:极坐标图表Area:区域图表Bar:条形图Box:盒形图,又称箱线图、盒子图、箱图Candlestick与OHLC:金融行业常用的K线图和OHLC曲线图ColorBar:彩条图Contour:轮廓图,又称等高线图Choropleth...

weixin_36115763的博客 4967

Python3 - plotly 练习题

博主是在Jupyter Notebooks上进行练习的,如果想知道如何创建Jupyter Notebooks,请点击这里 先展示要使用的数据: import chart_studio.plotly as py from plotly.offline import download_plotlyjs,init_notebook_mode,plot,iplot import plotly.graph_objs as go import pandas as pd init_notebook_mode(connec

CHNMSCS 308
上一篇: Xlearn ——快速落地FM/FFM机器学习算法
下一篇: 30分钟吃掉pytorch转onnx及推理
算法美食屋
博客等级 码龄9年 2万+粉丝 154原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值