Streamlit-ECharts
Streamlit-ECharts是一个Streamlit组件,用于在Python应用程序中展示ECharts图表。ECharts是一个由百度开发的JavaScript数据可视化库Apache ECharts
安装模块库
pip install streamlit
pip install streamlit-echarts
绘制箱型图展示
在基础箱型图上添加了均值(黄色菱形)和每个box的最大值和最小值,如图所示:
实现代码(详细注释)
程序结构如下图:
boxplot.py程序如下:
from streamlit_echarts import st_echarts
from streamlit_echarts import JsCode
def render_basic_boxplot(text_name,xlable_name,ylable_name,dataset_list,y_min,y_max):
mean_data = [sum(i) / len(i) for i in dataset_list] # 计算每个boxplot的均值
max_data = [int(max(sublist)) for sublist in dataset_list] # 计算每个boxplot的最大值
min_data = [int(min(sublist)) for sublist in dataset_list] # 计算每个boxplot的最小值
option = {
"title": [
{
"text": text_name, "left": "center"} # 标题,居中
],
"dataset": [
{
"source": dataset_list # 数据集,每个boxplot的数值
},
{
"transform": {
# 对数据集进行转换,得到boxplot的上下四分位数
"type": "boxplot", # 转换类型为boxplot
"config": {
"itemNameFormatter": "#{value}" # 数值标签格式化
},
}
},
{
"fromDatasetIndex": 1, "fromTransformResult": 1}, # 取出转换后的boxplot数据
],
"tooltip": {