第五章. 可视化数据分析分析图表—图表的常用设置2
创始人
2024-03-03 18:50:05
0

第五章. 可视化数据分析分析图

5.2 图表的常用设置2

本节主要介绍图表的常用设置,设置标题和图例,添加注释文本,调整图表与画布边缘间距以及其他设置。

7.设置标题(title)

1).语法:

matplotlib.pyplot.title(label,fontdict=None,loc='center',pad=None,**kwargs)

参数说明:
label:图表标题文本
fontdict:字典,用于设置标题字体的样式,如’{‘fontsize’:10,‘fontweight’:10,‘va’:‘bottom’,‘ha’:‘center’}’
loc:标题水平位置,参数:center,left,right
pad:标题距离图表顶部的距离

8.设置图例(legend)

1).语法:

matplotlib.pyplot.legend(*args, **kwargs)

参数说明:
可设置很多参数,如图例名称,显示位置,轴与图例之间的距离

2).图例显示方式:

  • 自动显示:
    matplotlib.pyplot.legend()
    
  • 手动添加:
    matplotlib.pyplot.legend(('图书采购价目',), loc='upper right')
    
    注:手动添加图例时,有时文本会显示不全,在文本后面加一个逗号(,)可解决,例如:(‘图书采购价目’,)

3).图例显示位置:(loc)

位置(字符串)位置索引描述位置(字符串)位置索引描述
best0自适应center left6左侧中间位置
upper right1右上方center right7右侧中间位置
upper left2左上方lower center8下方中间位置
lower left3左下方upper center9上方中心位置
lower right4右下方center10中心
right5右侧

注:

  • 参数bbox_to_anchor也可对图例的位置进行控制,元组类型 bbox_to_anchor =(num1,num2),num1:控制legend左右移动(值越大越向右移动),num2:控制legend上下移动(值越大越向上移动)
  • 参数borderaxespad,可控制轴和图例边框之间的间距,字体大小为单位度量

9.添加注释(annotate)

在图表上给数据添加文本注释,描述信息

1).语法:

matplotlib.pyplot.annotate(s, xy, *args, **kwargs)

参数说明:
s:标注文本
xy:要标注的点,二维元组(x,y)。
xytext:可选的,文本的位置,二维元组(x,y)。如果没有设置,默认为要标注的点的坐标。
xycoords:可选的,点的坐标系。字符串、Artist、Transform、callable或元组。
arrowprops:箭头的样式,dict型数据,如果属性为空,则会在注释文本和被注释点之间画箭头

2).xycoords参数设置及说明

设置值说明
figure points以图的左下角为参考,单位点数
figure pixels以图的左下角为参考,单位像素数
figure fraction以图的左下角为参考,单位百分比
axes points以子图的左下角为参考,单位点数(一个figure可以有多个axes )
axes pixels以子图的左下角为参考,单位像素数
axes fraction以子图的左下角为参考,单位百分比
data以被注释的坐标点x,y为参考(默认值)
polar不使用本地数据坐标系,使用极坐标系

3).arrowprops参数设置及说明

设置值说明
width箭头的宽度,单位点
headwidth箭头头部的宽度,单位点
headlength箭头头部的长度,单位点
shrink箭头两端收缩的百分比(占总比)
任何matplotlib.patches.FancyArrowPatch中的关键字

10.调整图表与画布边缘间距(subplots_adjust)

绘制图表的时候,由于x,y轴标题与画布边缘距离太近,而显示不全,可通过subplots_adjust函数来调节图表和画布之间的距离

1).语法:

matplotlib.pyplot.subplots_adjust(left=None,bottom=None,right=None,top=None,wspace=None,hspace=None)

参数说明:
left,bottom,right,top:调整上下左右的空白,left和bottom值越小,空白越小,right和top,值越大,空白越小(画布是从左下角开始,取值0~1)
wspace,hspace:用于调节列间距和行间距

11.上述函数的应用

1).结果展示:

在这里插入图片描述

2).代码:

import pandas as pd
import matplotlib.pyplot as pltpd.set_option('display.unicode.east_asian_width', True)
df = pd.read_excel('F:\\Note\\图书采购清单.xlsx', sheet_name='Sheet1', usecols=['原价', '书名'])
print(df)# 设置画布
fig = plt.figure(figsize=(6, 4), facecolor='y')plt.rcParams['font.sans-serif'] = ['SimHei']  # 解决中文乱码
plt.rcParams['axes.unicode_minus'] = False  # 解决负号不显示的问题# 设置线
plt.plot(df['书名'], df['原价'], color='c', linestyle='-', marker='o', mfc='w')# 设置网格线
plt.grid(color='0.5', linestyle='--', linewidth=1)# 设置x,y轴坐标
plt.xlabel('书名')
plt.ylabel('原价')# 设置坐标轴刻度
plt.xticks(df['书名'])# 设置文本标签
for x, y in zip(df['书名'], df['原价']):plt.text(x, y, '%.2f' % y, ha='center', va='bottom', fontsize=9)# 设置标题和图例
plt.title('图书采购价目表')# 设置图标图例
plt.legend(('图书采购价目',), loc='upper right')  # 手动添加图例时,有时文本会显示不全,在文本后面加一个逗号(,)可解决,例如('图书采购价目',)# 添加注释
plt.annotate('价目最低', xy=(df['书名'][2], df['原价'][2]), xytext=(df['书名'][2], df['原价'][2] + 2), xycoords='data',arrowprops=dict(facecolor='r', shrink=0.05))# 调整图表与画布边缘间距
plt.subplots_adjust(left=0.15, bottom=0.15, right=0.9, top=0.9)# 显示图像
plt.show()

注意:图表的常用设置:颜色设置,线条样式,标记样式,设置画布,坐标轴,添加文本标签,在图表的常用设置1 中介绍

相关内容

热门资讯

漯河:公积金政策已做调整! 12月23日,漯河市住房公积金管理中心发布《关于住房公积金缴存基数调整工作的提醒》。我市住房公积金缴...
陕国投A:增发定价符合法规及国... 证券之星消息,陕国投A(000563)12月22日在投资者关系平台上答复投资者关心的问题。 投资者提...
公共利益保护实录:7个行政公益... 从农用地保护到抗战文物抢救,从处方药安全到妇女平等就业——行政公益诉讼如何以司法之力守护公共利益?2...
百亿富豪涉嫌犯罪!上海知名乐园... 12月22日晚,海昌海洋公园发布公告称,海昌海洋公园收到公司董事会主席、执行董事兼行政总裁俞发祥家属...
格陵兰岛总理:格陵兰岛领土完整... 当地时间12月23日,格陵兰岛自治政府总理尼尔森再次重申,格陵兰岛的领土完整和法律地位根植于国际法,...
被起诉的AI独角兽,这样回应好... AIX财经(AIXcaijing)原创 作者 | 陈丹 编辑 | 魏佳 AI与版权的战争,或许正迎来...
桃源法院:车祸背后的温情调解 ... “法官,我知道是我撞了人,可我刚毕业实在没能力赔这么多……”在桃源县人民法院的审判庭内,外卖员琚某的...
江西上高:高效调解有温度 倾力... 近年来,江西省宜春市上高县市场监督管理局始终以“维护消费合法权益,共筑满意消费环境”为目标,持续完善...
三部门发文完善幼儿园收费政策 12月23日,记者从国家发展改革委获悉,为更好促进学前教育普及普惠安全优质发展,有效降低人民群众保育...