更新时间:2022-04-18 来源:黑马程序员 浏览量:
随着人们的生活水平日益提高,汽车已经成为人们出行的代步工具,为人们的生活带来了便利。已知某品牌汽车公司分别在北京、上海、广州、深圳、浙江、山东设立了6个分公司,各分公司在2018年的销售额十分可观,具体如表5-5和表5-6所示。
表5-5 2018年上半年某品牌汽车的销售额 单位:亿元
表5-6 2018年上半年某品牌汽车各分公司的销量 单位:辆
根据表5-5和表5-6的数据,使用3个子图进行展示:在第0行第0列的区域中,绘制反映2018年上半年汽车销售额的柱形图;在第1行第0列和第1行第1列的区域中,绘制反映2018年上半年各分公司汽车销量的折线图和堆积面积图,具体代码如下。
# 05_cars_sales import numpy as np import matplotlib.pyplot as plt import matplotlib.gridspec as gridspec plt.rcParams["font.sans-serif"] = ["SimHei"] x_month = np.array(['1月', '2月', '3月', '4月', '5月', '6月']) y_sales = np.array([2150, 1050, 1560, 1480, 1530, 1490]) x_citys = np.array(['北京', '上海', '广州', '深圳', '浙江', '山东']) y_sale_count = np.array([83775, 62860, 59176, 64205, 48671, 39968]) # 创建画布和布局 fig = plt.figure(constrained_layout=True) gs = fig.add_gridspec(2, 2) ax_one = fig.add_subplot(gs[0, :]) ax_two = fig.add_subplot(gs[1, 0]) ax_thr = fig.add_subplot(gs[1, 1]) # 第1个子图 ax_one.bar(x_month, y_sales, width=0.5, color='#3299CC') ax_one.set_title('2018年上半年某品牌汽车的销售额') ax_one.set_ylabel('销售额(亿元)') # 第2个子图 ax_two.plot(x_citys, y_sale_count, 'm--o', ms=8) ax_two.set_title('分公司某品牌汽车的销量') ax_two.set_ylabel('销量(辆)') # 第3个子图 ax_thr.stackplot(x_citys, y_sale_count, color='#9999FF') ax_thr.set_title('分公司某品牌汽车的销量') ax_thr.set_ylabel('销量(辆)') plt.show()
运行程序,效果如图5-19所示。
图5-19中共有3个图表,位于最上方的图表描述了2018年上半年某品牌汽车的销售额,位于左下方和右下方的图表都描述了分公司某品牌汽车的销量。由图5-19可知,1月份的销售额最高,北京分公司汽车的总销量最多。