以大号粗体字体显示一个指标,并可选地显示指标变化的指示器。

提示:如果你想显示一个大数字,使用像millifynumerize这样的包来缩短它可能是个好主意。例如,1234可以使用st.metric("Short number", millify(1234))显示为1.2k

函数签名[source]

st.metric(label, value, delta=None, delta_color="normal", help=None, label_visibility="visible", border=False)

参数

label (str)

指标的标题或名称。标签可以选择性地包含以下类型的GitHub风格的Markdown:粗体、斜体、删除线、内联代码、链接和图片。图片显示为图标,最大高度等于字体高度。

不支持的Markdown元素会被解包,因此只有它们的子元素(文本内容)会渲染。通过反斜杠转义不支持的元素,将其显示为字面字符。例如,"1\. 不是一个有序列表"

有关其他支持的Markdown指令,请参见st.markdownbody参数。

value (int, float, str, or None)

指标的值。None 显示为长破折号。

delta (int, float, str, or None)

指标变化的指示器,显示在指标下方的箭头。如果delta为负数(int/float)或以减号开头(str),箭头指向下方且文本为红色;否则箭头指向上方且文本为绿色。如果为None(默认值),则不显示delta指示器。

delta_color ("normal", "inverse", 或 "off")

如果为 "normal"(默认),则如上所述显示增量指示器。如果为 "inverse",则当为正时显示为红色,当为负时显示为绿色。这在负变化被认为是好的情况下很有用,例如成本下降。如果为 "off",则无论其值如何,增量都以灰色显示。

help (str)

一个可选的工具提示,显示在指标标签旁边。 Streamlit 仅在 label_visibility="visible" 时显示工具提示。

label_visibility ("visible", "hidden", or "collapsed")

标签的可见性。默认是"visible"。如果这是"hidden",Streamlit会显示一个空的占位符而不是标签,这有助于保持小部件与其他小部件对齐。如果这是"collapsed",Streamlit不会显示标签或占位符。

border (bool)

是否在指标容器周围显示边框。如果这是False(默认值),则不显示边框。如果这是True,则显示边框。

示例

示例 1:显示一个指标

import streamlit as st

st.metric(label="Temperature", value="70 °F", delta="1.2 °F")

示例2:创建一行指标

st.metricst.columns 结合使用时看起来特别漂亮。

import streamlit as st

col1, col2, col3 = st.columns(3)
col1.metric("Temperature", "70 °F", "1.2 °F")
col2.metric("Wind", "9 mph", "-8%")
col3.metric("Humidity", "86%", "4%")

示例 3:修改 delta 指示器

增量指示器的颜色也可以反转或关闭。

import streamlit as st

st.metric(label="Gas price", value=4, delta=-0.5, delta_color="inverse")

st.metric(
    label="Active developers", value=123, delta=123, delta_color="off"
)

示例 4:创建一个指标卡片网格

为您的指标添加边框以创建仪表板外观。

import streamlit as st

a, b = st.columns(2)
c, d = st.columns(2)

a.metric("Temperature", "30°F", "-9°F", border=True)
b.metric("Wind", "4 mph", "2 mph", border=True)

c.metric("Humidity", "77%", "5%", border=True)
d.metric("Pressure", "30.34 inHg", "-2 inHg", border=True)
forum

还有问题吗?

我们的 论坛 充满了有用的信息和Streamlit专家。