使用Streamlit和Matplotlib创建交互式折线图

开发 前端
虽然此应用程序相当简单,但它展示了Streamlit和Matplotlib创建交互式、用户友好的数据可视化应用程序的强大功能。用户可以随意扩展。

本教程将介绍如何使用Streamlit和Matplotlib创建一个用户友好的数据可视化Web应用程序。该应用程序允许上传CSV文件,并为任何选定列生成折线图。

图片图片

构建Streamlit应用程序

在本文中,我们将指导你完成创建此应用程序的步骤。无论你是专家还是刚刚入门,最终你都能轻松地将Parquet文件转换为可视化结果。所以,跟随本教程开始吧。

import streamlit as st
import pandas as pd
import matplotlib.pyplot as plt

def main():
    st.set_page_config(page_title='Line Plotter', page_icnotallow=':chart_with_upwards_trend:')
    st.title('Line Plotter')

    uploaded_file = st.file_uploader("Choose a CSV file", type="csv")

图片图片

然后,用户从下拉列表中选择要在折线图中可视化的列。该应用程序还提供了文本输入字段,用于输入绘图的标题以及X轴和Y轴的标签。颜色选择器让用户选择折线图的颜色。

column = st.selectbox('Select a column', df.columns)
        title = st.text_input('Title', 'Line Plot')
        x_label = st.text_input('X-axis Label', 'X-axis')
        y_label = st.text_input('Y-axis Label', 'Y-axis')
        color = st.color_picker('Line Color', '#1f77b4')

图片图片

使用Matplotlib创建折线图

根据用户的输入,该应用程序使用Matplotlib生成一条线图,将选择的列绘制在DataFrame的索引上。

X轴标签旋转45度,以确保它们易于阅读且不会重叠。

fig, ax = plt.subplots()
        ax.plot(df.index, df[column], color=color)
        ax.set_title(title)
        ax.set_xlabel(x_label)
        ax.set_ylabel(y_label)

        # Rotate X-axis labels
        plt.xticks(rotatinotallow=45)

        st.pyplot(fig)

if __name__ == '__main__':
    main()

图片图片

总结

这就是本文简单的教程!使用Streamlit和Matplotlib创建的一个简单的交互式数据可视化Web应用程序。该应用程序是一个很好的工具,可以快速将CSV文件中的不同数据列可视化为折线图。通过提供用户友好的控件,如下拉列表、文本字段和颜色选择器,该应用程序允许用户轻松自定义其数据可视化。

虽然此应用程序相当简单,但它展示了Streamlit和Matplotlib创建交互式、用户友好的数据可视化应用程序的强大功能。用户可以随意扩展。

责任编辑:武晓燕 来源: Python学研大本营
相关推荐

2024-07-25 08:58:16

GradioPython数据应用

2023-07-28 14:13:15

Streamlit开源Python库

2023-12-18 15:02:00

PyechartsPython数据可视化工具

2016-11-29 12:25:56

Python大数据数据可视化

2012-04-18 15:36:33

HTML5Canvas交互式

2020-05-25 15:00:41

matplotlibplot()折线图

2019-01-03 09:06:55

Node.js命令行工具 前端

2024-08-02 10:30:39

StreamlitPython库数据驱动

2011-12-21 13:25:33

JavaJFreeChart

2013-12-11 10:41:00

jQuery插件

2024-11-01 14:52:24

2023-09-28 08:29:15

开源工具集语音识别

2020-12-31 10:29:05

数据可视化可视化工具编码

2022-11-07 08:42:50

iOS 16SwiftUI

2022-02-23 15:17:04

鸿蒙OpenHarmonJacascript

2023-10-12 16:37:36

模型学习

2019-09-06 14:51:40

Python数据库脚本语言

2021-01-08 10:32:24

Charts折线图数据可视化

2018-05-21 14:44:33

LinuxshellPython

2018-01-15 14:59:35

Linux命令交换分区
点赞
收藏

51CTO技术栈公众号