<返回更多

Python-Streamlit库再学习:st.slider和数据可视作图

2020-06-21    
加入收藏

1 说明:

=====

1.1 是一个开源Python库,可轻松构建用于机器学习的漂亮应用程序。

Python-Streamlit库再学习:st.slider和数据可视作图

 

1.2 我的第一篇文章,对其介绍、安装、初步相关使用做了详细的介绍:

《Streamlit是python的一个机器学习、数据科学、应用开发框架》

1.3 纠正末尾gif的st.slider图:是下面的。

Python-Streamlit库再学习:st.slider和数据可视作图

 

2 数据可视化作图:

==============

2.1 Streamlit当前支持许多用于绘图的库,其中就有Plotly, Bokeh, Matplotlib, Altair和Vega图表。

2.2 plotly法:

2.2.1 代码:

import streamlit as st
st.title("数据可视化作图")
st.header("折线图")
#导入plotly并作图
import plotly.graph_objs as go
trace0 = go.Scatter(x=[1, 2, 3, 4], y=[10, 15, 13, 17])
trace1 = go.Scatter(x=[1, 2, 3, 4], y=[16, 5, 11, 9])
data = [trace0, trace1]
#写入数据并显示图
st.write(data) #用st.write

2.2.2 效果图:

Python-Streamlit库再学习:st.slider和数据可视作图

 

2.2.3 代码:3D

import streamlit as st
import plotly.graph_objs as go
import numpy as np
#显示标题
st.header("3D plot")
#随机生成散点坐标轴
x, y, z = np.random.multivariate_normal(np.array([0, 0, 0]), np.eye(3), 400).transpose()

trace1 = go.Scatter3d(
    x=x,
    y=y,
    z=z,
    mode="markers",
    marker=dict(
        size=12,
        color=z,  # set color to an array/list of desired values
        colorscale="Viridis",  # choose a colorscale
        opacity=0.8,
    ),
)

data = [trace1]
layout = go.Layout(margin=dict(l=0, r=0, b=0, t=0))
fig = go.Figure(data=data, layout=layout)

st.write(fig)
#streamlit run 6-plotly-3D.py

2.2.4 操作效果图:

Python-Streamlit库再学习:st.slider和数据可视作图

 

2.3 matplotlib法

2.3.1 代码:

import streamlit as st
st.title("数据可视化作图")
st.header("matplotlib-Scatter")

import matplotlib.pyplot as plt
f = plt.figure()
#附加学习Python的列表及列表推导式
x=[x for x in range(9)]
x1=x[1:]
#x1=[1,2,3,4,5,6,7,8]  #等于上面2个
y=[3,6,2,7,4,8,5,3]
plt.scatter(x1,y)
#st.plotly_chart(f)  #老版matplotlib的格式
st.write(f)  #新版matplotlib

2.3.2 操作和效果图:

Python-Streamlit库再学习:st.slider和数据可视作图

 

2.4 altair法

2.4.1 代码:

import streamlit as st
import altair as alt 
from vega_datasets import data
source = data.cars()
#设置刷子,交互性
brush = alt.selection(type='interval')
points = alt.Chart().mark_point().encode( 
    x='Horsepower:Q', y='Miles_per_Gallon:Q', 
    color=alt.condition(brush, 'Origin:N', alt.value('lightgray')) ).add_selection( brush )
bars = alt.Chart().mark_bar().encode( 
    y='Origin:N', color='Origin:N', x='count(Origin):Q' ).transform_filter( brush )
#把点图和柱状图挂在一起
bbb=alt.vconcat(points, bars, data=source)
#一起启动服务器
#bbb.serve('0.0.0.0', 8888)  #用altair启动服务器自动浏览器打开
st.write(bbb)  #streamlit run 7-altair.py  #用终端启动文件,没有上面有优势

2.4.2 操作效果图:

Python-Streamlit库再学习:st.slider和数据可视作图

 

3 st.file_uploader和st.button

======================

3.1 代码:

import streamlit as st
import pandas as pd
uploaded_file = st.file_uploader("Choose a CSV file", type="csv")
if uploaded_file is not None:
    data = pd.read_csv(uploaded_file)

if st.button('Say hello'):
    st.write('Why hello there') 
else:
    st.write('Goodbye')

3.2 图

Python-Streamlit库再学习:st.slider和数据可视作图

 

 

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>