第五章. 可视化数据分析分析图表—图表的常用设置2

news2024/11/30 2:40:09

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

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 plt

pd.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 中介绍

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/48997.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

iOS15适配 UINavigationBar和UITabBar设置无效,变成黑色

今天更新了xcode13,运行项目发现iOS15以上的手机导航栏和状态栏之前设置的颜色等属性都不起作用了,都变成了黑色,滚动的时候才能变成正常的颜色,经确认得用UINavigationBarAppearance和UITabBarAppearance这两个属性对导航栏和状态…

开发SpringBoot+Jwt+Vue的前后端分离后台管理系统VueAdmin - 前端笔记

一个spring security jwt vue的前后端分离项目!综合运用! 关注公众号 MarkerHub,回复【 VueAdmin 】可以加群讨论学习、另外还会不定时安排B站视频直播答疑! 首发公众号:MarkerHub 作者:吕一明 视频讲解&…

半年卖8万吨辣条,卫龙再闯IPO

“辣条大王”卫龙美味全球控股有限公司(下称“卫龙”)于11月23日重新递表,继续冲刺“辣条第一股”。 作为千禧一代撑起的童年“神话”,卫龙的上市之路却波折重重;它曾于2021年5月、2021年11月及此次重启IPO。 卫龙是…

线程池ThreadPoolExecutor

线程池的生命周期 private final AtomicInteger ctl new AtomicInteger(ctlOf(RUNNING, 0)); ThreadPoolExecutor使用一个ctl变量代表两个信息,线程池的运行状态 (runState) 和 线程池内有效线程的数量 (workerCount),高三位表示状态。 workerCount&am…

MySQL 数据库存储引擎

目录 一、存储引擎简介 二、MyISAM存储引擎 1、MylSAM介绍 2、MyISAM表支持3种不同的存储格式 3、MylSAM的特点 4、MyISAM使用的生产场景 三、InnoDB存储引擎 1、InnoDB介绍 2、InnoDB的特点 3、InnoDB适用生产场景 4、MyISAM和InnoDB的区别 四、查看和修改存储引擎…

CloudAlibaba - Nacos服务注册与配置中心

文章目录一.CloudAlibaba简介1. 介绍2. 依赖3. 主要组件4. 资料文档二.Nacos服务注册与发现1. 简介2. Nacos安装3. Nacos服务注册3.1 注册服务生产者3.2 服务消费者注册和负载4. Nacos服务中心对比三.Nacos配置中心1. 基础配置搭建2. Nacos中添加配置信息2.1 Nacos中的匹配规则…

单商户商城系统功能拆解40—分销应用—分销设置

单商户商城系统,也称为B2C自营电商模式单店商城系统。可以快速帮助个人、机构和企业搭建自己的私域交易线上商城。 单商户商城系统完美契合私域流量变现闭环交易使用。通常拥有丰富的营销玩法,例如拼团,秒杀,砍价,包邮…

前端js传入Long类型精度丢失解决办法

目录 问题背景 解决过程 1.对比数据库数据 2.查询资料 解决方法 问题背景 在进行业务开发的 时候发现更新数据库中的一条数据没有成功,查看SQL日志发现SQL正常执行无错误信息,但是受影响行数为0,但是数据是从前端传过来的 ,一…

面试官:MySQL explain你会关注哪些字段

编号字段名称字段说明值重要性1idSELECT查询序号,即为sql语句执行的顺序。数字越大越优先执行1、2、3...★★2select_typeselect类型,用于区分是普通查询、子查询或联合查询simple:简单的查询,不含子查询和联合查询primary&#x…

玩机搞机---卸载内置软件 无root权限卸载不需要的软件 安全卸载

目前的机型出厂都会自带一些内置软件。个别的还无法删除。各种弹窗广告 等等占用系统资源。操作卡顿。而很多卸载软件有需要root权限才可以运行。那么有没有方法可以无需root就可以卸载内置软件呢。答案是有的。而且方法很多。今天的帖子就列举一下常用的操作步骤 操作前了解的…

自己搭建网站【搭建网站】

现在搭建网站也不只是企业公司商家的专利,很多个人用户都想拥有属于自己的一个网站。那么怎么自己搭建网站呢?下面给大家简单说说。 一、申请域名 域名是访问网站的地址,这是必须要有的,可以在域名服务商网站上申请。申请域名需要…

科普-鸟哥私房菜中的“od -t oCc /etc/issue”的意思

文章摘录展示 看到这里是困惑的,毕竟看这里没有写oCc 的格式 既然文章不能找到答案,那么,我们看详细的说明吧(man od) 如图,想必我们应该很清楚了 ,o[size] 对应的参数oC ,就可以很…

2022.11.27Find a way HDU - 2612

Pass a year learning in Hangzhou, yifenfei arrival hometown Ningbo at finally. Leave Ningbo one year, yifenfei have many people to meet. Especially a good friend Merceki. Yifenfei’s home is at the countryside, but Merceki’s home is in the center of city.…

MySql索引详解-各种索引的定义与区别和应用

MySql索引详解-各种索引的定义与区别和应用一、索引基础:增删改查1.新增索引的几种方式2.删除索引的几种方式3.修改索引的几种方式4.查询索引的几种方式二、索引的分类1.主键索引2.唯一索引3.普通索引4.复合索引5.全文索引三、总结什么是索引?索引的作用…

【DL with Pytorch】第 6 章 : 用循环神经网络分析数据序列

🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞…

PointRend 原理与代码解析

paper:PointRend: Image Segmentation as Rendering code1:https://github.com/facebookresearch/detectron2/tree/main/projects/PointRend code2:https://github.com/open-mmlab/mmsegmentation/tree/master/configs/point_rend 创新点…

[附源码]Python计算机毕业设计Django的花店售卖系统的设计与实现

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

[附源码]SSM计算机毕业设计学习资源共享与在线学习系统JAVA

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

全局路由拦截、局部路由拦截

引入: 看下面这个效果: 每次我们在点击一个功能时,它就会跳转到登录页面,意思就是让我们先登录,登录之后再进行功能操作;但是如果我们登录了,它就不会跳转,这是什么原理呢&#x…

vue3Blog首页基础布局样式规划

思考:我们已经安装了一个ant-design-vue的组件库,是否还可以安装其他的UI组件库混合使用? 答案是可以的,比如这个组件库没有要用到的组件,但另外一个组件有,我们完全可以再安装,单独将某一个使用到的组件引入即可,当项目打包的时候也不会说把所有的安装的都打包进去,只…