figure_factory create_hexbin_mapbox ignored agg_func
未關閉
還沒有人認領這個 Issue。
bug
P3
sev-4
- 主要語言
- Python
- 星號
- 18.8k
- 分支
- 2.8k
- 平均合併
- 16 小時 26 分鐘
- 30 天內合併 PR
- 21
描述
As the title states, the aggregation function is entirely ignored and it does not make any difference whether you insert np.mean, np.min or np.max. Using plotly==5.22.0
Example:
- Generate data
import plotly.figure_factory as ff
import pandas as pd
import numpy as np
# Mock GeoDataFrame with latitude, longitude, and value columns
np.random.seed(0)
num_points = 1000
data = {
'lat': np.random.uniform(40, 45, num_points),
'lon': np.random.uniform(-75, -70, num_points),
'value': np.random.uniform(0, 1, num_points)
}
df = pd.DataFrame(data)
df
- Plot and check vals
fig = ff.create_hexbin_mapbox(
data_frame=df, lat="lat", lon="lon",
nx_hexagon=50, # Decrease the size of hexagons
opacity=0.5, labels={"color": "value"},
color_continuous_scale="Viridis",
agg_func=np.min, # or np.max aggregation
show_original_data=True,
original_data_marker=dict(size=1.1, opacity=0.6, color="deeppink")
)
# Extract the hexbin data
hexbin_data = fig.data[0]
# Check the hexbin values
print("Hexbin values (z):", hexbin_data.z)
# Update the text of each hexagon to display the maximum value
hexbin_data.hovertemplate = 'Value: %{z}<extra></extra>'
# Update the layout to use OSM tiles
fig.update_layout(
mapbox_style="open-street-map",
height=800 # Set the desired height
)
fig.show()
Output for np.min, np.mean and np.max is identical:
Hexbin values (z): [0. 0. 0. ... 0. 1. 0.]
Hence, the plot does not change.
貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
研究方向
從 figure_factory 進入點 ff.create_hexbin_mapbox 開始,使用提供的 DataFrame 以及 np.min、np.mean 和 np.max 範例重現問題。追蹤 agg_func 如何傳入 hexbin 生成流程,然後確認產生的 hexbin_data.z 值是否針對每個聚合函式適當地有所不同。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- numpy, pandas, plotly, python
- 領域
- data-visualization
- Issue 類型
- 缺陷
- 難度
- 3/5
- 預估耗時
- 1-2 天
- 活躍度
- 停滯
- 描述清晰度
- 描述清楚
- 新手友好度
- 38/100