Pydeck 工具提示格式编号

问题描述

有谁知道如何编辑 pydeck 图的工具提示部分。具体来说,我想改变 mrt_distance 在 html 部分以整数显示,千位用逗号。例如,2143.45 meters显示2,143 meters

import pandas as pd
import pydeck as pdk

DATA_URL = "https://raw.githubusercontent.com/ajduberstein/geo_datasets/master/housing.csv"
df = pd.read_csv(DATA_URL)

view = pdk.data_utils.compute_view(df[["lng","lat"]])
view.pitch = 75
view.bearing = 60

column_layer = pdk.Layer(
    "ColumnLayer",data=df,get_position=["lng","lat"],get_elevation="price_per_unit_area",elevation_scale=100,radius=50,get_fill_color=["mrt_distance * 10","mrt_distance","mrt_distance * 10",140],pickable=True,auto_highlight=True,)

tooltip = {
    "html": "<b>{mrt_distance}</b> meters away from an MRT station,costs <b>{price_per_unit_area}</b> NTD/sqm","style": {"background": "grey","color": "white","font-family": '"Helvetica Neue",Arial',"z-index": "10000"},}

r = pdk.Deck(
    column_layer,initial_view_state=view,tooltip=tooltip,map_provider="mapBox",map_style=pdk.map_styles.SATELLITE,)

r.to_html("column_layer.html")

解决方法

目前,您必须在输入数据中创建一个单独的字段,该字段是格式正确的字符串,例如,

df['formatted_distance'] = df['mrt_distance'].apply(lambda d: f'{round(d,2):,}')

然后您可以在工具提示中按名称提及此列。