2017-05-08 73 views
4

這色階是一個代碼,我試圖表明在每個點上車速度。蟒蛇plotly創建與最大和最小號的值

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公里每小時看起來相似的顏色,但通常真的不同速度)

enter image description here

我的問題是如何建立一個規模爲選擇顏色的速度?

編輯:

這是我已編輯的數據的一個例子。

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 
+0

如何定義高和低的RGB值,然後做線性插值? –

+0

編輯。嘿@AnthonyKong不是RGB,但我試過HSL代碼,因爲HSL的第一個值是整數,所以你可以很容易地聲明它。 C = [ 'HSL(' + STR(dataframe_monday_morning [ '速度'])+ '50%的 '+',50%)'],但我不能在我的代碼嵌入 - – Axis

+0

你可以添加一些示例數據獲得獨立的例子? –

回答

2

不是100%肯定,如果我得到了問題的權利,但你可以嘗試添加

showscale=True, 
cmax=200, 
cmin=0 

Marker對象獲得與固定maxmin值的彩條的圖形。

enter image description here

+0

這很酷!我試過很多次,這是工作,如果超過限制你的數據並不重要程序是給你的最終極限的顏色。謝謝! – Axis