-
-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Open
@do-me
Description
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.