当前位置: 首页 > 科技观察

在没有Matplotlib的情况下在Python中创建可视化效果的最简单方法

时间:2023-03-20 23:35:14 科技观察

Matplotlib通常被认为是在Python中创建可视化效果的最简单方法,它构成了许多其他绘图库(例如Seaborn)的基础。今天我们将讨论另一种创建可视化的方法,Pands。直接从Pandas绘图有很多优点:速度更快——代码行数更少,要编写的代码更少,需要重新加载的库也更少。可视化对于数据分析至关重要,因此没有理由拒绝尝试加快生成良好可视化的过程。此外,Pandas对我们希望它绘制的图形进行了大量推理,因此在很多情况下它可以在不显式声明的情况下可视化我们想要的东西。更容易直接集成涉及Series和DataFrames的许多方便的数据操作功能(例如不同的扩展和滚动)。事实上,直接从Pandas创建绘图更容易。在条形图、堆积条形图和水平条形图之间转换只是改变参数值的问题。创建子图和操作子图也只是几个字符之遥。Pandas在可视化方面做了很多艰苦的工作。对于技术方面:Pandas绘图在matplotlib基础设施上运行,并且在Pandas创建的图形之上加载其他matplotlib项目或参数可以改进它。相反,Pandas只是提供了一个方便且更直接的界面,用于将数据连接到可视化。例如,以下数据框是随机生成的,具有四列和十行。只需将数据框的名称替换为data即可用data.plot.bar()绘制每一行和每一列的值。请注意,在语句后添加分号()会使单元格不再输出其他打印件(例如,)。或者,尝试添加一个参数stacked=True,这是一种直接从数据源创建堆叠条形图的非常简单的方法。或者,尝试使用barhdata.plot.barh(stacked=True)绘制水平条,所有这些变体都可以通过一行代码轻松创建,因为它们与数据建立了直接的流动。可以通过在绘图代码之前添加(sns.set_palette('magma'))来更改绘图的通用调色板。或者,也可以将颜色图参数传递到绘图中。显示此类数据的另一种方法是使用data.plot.area()绘制面积图。代码中的参数可以像往常一样使用matplotlib或海洋模型进行调整。在data.plot.area(stacked=False)的情况下,参数(透明度)默认设置为0.5,但可以手动调整。直接使用Pandas的主要好处之一是Pandas的许多有用的数据框操作都是开箱即用的。例如,data.diff()的结果,它只取一行和它之前的行之间的差异(因此第一行中有NaN)。这在许多时间序列应用程序中很有用。例如,以下代码绘制了数据差异并演示了Pandas图中各种参数的使用,在本例中为颜色:一种用于降低数据平均移动窗口上数据不确定性的常用统计方法。可以直接从数据创建各种其他类型的图:密度图的kde或密度;散点图的散点图;六边形箱线图的hexbin;注意:虽然默认情况下,如果.plot.scatter()和figsize=(x,y)的颜色是灰度的,但是可以在colormap参数中传入。所有图都有一个参数来控制输出图形的大小。在每条绘图线后输入分号()以允许在Jupyter笔记本中进行多个输出。Pandas在绘图中为您完成繁重工作的一个例子是子图。通过启用,Pandas会自动根据列创建子图。例如,考虑以下生成的DataFrame,它有两列(和)和五行。通常,您需要手动创建两个子图。特别是如果你想生成多个子图,可以想象直接使用Pandas绘图方法会有所帮助。饼图的附加参数包括,它向切片添加自定义标签;,指定每个切片的颜色;,确定小数标签的百分比和截断;和,它决定了标签的大小。作为子图在直接Pandas绘图中的便利性的另一个示例,请考虑绘制行数据(使用时的默认设置:PandasAutomaticallyformattingsubplotsinaformataccordingtothelayout。每个子图的尺寸由指定大小的参数确定包含所有子图的“主图”。考虑到Pandas在直接绘图中提供的大量参数——从误差线到提供表格显示——在可以创建的可视化中几乎没有自由度损失。从提供简单的绘图变体到简单的子图管理,Pandas提供了很多绘图功能。下次做简单的数据分析图,试试Pandas吧!您可能会惊讶于您可以更有效地进行可视化。