Python中如何绘制堆叠百分比柱状图展示市场份额
发布时间:2023-12-27 19:50:14
在Python中,可以使用matplotlib库来绘制堆叠百分比柱状图展示市场份额。下面是一个使用例子:
首先,需要安装matplotlib库,可以使用以下命令进行安装:
pip install matplotlib
然后,导入需要的库:
import matplotlib.pyplot as plt
接下来,创建一个数据集来表示市场份额。假设有三个公司A、B和C的市场份额,可以使用一个字典来表示:
market_share = {
'Company A': [30, 40, 50, 60],
'Company B': [20, 30, 40, 50],
'Company C': [50, 30, 10, 20]
}
这个字典的键是公司名称,值是一个列表,列表中的每个元素是该公司在不同时间段内的市场份额。
然后,计算每个公司的百分比份额。可以通过将每个时间段的市场份额除以总市场份额来实现:
total_market_share = [sum(share) for share in zip(*market_share.values())]
percentage_market_share = {
company: [(share/total)*100 for share, total in zip(share_list, total_market_share)]
for company, share_list in market_share.items()
}
现在,可以使用matplotlib库绘制堆叠百分比柱状图。可以使用bar函数来绘制柱状图,并使用bottom参数来堆叠每个公司的数据。
x = range(len(total_market_share))
bottom = [0] * len(total_market_share)
for company, share_list in percentage_market_share.items():
plt.bar(x, share_list, bottom=bottom, label=company)
bottom = [b+s for b, s in zip(bottom, share_list)]
plt.xlabel('Time')
plt.ylabel('Percentage Market Share')
plt.title('Stacked Percentage Bar Chart')
plt.xticks(range(len(total_market_share)))
plt.legend()
plt.show()
最后,使用show函数显示绘制的图形。
以上代码将绘制一个堆叠百分比柱状图,其中x轴表示不同的时间段,y轴表示市场份额的百分比。每个柱子表示一个公司,柱子的高度表示该公司在对应时间段的市场份额的百分比,不同公司的柱子堆叠在一起。
这是一个简单的例子,您可以根据自己的需求调整数据和图形的样式。希望这可以帮助到您!
