资源:Introduction - Streamlitopedia
1 Markdown 集成
Markdown在简化的应用程序中有多种用途。作为精简应用程序中唯一用于自定义 HTML 的工具,您可以使用它灵活地将丰富的内容插入到您的应用程序中。
1.1 使用 Markdown 文件
如果您的内容超出了句子的长度,或者想要一种更简单的方法来编写多行 markdown 内容,请创建一个单独的 markdown 文件,然后在需要时将该内容导入到您的应用中。
例如,您的应用可能包含一些介绍性文字。创建一个 intro.md
文件并在其中写入内容,然后将内容导入 markdown 小部件中。
import streamlit as st
def read_markdown_file(markdown_file):
with open(markdown_file, encoding='utf-8') as fp:
w = fp.read()
return w
intro_markdown = read_markdown_file("intro.md")
st.markdown(intro_markdown, unsafe_allow_html=True)
1.2 有条件地显示长内容
如果使用上述方法编写和显示长 Markdown 内容,则可能不希望总是显示该内容,因为它占用了应用程序屏幕空间的很大一部分。有两种选择。
1.2.1 使用 st.checkbox
隐藏
在此示例中,假设在 data_dictionary.md
中有一个数据字典。然后,我们可以用一个 st.checkbox
当复选框被选中,以显示此内容的地方。
dict_check = st.checkbox("Data Dictionary")
dict_markdown = read_markdown_file("data_dictionary.md")
if dict_check:
st.markdown(dict_markdown, unsafe_allow_html=True)
1.2.2 在 Markdown 中使用 <details><summary>
元素
由于可以在 markdown 中使用 HTML,因此可以利用 <details>
元素。您无需使用精简的窗口小部件,而可以使用 markdown 中的这些元素“write
”该窗口小部件。
例如:
<details>
<summary>Data Dictionary</summary>
## Data Dictionary
- Variable 1: this is variable 1
- Variable 2: this is variable 2
...
</details>
1.2.3 使用 <small>
Elements 元素
在 markdown 中,---
将创建水平线 <hr>
元素。这些有助于对应用程序进行分区。
1.2.4 可以使用 Emoji
表情符号可以充当一些小图标,以突出显示您应用的某些功能。例如,ℹ️可用于指示上下文信息,,和🚫可用于正例和负例。
表情符号数字(①⑴❶)也有几种样式,可用来指导用户完成应用程序中选项的顺序。
1.2.5 将 f-strings 与 Markdown 结合
在围绕分析构建界面时,其中的许多步骤都需要在变量名称,小部件值,轴标签,小部件标签或叙述性描述中创建或处理字符串。
如果我们想以叙述形式显示一些分析结果,并且要突出显示一些特定变量,则 f-strings 和 markdown 可以帮助我们。除了用特定的变量值填充字符串的简便方法之外,这也是一种内联格式的简单方法。例如,我们可能会使用类似的方式来显示有关数据集中列的基本信息,并在 markdown 字符串中突出显示它们。
mean = df["values"].mean()
n_rows = len(df)
md_results = f"The mean is **{mean:.2f}** and there are **{n_rows:,}**."
st.markdown(md_results)
在此,我们使用了两种格式:.2f
将浮点数舍入到小数点后两位;以及使用逗号作为千位分隔符。我们还使用 markdown 语法对值加粗,以使它们在文本中在视觉上突出显示。
网友评论