使用 Chartify 进行数据可视化
Chartify 是来自 Spotify 的开源数据可视化库,它使数据分析师可以轻松创建图表和图形。 Chartify 建立在 Bokeh 之上,Bokeh 是一个非常流行的数据可视化库。本文简要介绍了这项技术。
需要的模块
安装最新版本的 Chartify 和 Pandas。要安装这些模块,请在终端中键入以下命令。
pip install chartify
pip install pandas
在这种情况下,数据清理和操作需要 Pandas。因此,让我们将这些导入到我们的Python代码中。建议使用 Jupyter notebook 或 Google Colab 进行任何类型的数据可视化或分析。
Python3
import chartify
import pandas as pd
Python3
ch = chartify.Chart()
ch.show()
Python3
data = chartify.examples.example_data()
data.head()
Python3
ch = chartify.Chart(x_axis_type='datetime')
Python3
ch.set_title("Quantity Fruit vs Date")
ch.set_subtitle("Quantity of fruits grown all around the world")
ch.axes.set_xaxis_label("Date")
ch.axes.set_yaxis_label("Quantity")
ch.set_source_label("Source:Chartify Examples")
Python3
ch.plot.scatter(data_frame=data, x_column='date',
y_column='quantity',
color_column='fruit')
ch.show()
Python3
ch = chartify.Chart(y_axis_type='density')
Python3
ch.set_title("Quantity vs Count")
ch.axes.set_xaxis_label("Quantity")
ch.axes.set_yaxis_label("Count")
ch.set_source_label("Source:Chartify Examples")
Python3
ch.plot.histogram(data_frame=data, values_column='quantity')
ch.show()
Chartify 使任何人都可以轻松启动。以下代码有助于设置一个简单的图表并将其显示在笔记本中。
Python3
ch = chartify.Chart()
ch.show()
输出:
但是,这只是一个没有数据的空图表。让我们试着用数据填充这个图表,看看这个可视化工具变得活跃起来。 Chartify 带有自己的数据集示例,您可以从中学习。因此,我们将加载示例数据并显示它。
Python3
data = chartify.examples.example_data()
data.head()
如果我们分析这个数据集,我们可以得出它是时间序列数据的结论。按照惯例,时间(或日期)显示在 X 轴上。因此,让我们将 X 轴的类型设置为 DateTime 。
Python3
ch = chartify.Chart(x_axis_type='datetime')
现在,您可以使用此工具绘制各种绘图。但是,在本文中,我们将只使用两个,即散点图和直方图。
首先,让我们构建一个散点图。最简单的方法是使用scatter方法。应该传递的参数是具有要绘制的数据的data_frame ,指定 X 轴的x_column和指定 Y 轴的y_column 。所有其他参数都是可选的(即,在未指定时为它们分配默认值)。 color_column参数为指定列的基图着色。假设在上面的数据集中,我们将color_column设置为“fruit”列。 Chartify 为列中的不同水果名称分配不同的颜色。 color_column参数中的值列表用于对颜色进行特定排序。 alpha是绘图的透明度(alpha 值)。这里 1.0 是完全不透明的,而 0.0 是完全透明的。标记是指绘图上的值标记。标记可以是圆形、星号、菱形、三角形和各种其他形状。
Syntax: scatter(data_frame, x_column, y_column, size_column=None, color_column=None, color_order=None, alpha=1.0, marker=’circle’)
现在让我们为图表设置标题、副标题和其他属性。
Python3
ch.set_title("Quantity Fruit vs Date")
ch.set_subtitle("Quantity of fruits grown all around the world")
ch.axes.set_xaxis_label("Date")
ch.axes.set_yaxis_label("Quantity")
ch.set_source_label("Source:Chartify Examples")
现在让我们使用以下内容制作散点图并将其显示到笔记本上。我们从 Chartify 获得的数据或示例数据集将是我们的data_frame 。 X 轴是日期,Y 轴是数量。 color_column将是fruit 。
Python3
ch.plot.scatter(data_frame=data, x_column='date',
y_column='quantity',
color_column='fruit')
ch.show()
输出:
因此,我们构建了一个简单的散点图。现在让我们使用相同的数据集制作直方图。让我们绘制一个直方图,以可视化数据相对于数量的密度。
Python3
ch = chartify.Chart(y_axis_type='density')
为了绘制直方图,我们将使用直方图方法。就像散点图一样,即使是直方图也需要一个data_frame参数。 color_column和color_order的工作方式与在散点图中的工作方式相同。 method参数接受一个方法并在此基础上计算图形的密度。计数是默认方法。
Syntax: histogram(data_frame, values_column, color_column=None, color_order=None, method=’count’, bins=’auto’)
现在让我们设置图表的属性。
Python3
ch.set_title("Quantity vs Count")
ch.axes.set_xaxis_label("Quantity")
ch.axes.set_yaxis_label("Count")
ch.set_source_label("Source:Chartify Examples")
现在让我们使用前面提到的方法绘制直方图。
Python3
ch.plot.histogram(data_frame=data, values_column='quantity')
ch.show()
输出:
因此,在本文中,我们使用 Spotify 的 Chartify 绘制了直方图和散点图。这只是一篇初学者文章,同样的知识可以进一步扩展以构建更复杂的可视化。