探索数据可视化:Matplotlib 基础指南

图形绘制

import numpy as np
import pandas as pd
import matplotlib.pyplot as pltx = np.linspace(0,2 * np.pi,100)# 说明:正弦波。x:NumPy数组
# 所有的数据,进行正弦计算
y = np.sin(x)plt.plot(x,y)# 指定x轴范围
plt.xlim(-1,10)
# 指定y轴范围
plt.ylim(-1.5,1.5)# color = 'green' 指定网格颜色;
# alpha = 0.5 指定网格线的透明度
# linestyle = '--' 指定网格线的线型
# linewidth = 1 指定网格线的线宽
plt.grid(color = 'green',alpha = 0.5,linestyle = '--',linewidth = 1)

在这里插入图片描述

设置字体、坐标轴刻度、标签、标题

# 查看字体
from matplotlib import font_manager
fm = font_manager.FontManager()
[font.name for font in fm.ttflist][:10] # 列表生成式,只拿前10个字体
"""
['cmb10','cmex10','DejaVu Sans Mono','DejaVu Serif','STIXSizeOneSym','DejaVu Serif','STIXSizeThreeSym','DejaVu Serif','cmtt10','STIXGeneral']
"""# figsize=(9,6) 指定图形窗口的大小;图形窗口宽度为 9 英寸,高度为 6 英寸。
plt.figure(figsize=(9,6))
plt.plot(x,y)# 设置字体
# STKaiti 常用于显示中文文本
plt.rcParams['font.family'] =  'STKaiti'
# 设置字体大小
plt.rcParams['font.size'] = 28
# 设置数字负号
plt.rcParams['axes.unicode_minus'] = False# 设置标题
plt.title('正弦波',fontsize = 18, color = 'red',pad = 20)# 设置x与y轴标签
plt.xlabel('X')
plt.ylabel('f(x) = sin(x)',rotation = 0,horizontalalignment = 'right')# yticks 用于设置 y 轴的刻度位置和标签
#[-1, 0, 1] 指定 y 轴三个刻度位置分别为 -1、0 和 1。
a = plt.yticks([-1,0,1])# 设置x轴刻度
# [0, np.pi/2, np.pi, 1.5*np.pi, 2*np.pi] 指定x 轴上显示的刻度位置
# [0, r'$\frac{\pi}{2}$', r'$\pi$', r'$\frac{3\pi}{2}$', r'$2\pi'] 是与刻度位置对应的标签列表。
# 这里使用了 LaTeX 格式来显示数学符号
_ = plt.xticks([0,np.pi/2,np.pi,1.5*np.pi,2*np.pi],[0,r'$\frac{\pi}{2}$',r'$\pi$',r'$\frac{3\pi}{2}$',r'$2\pi$'],color = 'red')# 字符串前面+r表示转义

在这里插入图片描述

图例

# 1、图形绘制x = np.linspace(0,2*np.pi) # x轴y = np.sin(x) # y轴 正弦# 绘制线形图
plt.figure(figsize=(9,6)) # 调整尺寸
plt.plot(x,y)
plt.plot(x,np.cos(x)) # 余弦波
plt.plot(x,np.sin(x) + np.cos(x))# 2、图例
plt.legend(['Sin','Cos','Sin + Cos'],fontsize = 18,loc = 'center',ncol = 3,bbox_to_anchor = (0,1,1,0.2)) # x,y,widht,height
<matplotlib.legend.Legend at 0x2761cc3e208>

在这里插入图片描述

脊柱移动(坐标轴)

“脊柱”(Spines)是图形的四个边框线,它们分别位于图形的顶部、底部、左侧和右侧。你可以通过调整脊柱的位置来实现脊柱移动

x = np.linspace(-np.pi,np.pi,50)
# 设置数字负号
plt.rcParams['axes.unicode_minus'] = False
# facecolor ='lightblue' 设置图形对象的背景颜色为浅蓝色
plt.figure(figsize=(9,6),facecolor='lightblue')# plot绘制了两个图形,x-y成对出现
plt.plot(x,np.sin(x),x,np.cos(x),color = 'cyan')# 获取当前子视图
ax = plt.gca() # 获取当前视图# 将图形对象 ax 的背景颜色设置为一个随机生成的颜色
ax.set_facecolor(np.random.rand(3))# 右边和上面脊柱消失
# ax.spines['right'].set_color('white') # 右边脊柱设置为白色
ax.spines['right'].set_alpha(0)
ax.spines['top'].set_alpha(0)# 设置下面左边脊柱位置,data表示数据,axes表示相对位置0~1
ax.spines['bottom'].set_position(('data',0)) # 底部脊柱定位在 y 轴的 0 点上(竖直中间)
ax.spines['left'].set_position(('data',0)) # 水平中间# 设置刻度及刻度标签
plt.yticks([-1,0,1],labels=['-1','0','1'],fontsize = 18)
_ = plt.xticks([-np.pi,-np.pi/2,np.pi/2,np.pi],labels=[r'$-\pi$',r'$-\frac{\pi}{2}$',r'$\frac{\pi}{2}$',r'$\pi$'],fontsize = 18)# 显示网格线
plt.grid()# 将图形以 300 DPI 的分辨率保存为一个 PDF 文件,文件名为 2.pdf,保存在当前工作目录中
plt.savefig('./2.pdf',dpi = 300)

在这里插入图片描述

风格样式

颜色、线形、点形、线宽、透明度
x = np.linspace(0,2*np.pi,20) # 等差数列,20个
y1 = np.sin(x)
y2 = np.cos(x)# color = indigo:颜色为靛蓝色,线型,点型
# ls='-.': 设置线条的线型为点划线
# marker='p': 设置数据点的标记为五边形(pentagon)
plt.plot(x, y1, color = 'indigo', ls = '-.', marker = 'p')# rgb颜色表示 256 0 ~ 255 
# 0 、1、2……A、B、C、D、E、F
# marker='o'数据点标记为圆形
plt.plot(x, y2, color = '#FF00EE', ls = '--', marker = 'o')# 0 ~ 1之间
plt.plot(x, y1 + y2, color = (0.2,0.7,0.2), ls = ':', marker = '*')# 线宽设置为5
# 透明度为0.3
plt.plot(x,y1 + 2*y2,linewidth = 5,alpha = 0.3,color = 'orange') # 参数连用:参数含义:b --- blue; o marker圆圈; --虚线
plt.plot(x, 2*y1 - y2, 'bo--') 
[<matplotlib.lines.Line2D at 0x2761c671308>]

在这里插入图片描述

def f(x):return np.exp(-x) * np.cos(2*np.pi*x)x = np.linspace(0,5,50)
plt.figure(figsize=(9,6))# plot 参数
plt.plot(x,f(x),color = 'purple',ls = '--', # 折线样式lw = 2, # 线宽alpha = 0.6, # 折线的透明度marker = 'o', #  数据点为圆形markerfacecolor = 'red',# 点颜色markersize = 10,# 点大小markeredgecolor = 'green',#点边缘颜色markeredgewidth = 3)#点边缘宽度plt.xticks(size = 18) # 设置刻度标签的字体大小为 18 磅
_ = plt.yticks(size = 18)

在这里插入图片描述

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

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

相关文章

746. 使用最小花费爬楼梯 (Swift版本)

题目 给你一个整数数组 cost&#xff0c;其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用&#xff0c;即可选择向上爬一个或者两个台阶。 你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。 请你计算并返回达到楼梯顶部的最低花费。 限制条件 2…

智能合约语言(eDSL)—— proc_macro实现合约init函数

我们通过属性宏来实现合约的init函数&#xff0c;call函数其实和init是类似的&#xff1b; GitHub - XuHugo/xwasm 构建属性宏&#xff0c;要在cargo.toml里面设置一些参数&#xff0c;这是必须的。一般来说&#xff0c;过程宏必须是一个库&#xff0c;或者作为工程的子库&…

thingsboard如何自定义udp-transport

0、参考netty实现udp的文章 https://github.com/narkhedesam/Netty-Simple-UDP-TCP-server-client/blob/master/netty-udp/src/com/sam/netty_udp/server/MessageDecoder.java 调试工具使用的是:卓岚TCP&UDP调试工具 1、在common\transport下面创建udp模块,仿照mqtt的创…

Linux配置.bashrc文件导致各种命令(vim、sudo)失效。

Linux配置.bashrc文件导致各种命令&#xff08;vim、sudo&#xff09;失效。 起因是 nvcc-V一直报错&#xff1a;-bash&#xff1a;nvcc&#xff1a; command not found 踩坑记录&#xff1a;上网一查说是没有配置cuda的环境变量。于是去修改了bashrc文件&#xff0c;在最下面…

一次生产环境上的dockerd启动失败原因分析

今夜原计划对 生产环境 上的 SDN 组件进行一次紧急扩容操作的&#xff0c;但业务基础环境中的 Docker-Engine 启动不起来了、原定计划也就无法继续进行了。 尽管查清了基础业务环境中的故障原因&#xff0c;但金主DD说今天先不干了&#xff0c;那就整理整理思路写篇流水账吧 。…

【漏洞复现】帮管客 CRM jiliyu SQL注入漏洞

免责声明&#xff1a;文章来源互联网收集整理&#xff0c;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;所产生的一切不良后果与文章作者无关。该…

ubuntu下vscode+STM32CubeMX+openocd+stlinkv2搭建STM32开发调试下载环境

1、换源 清华源 # 默认注释了源码镜像以提高 apt update 速度&#xff0c;如有需要可自行取消注释 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restr…

nginx-排查一次大文件无法正常下载问题

目录 问题现象&报错信息 问题现象以及分析 nginx报错信息 问题解决 方法1&#xff1a;配置proxy_max_temp_file_size 方法2&#xff1a;关闭proxy_buffering 参考文档 问题现象&报错信息 问题现象以及分析 文件正常从后端服务器直接下载时&#xff0c;一切正常…

通过esp32cam拍摄图片上传至PC并通过YOLO进行目标检测

通过esp32cam拍摄图片上传至PC并通过YOLO进行目标检测 一.通过esp32cam拍摄照片并上传至PC二.训练自己的数据集三.AutoDL AI算力云的使用1.账号注册2.GPU选取3.GPU使用4.开机训练 四.数据集的使用 一.通过esp32cam拍摄照片并上传至PC 文章链接: https://blog.csdn.net/qq_6297…

北京市气象站点日值数据(降雨气温风速日照蒸发气压地温湿度)

气象数据一直是一个价值较高的数据&#xff0c;它被广泛用于各个领域的研究当中。气象数据包括有气温、气压、相对湿度、降水、蒸发、风向风速、日照等多种指标&#xff0c;但是包含了这些全部指标的气象数据却较难获取&#xff0c;即使获取到了也不能随意分享。 北京&#xf…

学习JavaEE日子 Day24 TreeSet,内置比较器,外置比较器,HashMap

Day24 TreeSet 1.TreeSet 1.1 TreeSet的使用 注意&#xff1a;TreeSet的使用和HashSet一样 public class Test01 {public static void main(String[] args) {//创建TreeSet集合的对象TreeSet<String> set new TreeSet<>();//添加元素set.add("麻生希"…

机器学习-可解释性机器学习:随机森林与fastshap的可视化模型解析

一、引言 机器学习在当今社会扮演着日益重要的角色&#xff0c;但黑盒模型的不可解释性限制了其应用范围。因此&#xff0c;可解释性机器学习成为研究热点&#xff0c;有助于提高模型的可信度和可接受性。本文旨在探讨随机森林和fastshap作为可视化模型解析工具的应用&#xff…

【生态适配】亚信安慧AntDB数据库与OpenCloudOS、TencentOS Server五款产品完成兼容互认

日前&#xff0c;亚信安慧AntDB数据库与OpenCloudOS8、OpenCloudOS9、TencentOS Server 2、TencentOS Server 3、TencentOS Server 4五款操作系统完成兼容互认。经过严格测试&#xff0c;亚信安慧AntDB数据库与这五款操作系统兼容良好&#xff0c;整体运行稳定。 图1&#xff1…

在Anaconda3的conda中创建虚拟环境下载opencv

opencv下载全流程 一、下载Anaconda 记得从官方网格站进行下载&#xff0c;会有一些慢 下载后进行配置 b站讲解视频&#xff08;非本人&#xff08;平台大神讲解&#xff09;&#xff09; 二、打开conda控制台 这里的两个都可以进行下载 通常我们受用anaconda prompt 三、…

数字人ai直播软件突破AI大模型技术,改变未来科技格局!

数字人AI直播软件在AI大模型技术上的突破&#xff0c;将不可避免地改变未来科技格局。这一突破让人们看到了AI技术的无限可能性&#xff0c;并为未来的科技发展打开了新的大门。 AI大模型技术是近年来人工智能领域的一个热点&#xff0c;它通过构建庞大、复杂的神经网络模型&a…

【AI视野·今日NLP 自然语言处理论文速览 第八十四期】Thu, 7 Mar 2024

AI视野今日CS.NLP 自然语言处理论文速览 Thu, 7 Mar 2024 Totally 52 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Computation and Language Papers The Heuristic Core: Understanding Subnetwork Generalization in Pretrained Language Models Authors Adith…

PostgreSQL容器安装

docker中的centos7中安装 选择对应的版本然后在容器中的centos7中执行下面命令 但是启动容器的时候需要注意 开启端口映射开启特权模式启动init进程 docker run -itd --name centos-postgresql -p 5433:5432 --privilegedtrue centos:centos7 /usr/sbin/init 启动然后进入后先…

JAVA实战开源项目:生活废品回收系统(Vue+SpringBoot)

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、研究内容三、界面展示3.1 登录注册3.2 资源类型&资源品类模块3.3 回收机构模块3.4 资源求购/出售/交易单模块3.5 客服咨询模块 四、免责说明 一、摘要 1.1 项目介绍 生活废品回收系统是可持续发展的解决方案&#xff0c;旨在鼓…

CQBW(服务器部分)

计算检材 4-A.rar 的 MD5(128bit)校验值。&#xff08;答案格式: 字母大写&#xff09; 请写出镜像中系统&#xff08;用户名: root 密码: btLUN5Tb)的操作系统版本名称;&#xff08;答案格式: redhat; 小写、不带空格、特殊字符及版本号&#xff09; 也可以仿真来看 sed -i s…

HarmonyOS 数据持久化 关系型数据库之 初始化操作

上文 HarmonyOS 数据持久化之首选项 preferences 我们有说用户首选项 但它只能处理一些比较简单的数据类型结构 的持久化处理 如果是一些批量较大 结构较为复杂的数据结构 那么 首选项就无法满足了 我们就要选择 关系型数据库 通过 SQLite 组件实现的一种本地数据库&#xff0…