Pydeck 工具提示格式编号

时间:2021-01-11 05:55:47

标签: html python-3.x streamlit 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")

1 个答案:

答案 0 :(得分:1)

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

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

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

相关问题