Matplotlib 坐标轴标签,画布标题及图例legend设置

news2024/9/28 5:34:02

坐标轴标签设置

面向过程

面向过程的方式 使用plt.xlabel()和plt.ylabel()根据就近原则分别设置x轴和y轴的标签.

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, np.pi*2, 100)
y = np.sin(x)
y1 = np.cos(x)

plt.subplot(221)
plt.plot(x,y)
plt.xlabel('x')
plt.ylabel('y')


plt.subplot(224)
plt.plot(x,y1)
plt.xlabel('x')
plt.ylabel('y')


plt.show()

可以注意到这里的y轴标签出现了旋转,如果不想进行旋转可以配置标签的rotation属性,值为顺时针旋转的角度,不知如此,还可以使用fontsize配置字体大小,使用color配置字体颜色

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, np.pi*2, 100)
y = np.sin(x)
y1 = np.cos(x)

plt.subplot(221)
plt.plot(x,y)
plt.xlabel('x', fontsize=14,color='blue',rotation=45)
plt.ylabel('y',rotation=0)


plt.subplot(224)
plt.plot(x,y1)
plt.xlabel('x', fontsize=14,color='blue',rotation=45)
plt.ylabel('y',rotation=0)


plt.show()

面向对象

面向对象就是使用画布来调用方法.set_xlabel()和.set_ylabel()

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, np.pi*2, 100)
y = np.sin(x)
y1 = np.cos(x)

axes1 =plt.subplot(221)
axes1.plot(x,y)
axes1.set_xlabel('x', fontsize=14,color='blue',rotation=45)
axes1.set_ylabel('y',rotation=0)


axes2=plt.subplot(224)
axes2.plot(x,y1)
axes2.set_xlabel('x', fontsize=14,color='blue',rotation=45)
axes2.set_ylabel('y',rotation=0)


plt.show()

画布标题设置

面向过程

面向过程的方式使用plt.title()根据就近原则进行设置,同样也可设置color,rotation,fontsize

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, np.pi*2, 100)
y = np.sin(x)
y1 = np.cos(x)

axes1 =plt.subplot(221)
plt.plot(x,y)
plt.xlabel('x', fontsize=14,color='blue',rotation=45)
plt.ylabel('y',rotation=0)
plt.title('sin(x)',fontsize=16,color='red',rotation=45)

axes2=plt.subplot(224)
plt.plot(x,y1)
plt.xlabel('x', fontsize=14,color='blue',rotation=45)
plt.ylabel('y',rotation=0)
plt.title('cos(x)',fontsize=16,color='red',rotation=45)


plt.show()
面向对象

面向对象使用画布对象.set_title()

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, np.pi*2, 100)
y = np.sin(x)
y1 = np.cos(x)

axes1 =plt.subplot(221)
axes1.plot(x,y)
axes1.set_xlabel('x', fontsize=14,color='blue',rotation=45)
axes1.set_ylabel('y',rotation=0)
axes1.set_title('sin(x)',fontsize=16,color='red',rotation=45)

axes2=plt.subplot(224)
axes2.plot(x,y1)
axes2.set_xlabel('x', fontsize=14,color='blue',rotation=45)
axes2.set_ylabel('y',rotation=0)
axes2.set_title('cos(x)',fontsize=16,color='red',rotation=45)


plt.show()

图例设置

图例一般是用与如果在一张图中出现多图时进行标注使用的,图例设置的面向对象和面向过程的方式差不多,分别是plt.legend()和画布对象.legend()

label设置

label可以理解为每张图的标签,需要为其起一个名字

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, np.pi*2, 100)
y = np.sin(x)
y1 = np.cos(x)

fig, ax = plt.subplots(1,1)
ax.plot(x,y,label = 'sin(x)')
ax.plot(x,y1,label = 'cos(x)')

plt.legend()


plt.show()

注意这里改为ax.legend()效果相同

loc参数

loc是legend()中的参数,用于指定图例的位置,可设置为的参数如下,分别有字符串格式和数字的格式,默认为‘best’,也就是0,‘best’指的是找到整张图中空隙最大最合适的地方放置图例

0: ‘best’(自动选择最佳位置)

1: ‘upper right’

2: ‘upper left’

3: ‘lower left’

4: ‘lower right’

5: ‘right’

6: ‘center left’

7: ‘center right’

8: ‘lower center’

9: ‘upper center’

10: ‘center’

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, np.pi*2, 100)
y = np.sin(x)
y1 = np.cos(x)

fig, ax = plt.subplots(1,1)
ax.plot(x,y,label = 'sin(x)')
ax.plot(x,y1,label = 'cos(x)')

ax.legend(loc = 'lower right')

plt.show()
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, np.pi*2, 100)
y = np.sin(x)
y1 = np.cos(x)

fig, ax = plt.subplots(1,1)
ax.plot(x,y,label = 'sin(x)')
ax.plot(x,y1,label = 'cos(x)')

ax.legend(loc = 4)

plt.show()

 

 

不止如此,loc还支持使用坐标的形式,支持列表或者元组的格式

[0,0] 左下角

[0,1] 右下角

[1,0] 左上角

[1,1] 右上角

但是实际的索引值可以取小数,甚至可以不再0-1区间内,使用时需要注意可能出现遮挡图表,或生成在了图片边界之外

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, np.pi*2, 100)
y = np.sin(x)
y1 = np.cos(x)

fig, ax = plt.subplots(1,1)
ax.plot(x,y,label = 'sin(x)')
ax.plot(x,y1,label = 'cos(x)')

ax.legend(loc = (1,1))

plt.show()

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, np.pi*2, 100)
y = np.sin(x)
y1 = np.cos(x)

fig, ax = plt.subplots(1,1)
ax.plot(x,y,label = 'sin(x)')
ax.plot(x,y1,label = 'cos(x)')

ax.legend(loc = (1.1,1))

plt.show()

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, np.pi*2, 100)
y = np.sin(x)
y1 = np.cos(x)

fig, ax = plt.subplots(1,1)
ax.plot(x,y,label = 'sin(x)')
ax.plot(x,y1,label = 'cos(x)')

ax.legend(loc = (0.5,0.5))

plt.show()

 

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

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

相关文章

10 万元预算,竟能打造满足第一性原理计算的高性价比服务器

科学研究的领域中,第一性原理计算占据着至关重要的地位。它要求服务器具备极高的性能,以应对复杂的量子力学计算任务。 第一性原理计算涉及对物质本质的深入探索,需处理海量数据并进行大规模并行计算。第一性原理计算基于量子力学原理&#x…

Pycharm 创建文件,生成文件头注释

Pycharm 创建文件,生成文件头注释 路径:File --> Settings --> Editor --> File and Code Templates --> Python Script # codingutf-8 """ Proj : ${PROJECT_NAME} File : ${NAME}.py Date : ${DATE} ${TIME} Autho…

Docker使用tensorflow/serving镜像部署模型

Docker使用tensorflow/serving镜像部署模型 环境 简单梳理一下使用tensorflow/serving镜像在服务器上部署模型。 首先要保证在linux环境上已经安装好了docker,之后下载tensorflow/serving镜像: #下载镜像 docker pull tensorflow/serving #查看下载的…

Halcon基于组件的模板匹配

Halcon基于组件的模板匹配 基于组件的模板匹配可以说是基于形状的模板匹配的加强版,加强的地方在于,这种方法允许模板中包含多个目标,并且允许目标之间存在相对运动(位移和旋转)。这决定了这种方式不适用于尺寸缩放的…

PDF转PPT,四款神器助你一臂之力!

亲爱的朋友们,你们在日常的工作和生活中有没有遇到过需要将PDF文件转换成PPT格式的情况呢?今天,我就来给大家推荐四款非常好用的工具,让你轻松应对PDF转PPT的难题! 一、福昕转换器 直通车(粘贴到浏览器打…

小阿轩yx-Kubernertes日志收集

小阿轩yx-Kubernertes日志收集 前言 在 Kubernetes 集群中如何通过不同的技术栈收集容器的日志,包括程序直接输出到控制台日志、自定义文件日志等 有哪些日志需要收集 日志收集与分析很重要,为了更加方便的处理异常 简单总结一些比较重要的需要收集…

framework-android启动

1:BootRom->BootLoader->Linux Kernel->Init->Zygote- >SystemServer->Launcher BootLoader 层:主要包括 Boot Rom 和 Boot Loader Kernel 层:主要是 Android 内核层 Native 层:主要是包括 init 进程以及其…

【SM系列】简单说说SM2,SM3,SM4加密算法

希望文章能给到你启发和灵感~ 如果觉得文章对你有帮助的话,点赞 关注 收藏 支持一下博主吧~ 阅读指南 开篇说明一、基础环境说明1.1 硬件环境1.2 软件环境 二、什么是SM2加密?2.1 应用场景2.2 与RSA算法的区别 三、什么是SM3加密…

AI修复老照片的完整教程来了!

大家好,我是每天分享AI应用的萤火君! 最近老照片修复的项目比较火爆,很多同学都拿到了成果,这个技术上已经没有太大的难度,结合各种工具可以做出不错的效果,但是很多人还不知道如何实现,这篇文…

最常用的100个Python库入门

文章目录 最常用的100个Python库入门命令行界面和参数解析日志和错误处理多媒体处理异步编程Web开发网络和API代码分析和测试数据处理和科学计算数据库和数据存储系统和文件操作安全性机器学习和深度学习其他工具和库任务调度进度条虚拟环境管理异步任务队列文档生成HTML处理SQ…

Web APIs第一天

第一天&#xff1a;DOM获取元素&#xff0c;获取元素&#xff0c;修改属性 声明新变量&#xff0c;一般默认const&#xff0c;如果变量的值不变&#xff0c;则使用const。如果变量的值变化&#xff0c;则使用let。var已经被淘汰了。 <script>const arr [red, pink]arr.…

ESP32!Thonny+MicroPython+ESP32开发环境搭建!!

准备工具&#xff1a; ThonnyMicroPythonESP32 一.Thonny安装 下载地址&#xff1a;Thonny, Python IDE for beginnershttps://thonny.org/ 二.下载esp32环境——根据型号下载 下载地址&#xff1a;MicroPython - Python for microcontrollershttps://micropython.org/dow…

登录页面设计课堂,用8个案例带你学习

本文将以 8个最受欢迎的登录页模板为例&#xff0c;给大家分析想要提升登录页转化率&#xff0c;设计登录页时应该关注的要点 作为设计师&#xff0c;在设计登录页面时&#xff0c;除了要让你的界面设计拥有出色的视觉效果&#xff0c;还要想尽可能地获取新用户&#xff0c;并留…

分享一个使用智狐联创AI平台创建的WordPress分类广告插件

为了提升广告的效果与管理效率&#xff0c;我们开发了一款基于WordPress的分类广告插件&#xff0c;旨在帮助用户根据文章分类方便地显示相关广告。这款插件不仅简化了广告的管理流程&#xff0c;还提高了广告的精准投放。 插件功能概述 1. 广告管理 用户可以通过插件后台轻…

谷歌seo优化有能一步提升的方法吗?

网站优化的方法有很多&#xff0c;但没有一刀切的解决方案。 谷歌SEO绝对不是一项廉价的服务。任何声称能以低价实现显著效果的承诺都值得怀疑。 谷歌SEO是一项需要人力、技术和资源的工作&#xff0c;如果你打算自己做 最少需要一个人的年薪&#xff0c;还要考虑域名、服务器…

Linux中的编译器gcc/g++

目录 一、gcc与g的区别 1.gcc编译器使用 2.g编译器使用 二、gcc/g编译器编译源文件过程 1.预处理 2.编译 3.汇编 4.链接 三、静态库和动态库 1.库中的头文件作用 2.静态库 3.动态库 四、gcc编译器的一些选项命令 一、gcc与g的区别 gcc用于编译C语言代码&#xff…

Echarts可视化大屏数据详解

1、ECharts介绍 1.1、什么是ECharts ECharts是一款由百度开发并开源的数据可视化图表库&#xff0c;旨在帮助开发者通过简单易用的方式实现复杂的数据展示和分析需求。它完全基于 JavaScript 开发&#xff0c;利用 HTML5 的 Canvas 技术进行图形渲染&#xff0c;这使得它能够…

精密五金零配件加工的核心技术解析

在现代制造业中&#xff0c;精密五金零配件起着至关重要的作用。从电子产品到机械设备&#xff0c;从汽车制造到航空航天&#xff0c;都离不开高精度的五金零配件。而要实现精密五金零配件的加工&#xff0c;需要掌握一系列核心技术。时利和与大家一同解析精密五金零配件加工的…

Flutter之修改App的图标、名称

一、修改App名称 Android 路径&#xff1a;android/app/src/main/AndroidManifest.xml, 找到 android:label”string/app_name”。点击Ctrl鼠标左键转到string.xml 修改名称&#xff1a; <resources><string name"app_name">你的APP名称</string>…

如何使 div 居中?CSS 居中终极指南

前言 长期以来&#xff0c;如何在父元素中居中对齐一个元素&#xff0c;一直是一个让人头疼的问题&#xff0c;随着 CSS 的发展&#xff0c;越来越多的工具可以用来解决这个难题&#xff0c;五花八门的招式一大堆&#xff0c;这篇博客&#xff0c;旨在帮助你理解不同的居中方法…