Pygal 直方图
Pygal是一个用于创建交互式图表和图形的Python库,Pygal支持的图表之一就是直方图。直方图基本上是一种用于表示数值数据分布的图形,它帮助我们快速识别数据集中的模式、异常值和趋势。在本文中,我们将讨论直方图的基础知识以及如何在Pygal中创建直方图,包括图表的定制和数据的添加。
什么是直方图
直方图是数据集分布的图形表示。它主要显示数据点在一定间隔内出现的频率,也称为区间。直方图图表的水平轴(x轴)表示数据集中的值范围,垂直轴(y轴)表示该特定范围内值的出现频率。
直方图主要用于连续数据的可视化,例如篮子里蔬菜的重量或人群中个体的大小。直方图允许我们查看分布的形状,包括偏度和峰值或谷值的存在。
如何在pygal中创建直方图
以下是我们将在Pygal中创建直方图的步骤。在Pygal中创建直方图的初始步骤是安装Pygal库。我们可以使用pip(Python的软件包安装器)来完成这一步骤 –
pip install pygal
在安装了 pygal 库之后,我们需要按照下面的步骤来创建一个 pygal 韩子图:
- 在程序中导入 ‘pygal’ 模块和直方图图表类型
import pygal
from pygal import Histogram
- 创建一个“直方图”对象并设置其x轴标签和标题-
histogram_obj = Histogram(title='Distribution of Scores', x_title='Score Range')
- 使用add()函数将数据添加到直方图图表中。我们还可以将数据作为值的列表或以bin标签为键值,bin频率为值的字典进行传递。以下是实现此功能的代码:
# Add data to the histogram
histogram.add('Scores', [(6, 45, 55), (7, 55, 65),(8, 65, 75), (8, 75, 85), (7, 85, 95), (6, 95, 105)])
- 使用render_to_file()方法来渲染图表,这将把图表保存为一个SVG文件
# Render the chart to an SVG file
histogram.render_to_file('histogram.svg')
以下是创建Pygal直方图的完整代码:
示例
import pygal
from pygal import Histogram
# Create a Histogram object
histogram_obj = Histogram(title='Distribution of Scores', x_title='Score Range')
# Add data to the histogram
histogram_obj.add('Scores', [(6, 45, 55), (7, 55, 65),(8, 65, 75), (8, 75, 85), (7, 85, 95), (6, 95, 105)])
# Render the chart to an SVG file
histogram_obj.render_to_file('histogram_sample.svg')
输出
自定义直方图图形
Pygame还允许用户在颜色、大小、标签等方面自定义直方图的外观。下面是一些我们可以对直方图进行的自定义示例 −
- 我们可以使用width和height属性来设置图形的大小。
-
我们可以使用fill属性来更改条形的颜色。
-
我们还可以使用legend_at_bottom属性来显示图例。
-
使用bins属性,我们可以设置直方图中的箱数。
让我们看一个示例,在这个示例中我们将改变条形的颜色,并且图例将显示在底部。为此,我们可以修改如下代码所示的Histogram对象 −
示例
import pygal
from pygal import Histogram
histogram_ex = pygal.Histogram(title='Distribution of Test Scores', x_title='Test Scores', y_title='Frequency',xrange=(0, 100), yrange=(0, 10))
histogram_ex.add('Dataset', [(11, 22), (12, 33), (13, 44), (14, 55)], bins=5)
histogram_ex.add('Dataset 1', [(23,30), (11,45), (33, 79)],style={'color': 'blue'})
histogram_ex.add('Dataset 2', [(12, 23), (14, 21), (16,19)],style={'color': '#006699'})
histogram_ex.render_to_file('histogram_sample.svg')
输出
结论
总之,使用Pygal创建直方图是一个非常简单的过程,它允许我们根据用户的选择创建独特和不同的可视化效果。我们还讨论了Pygal的内置方法和属性,可以用它们来自定义直方图的各个方面,如颜色、标题、标签和轴范围。通过本文中提供的步骤,您将能够轻松地为数据集创建直方图。