Streamlit从入门到精通 系列:
1. 使用Streamlit显示图表Graphs
1.1 为什么我们需要可视化?
数据可视化通过将数据整理成更容易理解的格式来讲述故事,凸显趋势和异常点。好的可视化能够讲述一个故事,从数据中去除杂音,突出有用的信息。然而,这不仅仅是简单地美化一个图表使其看起来更好,或者是在信息图上随意添加“信息”部分。有效的数据可视化是形式与功能之间微妙的平衡行为。最简单的图表可能过于乏味,无法吸引注意力或传达有力的信息,而最令人惊叹的可视化可能完全无法传达正确的信息。数据和视觉效果需要相辅相成,将出色的分析与出色的故事讲述结合起来是一门艺术。
你认为给你一百万数据点的表格/数据库文件,然后仅通过观察表格上的数据让你提供推断,这是否可行?除非你是超人,这是不可能的。这就是我们使用数据可视化的时候——它通过通过地图或图表提供视觉上下文,让我们清楚地了解信息的含义。这就是Streamlit可视化的力量。
st.pyplot()
:此函数用于显示matplotlib.pyplot图形。
import matplotlib.pyplot as plt
import numpy as np
rand=np.random.normal(1, 2, size=20)
fig, ax = plt.subplots()
ax.hist(rand, bins=15)
st.pyplot(fig)
st.line_chart()
:此函数用于显示折线图。
import streamlit as st
import pandas as pd
import numpy as np
df= pd.DataFrame(
np.random.randn(10, 2),
columns=['x', 'y']
)
st.line_chart(df)
st.bar_chart()
: 此功能用于显示条形图。
import streamlit as st
import pandas as pd
import numpy as np
df= pd.DataFrame(
np.random.randn(10, 2),
columns=['x', 'y']
)
st.bar_chart(df)
st.area_chart()
:该函数用于显示面积图。
import streamlit as st
import pandas as pd
import numpy as np
df= pd.DataFrame(
np.random.randn(10, 2),
columns=['x', 'y']
)
st.area_chart(df)
st.altair_chart()
:此函数用于显示Altair图表。
import streamlit as st
import numpy as np
import pandas as pd
import altair as alt
df = pd.DataFrame(
np.random.randn(500, 3),
columns=['x','y','z']
)
c = alt.Chart(df).mark_circle().encode(
x='x' ,
'y'=y ,
size='z',
color='z',
tooltip=['x', 'y', 'z']
)
st.altair_chart(c, use_container_width=True)
st.graphviz_chart()
:此函数用于显示图形对象,可通过不同的节点和边来完成。
import streamlit as st
import graphviz as graphviz
st.graphviz_chart('''
digraph {
Big_shark -> Tuna
Tuna -> Mackerel
Mackerel -> Small_fishes
Small_fishes -> Shrimp
}
''')
2. 使用Streamlit显示地图
st.map()
:此函数用于在应用程序中显示地图。但是,它需要纬度和经度的值,这些值不应为null/NA
。
import pandas as pd
import numpy as np
import streamlit as st
df = pd.DataFrame(np.random.randn(500, 2) / [50, 50] + [37.76, -122.4],
columns=['lat', 'lon'])
st.map(df)
3. 主题 Themes
您也可以选择一个反映您风格的主题。请按照下面 GIF 中的步骤操作:
如果您对学习更多关于样式和主题的知识感兴趣,可以看看主题设计Theming。
现在,是时候一起构建一个应用程序了!请看下回分解…
参考
- https://www.datacamp.com/tutorial/streamlit
- https://streamlit.io/