python plotly创建一个与最大值和最小值相关的色阶
Posted
技术标签:
【中文标题】python plotly创建一个与最大值和最小值相关的色阶【英文标题】:python plotly create a color scale related to max and min number of value 【发布时间】:2017-10-05 23:35:16 【问题描述】:这是一个代码,我尝试显示每个点的车速。
import plotly.plotly as py
from plotly.graph_objs import *
mapbox_access_token = 'MAPBOX API KEY'
data = Data([
Scattermapbox(
lat=dataframe_monday_morning['latitude'],
lon=dataframe_monday_morning['longitude'],
mode='markers',
marker=Marker(
size=5,
color =dataframe_monday_morning['speed'],
colorscale= 'YlOrRd',
#opacity=0.3,
symbol = 'circle',
),
)
])
layout = Layout(
autosize=True,
hovermode='closest',
width=1300,
margin=go.Margin(
l=0,
r=0,
b=0,
t=0
),
height=700,
mapbox=dict(
accesstoken=mapbox_access_token,
bearing=0,#
center=dict(
lat=-36.7526,
lon=174.7274
),
pitch=0,
zoom=16.2,
style='dark',
),
)
fig = dict(data=data, layout=layout)
py.iplot(fig, filename='Multiple Mapbox')
但是当我尝试时
color =dataframe_monday_morning['speed']
代码选择当前数据的最小和最大速度然后给我一个图表。在数据中,一些速度数据差距非常大,所以我想在我的速度值之间创建一个色标。 (例如,如果您选择最高速度 200 公里/小时,您的其他 30 公里/小时和 90 公里/小时看起来颜色相似,但通常速度确实不同)
我的问题是如何为速度选择颜色创建比例?
编辑:
这是我编辑的数据示例。
13 1.464301e+10 2015-11-15 18:28:50 191 10051 76 -36.817540 174.750526
14 1.464298e+10 2015-11-15 18:27:20 209 10051 48 -36.806104 174.759209
15 1.464180e+10 2015-11-15 17:41:27 171 10051 0 -36.718553 174.713503
16 1.464186e+10 2015-11-15 17:43:44 172 10051 25 -36.720747 174.713897
17 1.464238e+10 2015-11-15 18:05:36 137 10051 5 -36.753691 174.728945
18 1.464199e+10 2015-11-15 17:49:22 170 10051 0 -36.728252 174.715084
19 1.464279e+10 2015-11-15 18:20:41 153 10051 20 -36.787389 174.752337
20 1.464229e+10 2015-11-15 18:01:47 146 10051 16 -36.749369 174.724865
21 1.464298e+10 2015-11-15 18:27:39 216 10051 51 -36.807940 174.757603
22 1.464254e+10 2015-11-15 18:11:35 162 10051 36 -36.765195 174.739728
23 1.464301e+10 2015-11-15 18:28:37 197 10051 66 -36.815369 174.751177
【问题讨论】:
如何定义高低RGB值,然后进行线性插值? 已编辑。嘿@AnthonyKong 不是 RGB,但我尝试了 HSL 代码,因为 HSL 的第一个值是整数,因此您可以轻松声明它。 c= ['hsl('+str(dataframe_monday_morning['speed'])+',50%'+',50%)'] 但我无法嵌入我的代码 - 您能添加一些示例数据以获得独立示例吗? 嘿@MaximilianPeters 我编辑了我的问题 【参考方案1】:不是 100% 确定我的问题是否正确,但您可以尝试添加
showscale=True,
cmax=200,
cmin=0
到您的Marker
对象以获取带有固定max 和min 值的颜色条的图表。
【讨论】:
这太酷了!我尝试了很多次,如果您的数据超出限制无关紧要,程序会为您提供限制颜色的结束。谢谢!以上是关于python plotly创建一个与最大值和最小值相关的色阶的主要内容,如果未能解决你的问题,请参考以下文章
创建一个新变量,它是python中另一个变量的每周最小值/最大值
R语言使用fmsb包可视化基本雷达图(radar chart蜘蛛图spider plot)数据预处理(计算每个变量的最大值和最小值并合并到原数据集)可视化单个数据对象的雷达图