3.3.3 实例 2 :支付宝月账单报告(添加标题、图例)图例常见于饼图中,主要用于标注饼图中每个扇形代表的含义。2.6.2 节的用户 A 某月支付宝账单报告的饼图将每个扇形的含义标注到圆外,由于标注的文字长短不一且扇形数量偏多,导致图表显得比较杂乱,因此将饼图中全部的标注文字移到图例中,具体代码如下。In [3]:# 02_monthly_bills_of_alipayimport matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = ['SimHei']plt.rcParams['axes.unicode_minus'] = Falsekinds = [' 购物 ', ' 人情往来 ', ' 餐饮美食 ', ' 通信物流 ', ' 生活日用 ',' 交通出行 ', ' 休闲娱乐 ', ' 其他 ']money_scale = [800 / 3000, 100 / 3000, 1000 / 3000, 200 / 3000,300 / 3000, 200 / 3000, 200 / 3000, 200 / 3000]dev_position = [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
plt.pie(money_scale, autopct='%3.1f%%', shadow=True,explode=dev_position, startangle=90)# 添加标题plt.title(' 支付宝月账单报告 ')# 添加图例plt.legend(kinds, loc='upper right', bbox_to_anchor=[1.3, 1.1])plt.show()运行程序,效果如图 3-8 所示。图 3-8 中,标题位于图表顶部且与图表居中对齐,图例位于图表的右上方。与图 2-17相比,图 3-8 增加了标题和图例,有助于用户明确饼图及其每个颜色的扇形的含义。
3.4 显示网格3.4.1 显示指定样式的网格网格是从刻度线开始延伸,贯穿至整个绘图区域的辅助线条,它能帮助人们轻松地查看图形的数值。网格按不同的方向可以分为垂直网格和水平网格,这两种网格既可以单独使用,也可以同时使用,常见于添加图表精度、分辨图形细微差别的场景。matplotlib 中可以直接使用 pyplot 模块的 grid () 函数显示网格,grid () 函数的语法格式如下所示 :grid(b=None, which='major', axis='both', ** kwargs)该函数常用参数的含义如下。·b :表示是否显示网格。若提供其他关键字参数,则 b 参数设为 True。
·which :表示显示网格的类型,支持 major、minor、both 这 3 种类型,默认为 major。·axis :表示显示哪个方向的网格,该参数支持 both、x 和 y 这 3 个选项,默认为 both。·linewidth 或 lw :表示网格线的宽度。此外,还可以使用 Axes 对象的 grid() 方法显示网格。需要说明的是,坐标轴若没有刻度,就无法显示网格。在 3.3.2 节绘制的正弦和余弦曲线图中显示水平网格,增加的代码如下。# 显示网格plt.grid(b=True, axis='y', linewidth=0.3)运行程序,效果如图 3-9 所示。3.4.2 实例 3 :汽车速度与制动距离的关系(添加网格)在 2.7.2 节的汽车速度与制动距离关系的散点图中,很多圆点因距离坐标轴较远而无法准确地看出数值。因此,本实例将在散点图中显示网格,并调整坐标轴的刻度,具体代码如下。In [4]:# 03_vehicle_speed_and_braking_distanceimport numpy as npimport matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = 'SimHei'plt.rcParams['axes.unicode_minus'] = Falsex_speed = np.arange(10, 210, 10)y_distance = np.array([0.5, 2.0, 4.4, 7.9, 12.3,17.7, 24.1, 31.5, 39.9, 49.2,59.5, 70.8, 83.1, 96.4, 110.7,126.0, 142.2, 159.4, 177.6, 196.8])plt.scatter(x_speed, y_distance, s=50, alpha=0.9, linewidths=0.3)# 设置 x 轴的标签、 刻度标签plt.xlabel(' 速度 (km/h)')
plt.ylabel(' 制动距离 (m)')plt.xticks(x_speed)# 显示网格plt.grid(b=True, linewidth=0.3)plt.show()运行程序,效果如图 3-10 所示。与图 2-19 相比,图 3-10 的散点图增加了坐标轴标签、浅灰色的网格,有助于用户大致了解各数据点对应的数值。
3.3.3 Python 数据可视化——图表辅助元素的定制
猜你喜欢
转载自blog.csdn.net/qq_43416206/article/details/132262835
今日推荐
周排行