微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 plotly mapbox DensityMapBox 绘制 k_means 簇的密度

如何解决使用 plotly mapbox DensityMapBox 绘制 k_means 簇的密度

我已经使用 k_means 聚类将每个坐标分配给了一个集群,并希望用 plotly go.DensitymapBox 显示每个集群的密度。

import plotly.graph_objects as go

colors=[(0.0,'#170d33' ),(0.058,'#170d33'),'#2f4b7c'),(0.116,(0.174,'#665191'),(0.233,'#875296'),(0.291,'#a05195'),(0.348,(0.358,'#d45087'),(0.40,'#f95d6a'),(0.465,'#ff7c43'),(0.523,'#ffa600'),(0.581,'#ffc332'),(0.638,'#fff629'),(0.69,'#f7ffbd'),(0.754,'#d2ffbd'),(0.81,'#a2ffc9'),(0.86,'#85ffd4'),(0.924,'#1cfff0'),(1.0,'#1cfff0')]

fig=go.figure(go.DensitymapBox(lat=data['lat'],lon=data['lng'],z=data["cluster"],coloraxis='coloraxis'))
fig.update_layout(height=800,width=1000,coloraxis=dict(colorscale=colors),mapBox_style="open-street-map",mapBox_layers = [
                {
                    "sourcetype": "image","source": img,"coordinates": bBox_coords
                }],font=dict(size=24),font_family='Open Sans')

fig.show()

实现离散色标会产生以下结果:

density-clusters not showing

虽然认色阶会产生这个:

enter image description here

认色阶来区分集群是很困难的,但我在文档中几乎没有发现关于使用密度图指定离散色阶的内容,这让我觉得这并没有真正完成?如果我可能忽略了绘制此图的任何替代解决方案,我将不胜感激!

可以在下面找到数据:

{'lat': {0: 43.6,1: 45.33,2: 32.38,3: 34.0,4: 30.31,5: 37.64,6: 34.43,7: 31.39,8: 33.34,9: 40.138306,10: 40.68,11: 34.28,12: 35.862833,13: 35.28,14: 32.75,15: 29.62,16: 29.757561,17: 35.07,18: 45.51,19: 27.190719,20: 37.51,21: 40.41,22: 36.81,23: 36.81,24: 26.2},'lng': {0: -96.59,1: -122.57,2: -94.87,3: -84.62,4: -97.94,5: -122.11,6: -119.72,7: -97.21,8: -86.78,9: -88.161651,10: -111.82,11: -119.29,12: -94.196334,13: -120.66,14: -117.21,15: -82.38,16: -95.36525,17: -82.37,18: -122.61,19: -80.236942,20: -77.69,21: -105.01,22: -119.87,23: -119.87,24: -80.15},'price': {0: 37000.0,1: 99000.0,2: 65000.0,3: 27800.0,4: 52500.0,5: 27000.0,6: 72000.0,7: 25000.0,8: 69000.0,9: 34500.0,10: 55000.0,11: 89000.0,12: 92000.0,13: 72000.0,14: 24000.0,15: 55000.0,16: 37500.0,17: 44000.0,18: 32500.0,19: 39000.0,20: 39900.0,21: 48500.0,22: 59500.0,23: 96500.0,24: 45500.0},'cluster': {0: 14,1: 3,2: 1,3: 4,4: 1,5: 11,6: 2,7: 0,8: 8,9: 9,10: 11,11: 2,12: 2,13: 7,14: 5,15: 1,16: 1,17: 8,18: 15,19: 0,20: 8,21: 10,22: 7,23: 3,24: 0},'centroids': {0: 0,1: 0,2: 0,3: 0,4: 0,5: 0,6: 0,8: 0,9: 0,10: 1,11: 0,12: 0,13: 0,14: 0,15: 0,16: 0,17: 0,18: 0,20: 0,21: 0,22: 0,23: 0,24: 0}}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。