条形图的替代方案

2025年1月5日 | 阅读 7 分钟

柱状图是使用最广泛的图表类型,它提供了一种直观的数值表示方法。柱状图显示了许多类别的数值,使得无需详细查看每个类别,就能轻松地一次性比较多个类别的数值。

柱状图有多种替代图表,让我们在这篇文章中探讨一下。

替代方案列表如下:

  1. 折线图
  2. 饼图
  3. 直方图
  4. 甜甜圈图
  5. 水平柱状图
  6. 气泡图
  7. 散点图
  8. 棒棒糖图

折线图

折线图(或称线形图、曲线图)显示数据点随时间或等间隔的变化。

示例

这是一个绘制曲线图的示例程序。

程序

输出

Alternatives to the Bar Chart

说明

我们使用了 matplotlib 的 pyplot plot 函数来显示折线图。plot 函数使用 x 和 y 值、标题和标签来生成图表。

饼图

饼图是一种圆形图表,以饼状显示数据。它通常用于显示一个整体中每个类别的百分比,并在特定时间点提供数据的快照。与条形图或折线图不同,饼图不显示随时间的变化。

示例

让我们看一个示例程序。

程序

输出

Alternatives to the Bar Chart

说明

在正常导入 matplotlib 后,使用 pie() 函数创建了饼图。Pie() 函数接受值、标签、标题和起始角度。此外,一个称为 autopct='%1.0f%%' 的格式字符串指示了饼图上百分比的显示方式。

直方图

直方图显示连续变量的频率分布。它们类似于柱状图,但更适合连续数据。

示例

让我们看一个直方图绘制的示例程序。

程序

输出

Alternatives to the Bar Chart

说明

使用 NumPy 创建随机数据集,并加载 Matplotlib 进行绘图。“create_histogram”是我们构建的一个函数,它接受 random 函数生成的数据。使用数据、边缘颜色和“alpha”(颜色透明度的符号),此函数中的“hist()”函数生成直方图。接下来,我们用标签和标题装饰了图表。最后,show() 方法显示了图表。

甜甜圈图

甜甜圈图与饼图非常相似,但有一个细微的差别,即中心有一个很大的空白区域,而数据部分围绕着它。这种类型的图表包括图表上的每种颜色的少量样本,以及对每种颜色在图表中代表什么的简要说明。

示例

这是显示甜甜圈图的示例程序。

程序

输出

Alternatives to the Bar Chart

说明

设置了季节和喜好,并使用 pie() 函数创建了饼图,以便绘制季节调查的甜甜圈图。使用 center() 函数,我们在中心放置了一个圆圈,并添加了标题和图例,将其转换为甜甜圈图。

水平柱状图

水平柱状图与常规柱状图相似。唯一的区别在于,条形图是水平表示而不是垂直表示。

示例

让我们看一个表示水平柱状图的示例程序。

程序

输出

Alternatives to the Bar Chart

说明

给出的 Python 代码使用 `matplotlib.Pyplot` 库创建了一个水平柱状图,该图表显示了各种 % 大小的包装种类。水平柱状图是使用 `plt.Barh()` 特征创建的,为了提高可视化清晰度,添加了 x 和 y 轴标签以及标题。最后,使用 `plt.Show()` 显示了图形。

气泡图

气泡图是柱状图的替代方案。它以三维方式表示数据,其中两个维度用于 xy 坐标,第三个维度用于表示大小。它类似于散点图,但除了散点图之外,气泡图还具有表示每个数据点的大小。

示例

这是一个示例程序。

程序

输出

Alternatives to the Bar Chart

说明

我们导入了 matplotlib 来绘制图形,然后定义了 x、y 和大小值,以用不同大小表示图形上的数据。对于绘图,我们使用了 scatter() 方法,并传递了 xy 值和大小,以获得气泡图而不是简单的散点图。之后,我们添加了标签、标题和图例,最后使用 show() 方法显示了图形。

气泡图表示点与其大小之间的关系。

散点图

散点图以简单的点在图表上表示数据;它需要两个变量来表示图表上的一个点。通过组合所有点,我们可以观察到点散布在图表上,这有助于轻松比较数据点。

示例

让我们看一个示例程序。

程序

输出

Alternatives to the Bar Chart

说明

本示例程序中定义了世界人口数据,并使用 scatter() 函数绘制了图形,该函数使用了年份和人口数据。颜色设置为红色,透明度为 0.7。最后,在添加了标题和标签后显示了图形。

棒棒糖图

条形图和棒棒糖图是相似的,但在这种情况下,条形图显示为一条线,线上有一个点。棒棒糖图提供了对底层数据分布的具有视觉吸引力且易于理解的描绘,使其适用于需要突出特定值或比较数据点的场景。

示例

让我们看一个表示城市中接种疫苗的人数的示例程序。

程序

输出

Alternatives to the Bar Chart

说明

首先,我们导入了 matplotlib,然后定义了城市和接种疫苗的人数数据,然后使用 stem() 方法绘制了棒棒糖图,该方法使用了两个参数:城市和强度,然后添加了标题和标签,最后显示了图形。

该图表显示了城市中接种疫苗的人数的强度,与条形图相同,但可视化方式略有不同。

结论

总之,我们研究了几种传统柱状图的替代方案。此处展示了八种以上改进数据可视化方式的变体。折线图是表示连续或分类变量趋势的有用工具;散点图有助于分析两个变量之间的关系;饼图显示比例贡献;直方图阐明数据分布;水平条形图显示不同数据值之间的差异;当我们厌倦了条形图时,我们现在知道棒棒糖图是另一个选择。替代图表的选择取决于数据类型和传达重要见解所需的焦点级别,从而能够更定制化、更有效地传达信息。