百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

面向小白的最全Python可视化教程,超全的

off999 2024-10-02 18:43 24 浏览 0 评论

作者:俊欣

来源:关于数据分析与可视化

今天小编总结归纳了若干个常用的可视化图表,并且通过调用plotlymatplotlibaltairbokehseaborn等模块来分别绘制这些常用的可视化图表,最后无论是绘制可视化的代码,还是会指出来的结果都会通过调用streamlit模块展示在一个可视化大屏,出来的效果如下图所示

那我们接下去便一步一步开始可视化大屏的制作吧!

标题、副标题以及下拉框

首先我们对标题、副标题部分的内容,代码如下

with st.container():
    st.title("Python可视化合集")
    st.header("经典常用的Python可视化模块")
    st.write("""包括代码和可视化图表展示""")

然后便是下拉框的制作,代码如下

plot_types = (
    "Scatter",
    "Histogram",
    "Bar",
    "Line",
    "Boxplot"
)
# 选择绘制的图表种类
chart_type = st.selectbox("Choose your chart type", plot_types)

with st.container():
    st.subheader(f"Showing:  {chart_type}")
    st.write("")

对于图表的展示可以选择是“双排式”的,如下图所示

也可以选择是沉浸式的,也即是“单排式”的,如下图所示

代码如下

two_cols = st.checkbox("2 columns?", True)
if two_cols:
    col1, col2 = st.columns(2)
    
# 展示图表
if two_cols:
    with col1:
        show_plot(kind="Matplotlib")
    with col2:
        show_plot(kind="Seaborn")
    with col1:
        show_plot(kind="Plotly Express")
    with col2:
        show_plot(kind="Altair")
    with col1:
        show_plot(kind="Pandas Matplotlib")
    with col2:
        show_plot(kind="Bokeh")
else:
    with st.container():
        for lib in libs:
            show_plot(kind=lib)

对于双排式的展示方式而言,col1也就是左边,放置的是matplotlibplotly、以及pandas绘制出来的图表,右边也就是col2也就是右边,放置的是seabornaltair以及bokeh绘制出来的图表,而上述代码中调用的show_plot()函数代码如下

# 生成图表
def show_plot(kind: str):
    st.write(kind)
    if kind == "Matplotlib":
        plot = matplotlib_plot(chart_type, df)
        st.pyplot(plot)
    elif kind == "Seaborn":
        plot = sns_plot(chart_type, df)
        st.pyplot(plot)
    elif kind == "Plotly Express":
        plot = plotly_plot(chart_type, df)
        st.plotly_chart(plot, use_container_width=True)
    elif kind == "Altair":
        plot = altair_plot(chart_type, df)
        st.altair_chart(plot, use_container_width=True)
    elif kind == "Pandas Matplotlib":
        plot = pd_plot(chart_type, df)
        st.pyplot(plot)
    elif kind == "Bokeh":
        plot = bokeh_plot(chart_type, df)
        st.bokeh_chart(plot, use_container_width=True)

是一系列if...else...的判断,当绘制图表的模块是matplotlib时就调用对应的matplotlib_plot()函数,当绘制图表的模块是seaborn时就调用对应的sns_plot()函数,依次同理。我们来看其中一个函数sns_plot()的具体逻辑,代码如下

def sns_plot(chart_type: str, df):
    """ 生成seaborn绘制的图表 """

    fig, ax = plt.subplots()
    if chart_type == "Scatter":
        with st.echo():
            sns.scatterplot(
                data=df,
                x="bill_depth_mm",
                y="bill_length_mm",
                hue="species",
            )
            plt.title("Bill Depth by Bill Length")
    elif chart_type == "Histogram":
        with st.echo():
            sns.histplot(data=df, x="bill_depth_mm")
            plt.title("Count of Bill Depth Observations")
    elif chart_type == "Bar":
        with st.echo():
            sns.barplot(data=df, x="species", y="bill_depth_mm")
            plt.title("Mean Bill Depth by Species")
    elif chart_type == "Boxplot":
        with st.echo():
            sns.boxplot(data=df["bill_depth_mm"].dropna())
            plt.title("Bill Depth Observations")
    elif chart_type == "Line":
        with st.echo():
            sns.lineplot(data=df, x=df.index, y="bill_length_mm")
            plt.title("Bill Length Over Time")
    return fig

其实也是一系列if...else...的判断,当所要绘制的图表是散点图时,调用的是sns.scatterplot()函数,所要绘制的是直方图时,调用的是sns.histplot(),绘制的柱状图或者是折线图时也是同理

最后要是我们想要查看源数据时,也可以查看,代码如下

# 展示源数据
with st.container():
    show_data = st.checkbox("See the raw data?")

    if show_data:
        df

    # 要点
    st.subheader("Notes")
    st.write(
        """
        - 这个应用是通过python当中的streamlit模块制作出来的
        - 关注"关于数据分析与可视化",学习更多数据分析和可视化知识与技能
        """
    )

output

相关推荐

第九章:Python文件操作与输入输出

9.1文件的基本操作9.1.1打开文件理论知识:在Python中,使用open()函数来打开文件。open()函数接受两个主要参数:文件名和打开模式。打开模式决定了文件如何被使用,常见的模式有:&...

Python的文件处理

一、文件处理的流程1.打开文件,得到文件句柄并赋值给一个变量2.通过句柄对文件进行操作3.关闭文件示例:d=open('abc')data1=d.read()pri...

Python处理文本的25个经典操作

Python处理文本的优势主要体现在其简洁性、功能强大和灵活性。具体来说,Python提供了丰富的库和工具,使得对文件的读写、处理变得轻而易举。简洁的文件操作接口Python通过内置的open()函数...

Python学不会来打我(84)python复制文件操作总结

上一篇文章我们分享了python读写文件的操作,主要用到了open()、read()、write()等方法。这一次是在文件读写的基础之上,我们分享文件的复制。#python##python自学##...

python 文件操作

1.检查目录/文件使用exists()方法来检查是否存在特定路径。如果存在,返回True;如果不存在,则返回False。此功能在os和pathlib模块中均可用,各自的用法如下。#os模块中e...

《文件操作(读写文件)》

一、文件操作基础1.open()函数核心语法file=open("filename.txt",mode="r",encoding="utf-8"...

栋察宇宙(二十一):Python 文件操作全解析

分享乐趣,传播快乐,增长见识,留下美好。亲爱的您,这里是LearingYard学苑!今天小编为大家带来“Python文件操作全解析”欢迎您的访问!Sharethefun,spreadthe...

值得学习练手的70个Python项目(附代码),太实用了

Python丰富的开发生态是它的一大优势,各种第三方库、框架和代码,都是前人造好的“轮子”,能够完成很多操作,让你的开发事半功倍。下面就给大家介绍70个通过Python构建的项目,以此来学习Pytho...

python图形化编程:猜数字的游戏

importrandomnum=random.randint(1,500)running=Truetimes=0##总的次数fromtkinterimport*##导入所有tki...

一文讲清Python Flask的Web编程知识

刚入坑Python做Web开发的新手,还在被配置臃肿、启动繁琐折磨?Flask这轻量级框架最近又火出圈,凭5行代码启动Web服务的极致简洁,让90后程序员小张直呼真香——毕竟他刚用这招把部署时间从半小...

用python 编写一个hello,world

第一种:交互式运行一个hello,world程序:这是写python的第一步,也是学习各类语言的第一步,就是用这种语言写一个hello,world程序.第一步,打开命令行窗口,输入python,第二步...

python编程:如何使用python代码绘制出哪些常见的机器学习图像?

专栏推荐绘图的变量单变量查看单变量最方便的无疑是displot()函数,默认绘制一个直方图,并你核密度估计(KDE)sns.set(color_codes=True)np.random.seed(su...

如何编写快速且更惯用的 Python 代码

Python因其可读性而受到称赞。这使它成为一种很好的第一语言,也是脚本和原型设计的流行选择。在这篇文章中,我们将研究一些可以使您的Python代码更具可读性和惯用性的技术。我不仅仅是pyt...

Python函数式编程的详细分析(代码示例)

本篇文章给大家带来的内容是关于Python函数式编程的详细分析(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。FunctionalProgramming,函数式编程。Py...

编程小白学做题:Python 的经典编程题及详解,附代码和注释(七)

适合Python3+的6道编程练习题(附详解)1.检查字符串是否以指定子串开头题目描述:判断字符串是否以给定子串开头(如"helloworld"以"hello&...

取消回复欢迎 发表评论: