在本文中,学习如何绘制这种类型的图形并将其包含在数据可视化工具库中。
不幸的是,华夫饼图并没有与matplotlib库一起提供。我所知道的最好的替代方案是pywaffle包,因为它与matplotlib完美集成。
有一个文档和几个应用示例,只需几行代码,您就可以绘制第一个图表。
哦,是的,请首先检查您的环境中是否安装了它。否则,可以需使用以下命令进行安装:
- Conda – conda install pywaffle
- Pip – pip install pywaffle
下面我们使用华夫饼图绘制
# 导入必要的库
import matplotlib.pyplot as plt
from pywaffle import Waffle
# Waffle示例
fig = plt.figure(
FigureClass=Waffle,
rows=10,
columns=10,
values={'Ubuntu': 50,
'CentOS': 20,
'Debian': 25,
'linuxmi.com': 5},
legend={'loc': 'upper left',
'bbox_to_anchor': (1.1, 1)}
)
fig.set_tight_layout(False)
plt.show()
自定义华夫饼图表
pywaffle是高度定制的,并且接受Font Awesome图标字体库。 让我们看看如何自定义库图标以表示汽车发生的事件和事故的统计信息。
为此,我将导入某某交通事故预防和调查中心的数据库。
# 导入 pandas
import pandas as pd
import matplotlib.pyplot as plt
from pywaffle import Waffle
# 导入数据
df = pd.read_csv("2.csv")
# 从变量linuxmi中提取值计数
data = df.linuxmi.value_counts().to_dict()
fig = plt.figure(
FigureClass=Waffle,
rows=8,
columns=20,
colors=("#FF3647", "#8F1E44", "#614CC9"),
values=data, icons='car', icon_size=15,
legend={'loc': 'upper left', 'bbox_to_anchor': (1,1)},
icon_legend=True
)
fig.set_tight_layout(False)
plt.show();
在上图中,我选择了car图标,它只是其他许多可用图标之一。
在另一个示例中,假设您要用华夫饼图表示参加特定英语课程的男女人数。 注意,我将使用male图标。
import matplotlib.pyplot as plt
from pywaffle import Waffle
fig = plt.figure(
FigureClass=Waffle,
rows=7,
values={'Men': 48, 'Woman': 64},
colors=("#799DF8", "#F33D26"),
legend={'loc': 'upper left', 'bbox_to_anchor': (0.3, 0.0001)},
icons='male', icon_size=20,
icon_legend=True
)
fig.set_tight_layout(False)
plt.show();
效果图如下:
学习更有视觉冲击力的图形,远离那些普通的图形,会对你有很大的帮助。包括今天我们介绍的华夫饼图表。