簡體   English   中英

Plotly px.Scatter 或 go.Scatter Graph 特定點的唯一顏色/符號(簡單地圖)

[英]Plotly px.Scatter or go.Scatter Graph Unique Color/Symbol for specific points (Simple Map)

我正在嘗試使用 Plotly 創建一個簡單的網站 map。我不能使用 scatter_geo,因為我使用的是相對於網站的已知 X、Y 坐標 - 而不是緯度/經度。 px.Scatter 或 go.Scatter 似乎是最簡單的 map 的可行選擇。所以,我有一個 dataframe,基本上看起來像:

Location     Tag     x_coord    y_coord
Unit1        1-ABC     12.2       2.2
Unit1        2-DEF     -4.2       18
Unit2        3-HIJ      9          2
NaN          NaN        11         12
NaN          NaN        13         14
NaN          NaN        15         16

NaN 是未找到標簽的位置,但我們用於映射的工具繼續跟蹤 X、Y 坐標。 因此,這些要點也非常有用。

首先,為了創建一個簡單的散點圖 plot,我使用了:

fig = px.scatter(tagLocData, x=tagLocData['x_locations'], y=tagLocData['y_locations'])

這對於基本繪圖來說效果很好,但我看不到不同的位置。 所以,我搬到了:

fig = px.scatter(tagLocData, x=tagLocData['x_locations'], y=tagLocData['y_locations'], color='Location')

但是,這不包括在該位置找不到任何東西的坐標,僅包括該位置: 在此處輸入圖像描述

然后我嘗試通過以下方式向 go 添加跟蹤。圖:

fig = go.Figure(data=go.Scatter(x=tagLocData['x_locations'], y=tagLocData['y_locations'],\
                                mode='markers')) 


fig.add_trace(go.Scatter(x=tagLocData['x_locations'], y=tagLocData['y_locations'], fillcolor='Location'))

這產生了一個預期的錯誤,需要特定的位置顏色,所以我嘗試制作一個 colorDict。

colors = ColorDict()
test = dict(zip(tagLocData['Location'].unique(), colors))

fig = go.Figure(data=go.Scatter(x=tagLocData['x_locations'], y=tagLocData['y_locations'],\
                                mode='markers', marker=test)) 

這會將 X、Y 標記覆蓋在實際位置上。 我也嘗試了其他一些事情,但沒有運氣。 那里有很多相關的問題,但似乎沒有什么能解決我想做的事情。

如何使用此數據創建漂亮的 X、Y 散點圖 plot?

px.scatter將忽略NaN值,因此您可以使用類似"None"的字符串填充 NaN,並將該 dataframe 傳遞給 px.scatter:

fig = px.scatter(tagLocData.fillna("None"), x='x_coord', y='y_coord', color='Location')

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM