探索数据可视化:Matplotlib 高级绘图功能(四)

news2025/1/17 3:07:41

3D图形

线形图&散点图

import numpy as np
import matplotlib.pyplot as plt

from mpl_toolkits.mplot3d.axes3d import Axes3D

x = np.linspace(0,60,300)
y = np.sin(x)
z = np.cos(x)

fig = plt.figure(figsize=(9,6))
a3 = Axes3D(fig) # 二维变成3D
a3.plot(x,y,z)

在这里插入图片描述

plt.figure(figsize=(9,6))
# projection='3d' 指定了这个子图的投影类型为3D
a3 = plt.subplot(111, projection = '3d')
a3.plot(x,y,z) # 普通线形图
a3.set_xlabel('X')
a3.set_ylabel('Y')
a3.set_zlabel('Z')

# 散点图
x = np.random.randint(0,60,size = 20)
y = np.random.randn(20)
z = np.random.randn(20)
a3.scatter(x,y,z,color= 'red')

# 调整视图的角度
# elev=20示观察者向上仰角 20 度看图
# azim=-30 观察者沿着 z 轴逆时针旋转 30 度来观察图形
a3.view_init(elev = 20,azim=-30)

在这里插入图片描述

3D条形图

month = np.arange(1,5)
# 每个月 4周 每周都会产生数据
# 三个维度:月、周、销量
fig = plt.figure(figsize=(9,6))
ax3 = Axes3D(fig)

for m in month:
    # 每个月都要绘制条形图
    ax3.bar(np.arange(1,5), # 理解成横坐标
            np.random.randint(1,10,size = 4), # 纵坐标
            zs = m ,
            zdir = 'x',# 在哪个方向上,一排排排列
            alpha = 0.7,# alpha 透明度
            width = 0.5)

ax3.set_xlabel('Month',fontsize = 18,color = 'red')
ax3.set_xticks(month)
ax3.set_ylabel('Week',fontsize = 18,color = 'red')
ax3.set_yticks([1,2,3,4])
ax3.set_zlabel('Sales',fontsize = 18,color = 'green')

在这里插入图片描述

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

# 创建一个网格,其中 x 方向和 y 方向都是 [0, 1, 2, 3, 4]
x, y = np.meshgrid(np.arange(5), np.arange(5))
x = x.flatten()
y = y.flatten()
z = np.zeros_like(x)
dx = dy = 0.3
dz = np.random.randint(1, 10, len(z))

# 绘制3D条形图
ax.bar3d(x, y, z, dx, dy, dz, shade=True)

# 设置坐标轴标签
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')

plt.show()

在这里插入图片描述

seaborn 快速入门

import seaborn as sns

# style='ticks' 坐标轴显示刻度线
# context='paper': 指定绘图的上下文环境, 从而调整图形的大小和比例
sns.set(style = 'ticks',context = 'paper',font = 'STKaiti') # 设置样式

plt.figure(figsize=(9,6))

x = np.linspace(0,2*np.pi,20)
y = np.sin(x)

# lineplot方法,画一条线
sns.lineplot(x = x, y = y, color = 'green', ls = '--')
sns.lineplot(x = x, y = np.cos(x), color = 'red', ls = '-.')

在这里插入图片描述

线形图

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
sns.set(style = 'dark',context = 'notebook',font = 'SimHei') # 设置样式
plt.figure(figsize=(9,6))

# 加载数据
fmri = pd.read_csv('./fmri.csv') # fmri这一核磁共振数据

fmri['event'].unique() # array(['stim', 'cue'], dtype=object)
fmri.head()
subjecttimepointeventregionsignal
0s1318stimparietal-0.017552
1s514stimparietal-0.080883
2s1218stimparietal-0.081033
3s1118stimparietal-0.046134
4s1018stimparietal-0.037970
ax = sns.lineplot(x = 'timepoint',y = 'signal',
                  hue = 'event',# 根据event属性分类,绘制
                  style = 'event' ,# 根据event属性分类,指定样式
                  data= fmri,
                  palette='ocean', # 画板,颜色
                  markers=True,
                  markersize = 10)

plt.xlabel('时间节点',fontsize = 30)

在这里插入图片描述

热力图

flights = pd.read_csv('./flights.csv') # 飞行数据
flights
yearmonthpassengers
01949January112
11949February118
21949March132
31949April129
41949May121
............
1391960August606
1401960September508
1411960October461
1421960November390
1431960December432

144 rows × 3 columns

# !!! pivot数据重塑,改变DataFrame形状
flights = flights.pivot("month", "year", "passengers") # 年,月份,飞机乘客数量
flights
year194919501951195219531954195519561957195819591960
month
April129135163181235227269313348348396461
August148170199242272293347405467505559606
December118140166194201229278306336337405432
February118126150180196188233277301318342391
January112115145171196204242284315340360417
July148170199230264302364413465491548622
June135149178218243264315374422435472535
March132141178193236235267317356362406419
May121125172183229234270318355363420472
November104114146172180203237271305310362390
October119133162191211229274306347359407461
September136158184209237259312355404404463508
plt.figure(figsize=(12,9))
sns.heatmap(flights, annot=True,fmt = 'd',cmap = 'RdBu_r',linewidths=5)

在这里插入图片描述

条形图

tips = pd.read_csv('./tips.csv') # 小费
tips.head(10)
total_billtipsexsmokerdaytimesize
016.991.01FemaleNoSunDinner2
110.341.66MaleNoSunDinner3
221.013.50MaleNoSunDinner3
323.683.31MaleNoSunDinner2
424.593.61FemaleNoSunDinner4
525.294.71MaleNoSunDinner4
68.772.00MaleNoSunDinner2
726.883.12MaleNoSunDinner4
815.041.96MaleNoSunDinner2
914.783.23MaleNoSunDinner2
plt.figure(figsize = (9,6))
sns.set(style = 'whitegrid')

#  palette='viridis' 使用序列调色板
# orient='h 设置水平方向
ax = sns.barplot(x = "total_bill", y = "day", 
                 data = tips,
                 palette='viridis', orient='h')

在这里插入图片描述

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

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

相关文章

SecureCRT出现乱码的解决方法

SecureCRT是一个商业终端连接工具,它支持多种自定义设置。默认设置下,通过SecureCRT连接SSH服务器可能出现中文乱码的情况。这是由于SecureCRT字符编码与服务器的字符编码不一致造成的。 当然解决这个问题也很简单,将SecureCRT字符编码设置成…

原型模式(Clone)——创建型模式

原型模式(clone)——创建型模式 什么是原型模式? 原型模式是一种创建型设计模式, 使你能够复制已有对象, 而又无需依赖它们所属的类。 总结:需要在继承体系下,实现一个clone接口,在这个方法中以本身作为拷…

Cesium--基于材质旋转图片

材质部分的代码如下 // 自定义材质const customMaterial new Cesium.Material({translucent: true,fabric: {uniforms: {image:circle_img,speed:30.0,},source: czm_material czm_getMaterial(czm_materialInput materialInput){czm_material material czm_getDefaultMateri…

spring中事务失效的场景有哪些?

异常捕获处理 在方法中已经将异常捕获处理掉并没有抛出。 事务只有捕捉到了抛出的异常才可以进行处理,如果有异常业务中直接捕获处理掉没有抛出,事务是无法感知到的。 解决:在catch块throw抛出异常。 抛出检查异常 spring默认只会回滚非检…

Unity Timeline学习笔记(1) - 创建TL和添加动画片段

Timeline在刚出的时候学习了一下,但是因为一些原因一直都没用在工作中使用。 版本也迭代了很久不用都不会用了,抽时间回顾和复习一下,做一个笔记后面可以翻出来看。 创建Timeline 首先我们创建一个场景,放入一个Plane地板&#…

SSA-LSTM多输入分类预测 | 樽海鞘优化算法-长短期神经网络 | Matlab

目录 一、程序及算法内容介绍: 基本内容: 亮点与优势: 二、实际运行效果: 三、算法介绍: 四、完整程序下载: 一、程序及算法内容介绍: 基本内容: 本代码基于Matlab平台编译&am…

mysql不能远程连接的解决办法

问题: 安装完mysql之后,在本机可以正常使用,但是通过其它电脑不能远程连接. 解决方案: 在安装mysql的电脑上,登录mysql, 执行权限 GRANT ALL PRIVILEGES ON *.* TO root"%" IDENTIFIED BY "password"; 刷新权限 flush privileges;

照片生成数字人解决方案

美摄科技,凭借其前沿的照片生成数字人解决方案,正成为这一变革的引领者,助力企业打造全新、生动的数字人形象,进一步提升品牌影响力和市场竞争力。 美摄科技的照片生成数字人解决方案,以其高度的真实感和灵活性&#…

微服务链路追踪-SkyWalking

一、为什么需要链路追踪? 由于微服务化项目拆分,会导致系统服务间调用链路愈发复杂,此时,一个前端请求可能最终需要调用多个后端服务才能完成实现。 微服务间调用链路可能是这样: 当整个请求不可用出现问题时&#x…

【Unity】Transform、Rigidbody、CharacterController移动

前言 在使用Unity开发的时候,移动是最最基础的一个需求,我来给大家简单的讲一下Unity中的几种常见的移动方法。 1.Transform移动 Transform移动就是修改物体的position ①修改位置 这里要注意:坐标分为世界坐标和本地坐标 //将物体的世界坐…

完整的通过git命令框和windows窗口将本地文件上传到gitee远程仓库流程步骤

1.下载git 这个网站搜索git官方,去下载就行了 2.打开git安装后的Git Bash命令框 3.在Git Bash命令框设置一下要远程链接的gitee账号 git config --global user.name “名字”Git config --global user.email “邮箱” 4.查看一下账号设置 git config --global -…

【Datawhale组队学习:Sora原理与技术实战】使用KAN-TTS合成女生沪语音频

Sambert-Hifigan模型介绍 拼接法和参数法是两种Text-To-Speech(TTS)技术路线。近年来参数TTS系统获得了广泛的应用,故此处仅涉及参数法。 参数TTS系统可分为两大模块:前端和后端。 前端包含文本正则、分词、多音字预测、文本转音素和韵律预测等模块&am…

Maven深入了解

Maven深入了解 前言一、Maven的核心概念1.1 Maven-Jar包模块化管理1.2 POM1.3 坐标及其命名规范1.4 仓库的概念1.5 生命周期1.6 插件和目标 二、依赖管理2.1 自己写的模块和模块之间也可以互相依赖2.2 依赖的生效范围(scope标签)2.3 依赖的传递性2.4 依赖冲突问题2.5 依赖的排除…

【刷题节】美团2024年春招第一场笔试【技术】

1.小美的平衡矩阵 import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner new Scanner(System.in);int n scanner.nextInt();int[][] nums new int[n][n], sum new int[n][n];char[] chars;for (int i 0; i < n; i) {…

Prompt Engineering(提示工程)

Prompt 工程简介 在近年来&#xff0c;大模型&#xff08;Large Model&#xff09;如GPT、BERT等在自然语言处理领域取得了巨大的成功。这些模型通过海量数据的训练&#xff0c;具备了强大的语言理解和生成能力。然而&#xff0c;要想充分发挥这些大模型的潜力&#xff0c;仅仅…

【Python】新手入门学习:详细介绍单一职责原则(SRP)及其作用、代码示例

【Python】新手入门学习&#xff1a;详细介绍单一职责原则&#xff08;SRP&#xff09;及其作用、代码示例 &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyT…

【深度学习】YOLOv9继续训练——断点训练方法

YOLOv9继续训练主要分为两个情况&#xff1a; 其一、训练过程中意外中断&#xff0c;未完成训练预期的epoch数量&#xff1b; 其二、训练完了&#xff0c;但是未收敛&#xff0c;在这个基础上&#xff0c;还想用这个权重、学习率等参数继续训练多一些轮次 一、训练过程中意外…

梦百合将在深圳展发布定制新品牌“榀至”

3月17日,下午2点,蓄势已久的梦百合定制品牌发布会将在深圳时尚家居设计周暨深圳国际家具设计展隆重召开!这将是梦百合旗下定制品牌——“榀至”的首度亮相! 发布会主题为“0压升级定制生活”,诠释着梦百合0压生活方式的拓展和延伸。 作为0压概念的提出者、0压绵专利的拥有者,十…

CMOS低噪声运算放大器D721-D722-D724对比分析

一 应用领域 D721、D722、D724是芯谷科技推出的三款低噪声、轨至轨运算放大器芯片&#xff0c;其中D721为单运放&#xff0c;D722为双运放&#xff0c;D724为四运放。适合用于音频领域、传感器等的信号放大处理&#xff0c;比如K歌宝、音响、测距、滤波器、AD转换器前级信号处…

OWASP TOP 10漏洞原理和应对策略

1. 注入 当将不受信任的数据作为命令或查询的一部分发送到解释器时&#xff0c;会发生注入缺陷&#xff0c;例如SQL&#xff0c;NoSQL&#xff0c;OS和LDAP注入。攻击者的敌对数据可能会诱使解释器执行未经预期的命令或未经适当授权而访问数据。 2. 失效的身份验证 与身份验…