Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >【干货原创】面向小白的最全Python可视化教程,超全的!

【干货原创】面向小白的最全Python可视化教程,超全的!

作者头像
用户6888863
发布于 2022-04-13 11:44:39
发布于 2022-04-13 11:44:39
59700
代码可运行
举报
文章被收录于专栏:AI篮球与生活AI篮球与生活
运行总次数:0
代码可运行

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

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

标题、副标题以及下拉框

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
with st.container():
    st.title("Python可视化合集")
    st.header("经典常用的Python可视化模块")
    st.write("""包括代码和可视化图表展示""")

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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("")

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

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

代码如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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()函数代码如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 生成图表
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()的具体逻辑,代码如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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(),绘制的柱状图或者是折线图时也是同理

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 展示源数据
with st.container():
    show_data = st.checkbox("See the raw data?")

    if show_data:
        df

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

output

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 关于数据分析与可视化 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
我常用的5个Python可视化库
Python因为其语法简单、胶水语言的特性,诞生了很多好用的轮子(标准库、第三方库),也因此让Python一度成为了最热门的编程语言(2023年1-10月 TIOBE编程语言排名第一)。
朱卫军 AI Python
2023/11/20
9460
我常用的5个Python可视化库
6个顶级Python可视化库
这篇文章云朵君将和大家一起学习每个库的优点和缺点。到最后,对它们的不同特点有更好的了解,在合适的时候更容易选择合适的库。
数据STUDIO
2023/09/04
9260
6个顶级Python可视化库
6个顶级Python可视化库
如果你是Python可视化的新手,一些流行的可视化库包括Matplotlib、Seaborn、Plotly、Bokeh、Altair和Folium,以及大量的库和例子可能会让你感到不知所措。
周萝卜
2023/08/21
4660
6个顶级Python可视化库
用Streamlit构建机器学习应用
Streamlit是一个开放源码的Python库,它可以轻松地为机器学习建模漂亮的应用程序。你可以很容易地通过pip在你的终端上安装它,然后开始用Python编写你的网络应用程序。
AiTechYun
2019/11/11
1.3K0
用Streamlit构建机器学习应用
​再见 Seaborn!Altair 数据可视化已超神
数据可视化对于通过将数据转换为视觉效果来揭示数据中隐藏的趋势和模式非常重要。为了可视化任何形式的数据,我们都可能在某个时间点使用过数据透视表和图表,如条形图、直方图、饼图、散点图、折线图、基于地图的图表等。这些很容易理解并帮助我们传达准确的信息。基于详细的数据分析,我们可以决定如何最好地利用手头的数据,帮助我们做出明智的决定。
数据STUDIO
2021/12/27
9.6K1
​再见 Seaborn!Altair 数据可视化已超神
python︱写markdown一样写网页,代码快速生成web工具:streamlit 展示组件(三)
系列参考: python︱写markdown一样写网页,代码快速生成web工具:streamlit介绍(一) python︱写markdown一样写网页,代码快速生成web工具:streamlit 重要组件介绍(二) python︱写markdown一样写网页,代码快速生成web工具:streamlit 展示组件(三) python︱写markdown一样写网页,代码快速生成web工具:streamlit lay-out布局(四) python︱写markdown一样写网页,代码快速生成web工具:streamlit 缓存(五) python︱写markdown一样写网页,代码快速生成web工具:streamlit 数据探索案例(六) streamlit + opencv/YOLOv3 快速构建自己的图像目标检测demo网页(七)
悟乙己
2021/12/07
1.5K0
python︱写markdown一样写网页,代码快速生成web工具:streamlit 展示组件(三)
Python可视化库
现如今大数据已人尽皆知,但在这个信息大爆炸的时代里,空有海量数据是无实际使用价值,更不要说帮助管理者进行业务决策。那么数据有什么价值呢?用什么样的手段才能把数据的价值直观而清晰的表达出来? 答案是要提供像人眼一样的直觉的、交互的和反应灵敏的可视化环境。数据可视化将技术与艺术完美结合,借助图形化的手段,清晰有效地传达与沟通信息,直观、形象地显示海量的数据和信息,并进行交互处理。 数据可视化的应用十分广泛,几乎可以应用于自然科学、工程技术、金融、通信和商业等各种领域。下面我们基于Python,简单地介绍一下适用于各个领域的几个实用的可视化库,快速带你入门!!
全栈程序员站长
2022/07/22
6.2K0
Python可视化库
Python中最常用的 14 种数据可视化类型的概念与代码
收集数据后,需要对其进行解释和分析,以深入了解数据所蕴含的深意。而这个含义可以是关于模式、趋势或变量之间的关系。
数据STUDIO
2022/02/24
9.6K0
Python中最常用的 14 种数据可视化类型的概念与代码
数据可视化 | seaborn绘制散点图
由于涉及的图表类型为多类别散点图的绘制,在使用常规matplotlib进行绘制时会显得格外繁琐,所以我们选择了对matplotlib进行了更高级的API封装,使作图更加容易的seaborn包进行图表的绘制,更多seaborn 介绍,大家可以直接去seaborn官网进行相关资料的查阅。数据的读取使用的功能强大的数据处理包 pandas ,这里只是进行简单的删除空值操作,直接使用dropna() 函数操作即可,我们直接预览数据,如下(部分):
郭好奇同学
2020/11/25
1.9K0
数据可视化 | seaborn绘制散点图
Python数据可视化,完整版操作指南(建议收藏)
让我们看一下使用Python进行数据可视化的主要库以及可以使用它们完成的所有类型的图表。我们还将看到建议在每种情况下使用哪个库以及每个库的独特功能。
龙哥
2021/01/25
1.9K0
Python数据可视化,完整版操作指南(建议收藏)
8个流行的Python可视化工具包
用 Python 创建图形的方法有很多,但是哪种方法是最好的呢?当我们做可视化之前,要先明确一些关于图像目标的问题:你是想初步了解数据的分布情况?想展示时给人们留下深刻印象?也许你想给某人展示一个内在的形象,一个中庸的形象?
数据STUDIO
2023/11/14
6250
8个流行的Python可视化工具包
Pandas 高级教程——数据可视化
Pandas 提供了强大的数据可视化工具,可以帮助你更好地理解数据、发现模式和进行探索性数据分析。本篇博客将深入介绍 Pandas 中的数据可视化功能,并通过实例演示如何创建各种图表和图形。
Echo_Wish
2023/12/26
3370
10个实用的数据可视化的图表总结
可视化是一种方便的观察数据的方式,可以一目了然地了解数据块。我们经常使用柱状图、直方图、饼图、箱图、热图、散点图、线状图等。这些典型的图对于数据可视化是必不可少的。除了这些被广泛使用的图表外,还有许多很好的却很少被使用的可视化方法,这些图有助于完成我们的工作,下面我们看看有那些图可以进行。
deephub
2023/02/01
2.4K0
用可视化探索数据特征的N种姿势
数据可视化是指以图形或表格的形式显示信息。成功的可视化需要将数据或信息转换成可视的形式,以便能够借此分析或报告数据的特征和数据项或属性之间的关系。可视化的目标是形成可视化信息的人工解释和信息的意境模型。
数据STUDIO
2021/06/24
2.1K0
大数据应用导论 Chapter05 | 数据可视化
数据可视化工具: 1、Matplotlib(Python):一个2D绘图库,可以绘制许多高质量的图形 2、Seaborn(Python):Matplotlib基础上的高级绘图库,运用简单的操作就能够画出较为复杂的图形 3、Tableau:一个强大的数据可视化工具,可实时进行可视化数据分析和数据探索 4、Echarts:由百度前端技术部开发的,基于Javascript的数据可视化图表库,提供直观、生动、可交互、可个性化定制的数据可视化图表
不温卜火
2020/10/28
2.5K0
大数据应用导论 Chapter05 | 数据可视化
jointplot快速探究两组变量的分布及关系
在seaborn中,jointplot函数提供了一种综合的可视化方案,可以同时绘制两组变量的散点图以及各自对应的直方图,基本用法如下
生信修炼手册
2020/10/19
1.9K0
万字长文 | 超全代码详解Python制作精美炫酷图表教程
本文将探讨三种用Python可视化数据的不同方法。以可视化《2019年世界幸福报告》的数据为例,本文用Gapminder和Wikipedia的信息丰富了《世界幸福报告》数据,以探索新的数据关系和可视化方法。
昱良
2019/11/27
3.2K0
万字长文 | 超全代码详解Python制作精美炫酷图表教程
seaborn可视化数据框中的多个列元素
seaborn提供了一个快速展示数据库中列元素分布和相互关系的函数,即pairplot函数,该函数会自动选取数据框中值为数字的列元素,通过方阵的形式展现其分布和关系,其中对角线用于展示各个列元素的分布情况,剩余的空间则展示每两个列元素之间的关系,基本用法如下
生信修炼手册
2020/10/19
5.2K0
数据可视化干货:使用pandas和seaborn制作炫酷图表(附代码)
导读:我们介绍过用matplotlib制作图表的一些tips,感兴趣的同学可以戳→纯干货:手把手教你用Python做数据可视化(附代码)。matplotlib是一个相当底层的工具。你可以从其基本组件中组装一个图表:数据显示(即绘图的类型:线、条、框、散点图、轮廓等)、图例、标题、刻度标记和其他注释。
前端皮皮
2021/05/18
5.4K0
数据可视化干货:使用pandas和seaborn制作炫酷图表(附代码)
Python的可视化库超全盘点,有你中意的一款吗?
前言 原文传送门:见文末左下角阅读原文 作者:Aaron Frederick 编译:HuangweiAI 使用Python创建图形的方法有很多,但是哪种方法最好呢?当我们进行可视化时,问一些关于图
HuangWeiAI
2020/02/24
2K0
相关推荐
我常用的5个Python可视化库
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验