热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

从滑块输入数据以更改标记颜色

如何解决《从滑块输入数据以更改标记颜色》经验,您有什么比较好的解决方法?

感谢对此任务的任何帮助!

我正在尝试使该破折号应用程序采用滑块输入值来通过函数更改变量,然后仅更改标记颜色变量。

该代码使用python编写,并使用plotly-dash和plotly以及pandas numpy和mapbox。

代码的顶部是将数据转换为正确的格式。它具有正在处理的交通数据,以生成热图,该热图在地图上显示一段时间内的拥堵情况。数据框DF用于处理流量,并且创建了数据框HF,因此滑块可以工作(我在与滑块一起使用的列数上添加了编号为0的列)-函数datatime应该根据时间和检测器ID。

我最初使用Javascript创建了此功能,如下所示-https: //jsbin.com/detejef/edit?html ,js, output

我已经在这段代码上工作了一段时间了。非常接近最终获得原型,但有一个障碍-时间变量无法正确更新,并随着检测器的更改重新更新地图...

我只需要标记字典子函数的颜色来改变滑块值,并结合我创建的函数即可。该功能本身起作用。

这是对代码的更新。

#  data wrangling

xls = pd.ExcelFile('FreewayFDSData.xlsx')  # this loads the data only once saving memory
df = pd.read_excel(xls, 'Volume', parse_dates=True, index_col="Time")
df = df.T

df2 = pd.read_excel(xls, 'Occupancy', parse_dates=True, index_col="Time")
df2 = df2.T

df3 = pd.read_excel(xls, 'Speed', parse_dates=True, index_col="Time")
df3 = df3.T

Detectors = list(df.columns)

mf = pd.read_excel('FreewayFDSData.xlsx', 'Coordinates', index_col="Short Name")

#   return df, df2, df3, Detectors, mf


# input slider value then output into data frame filter for slider time volume value

# timeslider arrangement
def heatmap(SVO):
    # creates heatmap data for map
    SVO['Period'] = np.arange(len(SVO))
    mintime = SVO['Period'].min()
    maxtime = SVO['Period'].max()
    return mintime, maxtime


mintime, maxtime = heatmap(df)

hf = df.reset_index().set_index('Period')

df2['Period'] = np.arange(len(df2))
hf2 = df2.reset_index().set_index('Period')
df3['Period'] = np.arange(len(df3))
hf3 = df.reset_index().set_index('Period')
# Marker

def datatime(t,hf):
    heat = hf.filter(items=[t], axis=0).T.drop("index")
    return heat[t]

这是应用程序部分,其中仅包含有用的部分。

                   ..... 
html.Div([
    dcc.RadioItems(
        id='tdatam',
        optiOns=[{'label': i, 'value': i} for i in ['Volume', 'Speed', 'Occupancy']],
        value='Volume',
        labeldisplay': 'inline-block'}
    ),
],
    width': '48%', 'display': 'inline-block'}),

html.Div([
    ....
    ],
        width': '50%', 'display': 'inline-block'}),

    dcc.Graph(id='graph'),
    html.P("", id="popupAnnotation", className="popupAnnotation"),
    dcc.Slider(
        id="Slider",
        marks={i: 'Hour {}'.format(i) for i in range(0, 24)},
        min=mintime / 4,
        max=maxtime / 4,
        step=.01,
        value=9,
    )
], padding-bottom": '50px', "padding-right": '50px', "padding-left": '50px', "padding-top": '50px'}),
        ....

应用功能/回调

@app.callback(
    Output('graph', 'figure'),

    [Input('Slider', 'value'),
     Input('tdatam', 'value')]

)
def update_map(time, tdata):
    #use state 
    zoom = 10.0
    latInitial = -37.8136
    lOnInitial= 144.9631
    bearing = 0
    #when time function is updated from slider it is failing
    #Trying to create either a new time variable to create a test for time slider or alternatively a new function for updating time
    if tdata == "Volume":
        return go.Figure(
            data=Data([
                Scattermapbox(
                    lat=mf.Y,
                    lon=mf.X,
                    mode='markers',
                    hoverinfo="text",
                    text=["Monash Freeway", "Western Link",
                          "Eastern Link",
                          "Melbourne CBD", "Swan Street"],
                    # opacity=0.5,
                    marker=Marker(size=15,
                                  color=datatime(time,hf),
                                  colorscale='Viridis',
                                  opacity=.8,
                                  showscale=True,
                                  cmax=2500,
                                  cmin=700
                                  ),
                ),
            ]),
            layout=Layout(
                autosize=True,
                height=750,
                margin=Margin(l=0, r=0, t=0, b=0),
                showlegend=False,
                mapbox=dict(
                    accesstoken=mapbox_access_token,
                    center=dict(
                        lat=latInitial,  # -37.8136
                        lon=lonInitial  # 144.9631
                    ),
                    ,
                    bearing=bearing,
                    zoom=zoom
                ),........
                    )
                ]
            )
        )

示例数据(已命名)

Lat/Long/Name

Short Name  Y   X
A   -37.883416  145.090084
B   -37.883378  145.090038
C   -37.882968  145.089531
D   -37.882931  145.089484



Data input
Row Labels  00:00 - 00:15   00:15 - 00:30   00:30 - 00:45   00:45 - 01:00   01:00 - 01:15   01:15 - 01:30   01:30 - 01:45   01:45 - 02:00   02:00 - 02:15   02:15 - 02:30   02:30 - 02:45   02:45 - 03:00   03:00 - 03:15   03:15 - 03:30   03:30 - 03:45   03:45 - 04:00   04:00 - 04:15   04:15 - 04:30   04:30 - 04:45   04:45 - 05:00   05:00 - 05:15   05:15 - 05:30   05:30 - 05:45   05:45 - 06:00   06:00 - 06:15   06:15 - 06:30   06:30 - 06:45   06:45 - 07:00   07:00 - 07:15   07:15 - 07:30   07:30 - 07:45   07:45 - 08:00   08:00 - 08:15   08:15 - 08:30   08:30 - 08:45   08:45 - 09:00   09:00 - 09:15   09:15 - 09:30   09:30 - 09:45   09:45 - 10:00   10:00 - 10:15   10:15 - 10:30   10:30 - 10:45   10:45 - 11:00   11:00 - 11:15   11:15 - 11:30   11:30 - 11:45   11:45 - 12:00   12:00 - 12:15   12:15 - 12:30   12:30 - 12:45   12:45 - 13:00   13:00 - 13:15   13:15 - 13:30   13:30 - 13:45   13:45 - 14:00   14:00 - 14:15   14:15 - 14:30   14:30 - 14:45   14:45 - 15:00   15:00 - 15:15   15:15 - 15:30   15:30 - 15:45   15:45 - 16:00   16:00 - 16:15   16:15 - 16:30   16:30 - 16:45   16:45 - 17:00   17:00 - 17:15   17:15 - 17:30   17:30 - 17:45   17:45 - 18:00   18:00 - 18:15   18:15 - 18:30   18:30 - 18:45   18:45 - 19:00   19:00 - 19:15   19:15 - 19:30   19:30 - 19:45   19:45 - 20:00   20:00 - 20:15   20:15 - 20:30   20:30 - 20:45   20:45 - 21:00   21:00 - 21:15   21:15 - 21:30   21:30 - 21:45   21:45 - 22:00   22:00 - 22:15   22:15 - 22:30   22:30 - 22:45   22:45 - 23:00   23:00 - 23:15   23:15 - 23:30   23:30 - 23:45   23:45 - 24:00
A   88  116 84  68  76  56  56  48  72  48  76  40  76  44  36  76  76  116 124 176 236 352 440 624 1016    1172    1260    1280    1304    1312    1252    1344    1324    1336    1212    1148    1132    1120    1084    996 924 1040    952 900 900 1116    1136    1044    1144    1152    1224    1088    1132    1184    1208    1120    1240    1196    1116    1264    1196    1240    1308    1192    1164    1096    1080    1160    1112    1244    1244    1184    1232    996 1108    876 864 776 644 520 684 724 632 620 680 724 516 504 432 396 264 252 272 256 100 144
B   88  116 76  68  76  56  56  48  68  48  76  48  80  44  32  76  76  108 120 180 240 340 456 624 1088    1268    1352    1384    1412    1376    1356    1372    1400    1436    1296    1240    1200    1256    1120    1028    1008    1072    980 944 932 1148    1192    1040    1188    1220    1292    1140    1116    1268    1292    1172    1272    1236    1216    1280    1248    1280    1388    1244    1224    1076    1096    1148    1108    1256    1356    1308    1236    992 1100    880 872 768 640 520 680 720 636 620 660 716 512 504 428 396 260 244 272 252 100 136
C   84  108 68  68  72  56  56  36  60  48  76  44  72  48  32  68  76  108 124 176 240 340 436 604 1036    1168    1280    1372    1204    1304    1268    1228    1280    1312    1164    1076    1156    1108    924 960 864 944 896 840 840 1068    1052    1036    1128    1164    1136    1084    1052    1136    1072    1056    1136    1160    1088    1224    1180    1228    1264    1204    1044    1008    1076    1128    1112    1252    1188    1180    1156    1000    1096    860 868 736 600 520 680 704 624 616 684 720 500 504 408 392 252 236 264 240 96  144
D   92  108 68  68  72  56  56  40  64  48  76  44  72  48  32  72  76  112 132 184 240 340 436 608 1040    1156    1280    1336    1196    1336    1316    1272    1344    1332    1144    1140    1176    1128    924 948 888 956 892 848 868 1036    1064    1036    1108    1192    1120    1080    1044    1152    1068    1040    1140    1180    1104    1232    1164    1280    1256    1196    1052    1016    1084    1128    1116    1252    1192    1168    1160    1000    1076    868 872 744 620 524 680 716 628 628 680 716 500 500 412 388 256 244 260 244 96  144

我确定的关键问题是,在首次调用之后,HF并未被拉入函数中。我不确定为什么-它应该在滑块上的时间值更改时起作用。该函数本身显然很有效-绝对不会将HF引入def update_map中。


推荐阅读
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • 阿里Treebased Deep Match(TDM) 学习笔记及技术发展回顾
    本文介绍了阿里Treebased Deep Match(TDM)的学习笔记,同时回顾了工业界技术发展的几代演进。从基于统计的启发式规则方法到基于内积模型的向量检索方法,再到引入复杂深度学习模型的下一代匹配技术。文章详细解释了基于统计的启发式规则方法和基于内积模型的向量检索方法的原理和应用,并介绍了TDM的背景和优势。最后,文章提到了向量距离和基于向量聚类的索引结构对于加速匹配效率的作用。本文对于理解TDM的学习过程和了解匹配技术的发展具有重要意义。 ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • javascript  – 概述在Firefox上无法正常工作
    我试图提出一些自定义大纲,以达到一些Web可访问性建议.但我不能用Firefox制作.这就是它在Chrome上的外观:而那个图标实际上是一个锚点.在Firefox上,它只概述了整个 ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • FeatureRequestIsyourfeaturerequestrelatedtoaproblem?Please ... [详细]
  • 本文整理了Java面试中常见的问题及相关概念的解析,包括HashMap中为什么重写equals还要重写hashcode、map的分类和常见情况、final关键字的用法、Synchronized和lock的区别、volatile的介绍、Syncronized锁的作用、构造函数和构造函数重载的概念、方法覆盖和方法重载的区别、反射获取和设置对象私有字段的值的方法、通过反射创建对象的方式以及内部类的详解。 ... [详细]
  • 本文是一篇翻译文章,介绍了async/await的用法和特点。async关键字被放置在函数前面,意味着该函数总是返回一个promise。文章还提到了可以显式返回一个promise的方法。该特性使得async/await更易于理解和使用。本文还提到了一些可能的错误,并希望读者能够指正。 ... [详细]
  • 在IDEA中运行CAS服务器的配置方法
    本文介绍了在IDEA中运行CAS服务器的配置方法,包括下载CAS模板Overlay Template、解压并添加项目、配置tomcat、运行CAS服务器等步骤。通过本文的指导,读者可以轻松在IDEA中进行CAS服务器的运行和配置。 ... [详细]
  • 1Lock与ReadWriteLock1.1LockpublicinterfaceLock{voidlock();voidlockInterruptibl ... [详细]
  • 查找给定字符串的所有不同回文子字符串原文:https://www ... [详细]
  • 寻求更强大的身份和访问管理(IAM)平台的企业正在转向云,并接受身份即服务(IDaaS)的灵活性。要为IAM选择正确的场外解决方案,业务管理人员和IT专业人员必须在实施之前评估安全 ... [详细]
author-avatar
Ww不孤单_584
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有