zl程序教程

您现在的位置是:首页 >  工具

当前栏目

单变量图表怎么绘制?这个小众绘图工具都全了~~

工具变量 怎么 这个 绘制 绘图 图表
2023-06-13 09:13:56 时间

最近在查找可视化优质资源时发现一个优秀绘制统计图表的第三方库-iqplot,该库是基于Python语言的,其所提供的图表类型虽然不多,但在科研学术绘图任务中出现的频次较多,本期就其基本情况和可绘制的图表类型做一个简单介绍,主要内容如下:

  • Python-iqplot库介绍
  • Python-iqplot库示例演示

Python-iqplot库介绍

Python的iqplot库是基于功能更加强大的bokeh库上,但其所绘制的图表又是我们常见的统计图表,特别是在一些科研绘图任务中。iqplot库的主要功能是实现对一个定量变量和任意多个分类变量的数据集进行高级绘图。其所提供的图表类型主要包括带有分类轴的图(Plots with a categorical axis) 和不带分类轴的图(Plots without a categorical axis)。

具体图表类型有:Box plotsStrip plotsStrip-box plotsHistogramsECDFs。更多详细内容查看:Python-iqplot库官网[1]

Python-iqplot库示例演示

这一部分,小编将列举Python-iqplot库所能绘制的图表类型,让读者对其有一定的了解。

  • 「Box plots」
import numpy as np
import pandas as pd
import iqplot
import bokeh.sampledata.autompg
import bokeh.io
bokeh.io.output_notebook()

p_box = iqplot.box(data=df, q="mpg", cats="origin", title="box")

Box plots01

p = iqplot.box(
    data=df,
    q="mpg",
    cats="origin",
    whisker_caps=True,
    outlier_marker="diamond",
    box_kwargs=dict(fill_color="#7C0000"),
    whisker_kwargs=dict(line_color="#7C0000", line_width=2),
)

bokeh.io.show(p)

Box plots02

  • 「Strip plots」
p_strip = iqplot.strip(data=df, q="mpg", cats="origin", title="strip")

Strip plots01

p = iqplot.strip(
    data=df,
    q="mpg",
    cats="origin",
    marker="dash",
    marker_kwargs=dict(alpha=0.3),
)

bokeh.io.show(p)

Strip plots02

p = iqplot.strip(
    df_pc,
    q="val",
    cats=["day", "exp"],
    q_axis="y",
    frame_width=500,
    color_column="exp",
    parcoord_column="trial",
)

bokeh.io.show(p)

Strip plots03

  • 「Strip-box plots」
p_stripbox = iqplot.stripbox(data=df, q="mpg", cats="origin", title="strip-box")

Strip-box plots

  • 「Histograms」
p_histogram = iqplot.histogram(data=df, q="mpg", cats="origin", title="histogram")

Histograms01

bins = np.arange(8, 50, 3)

p = iqplot.histogram(
    data=df, q="mpg", cats="origin", bins=bins, density=True, frame_width=550,
    legend_location="right",
)

bokeh.io.show(p)

Histograms02

  • 「ECDFs」
p_ecdf = iqplot.ecdf(data=df, q="mpg", cats="origin", title="ecdf")

ECDF 01

p = iqplot.ecdf(data=df, q="mpg", cats="origin", style="staircase", conf_int=True)

bokeh.io.show(p)

ECDF 02

更多样例小伙伴们可参考:Python-iqplot库样例[2]

总结

今天小编介绍一个小众的Python绘制单变量或者分类数据的可视化库,对一些出现频次较高的科研图表来说不失为一个不错的绘图选择哦~感兴趣的小伙伴可以了解一下哈~~

参考资料

[1]

Python-iqplot库官网: https://iqplot.github.io/index.html。

[2]

Python-iqplot库样例: https://iqplot.github.io/user_guide/user_guide.html#Quick-start。