我正在通过Jupyter实验室学习Python,我面临着华夫格图表的问题
我有以下字典,我想显示为华夫格图表:
import pandas as pd
import matplotlib.pyplot as plt
from pywaffle import Waffle
dic = {'Xemay':150,'Xedap':20,'Oto':180,'Maybay':80,'Tauthuy':135,'Xelua':5}
df = pd.DataFrame.from_dict(dic, orient='index')
plt.figure(FigureClass=Waffle,rows=5,values=dic,legend={'loc': 'upper left', 'bbox_to_anchor': (1, 1)})
plt.title('Số lượng xe bán được của một công ty')
plt.show()
然而,结果出乎意料:
相反,图表应该是这样的。我做错了什么
实际上,您的代码是正确的,华夫格正确地显示了您的数据(放大绘图以查看正方形…)
但是,为了获得所需的输出,您必须使用参数“rows”和“columns”,它们指定华夫格图表的尺寸
注意,waffle在内部应用了一些舍入(请参见参数^{} ),这就是为什么
countsPerBlock
不是完全正确的,除非您自己缩放数据。要准确再现所需输出,请使用以下代码:或者,您可以规范化数据,使值之和为100。在5x20正方形中,一个正方形代表您数据的1%
这两个代码选项可以解决我的问题:
1。诺曼纽斯先生的贡献:
2。据我所知:
结果如下:
相关问题 更多 >
编程相关推荐