matplotlib绘图

2023-11-14

孤影常伴灯,你在夜里写字,我在昏黄中布景。风吹皱那烟波浩渺的迷离,也想吹散关于你的记忆。你在红尘打坐,我在紫陌修佛。万般皆因果,何须嗔叹?

闲来无事,索然无趣,忽而兴起,画几个简单的数据分析图。。。

一、将数据生成柱状图

​代码:

#-*-coding:utf-8-*- 
"""
    柱状图
"""
import numpy as np
import matplotlib.pyplot as mp
​
apples = np.array([93,45,76,39,66,52,39,46,52,34])
oranges = np.array([98,14,45,93,84,52,34,85,63,85])
​
#横坐标
x = np.arange(apples.size)
#设置框图名 和 背景色
mp.figure('Bar_zhengsixu',facecolor='lightgray')
#设置 柱状图标题
mp.title('Bar Chart')
#设置 横坐标名称
mp.xlabel('Month')
#设置 纵坐标名 和 字体大小
mp.ylabel('Volumn',fontsize=14)
#生成柱状图
mp.bar(x-0.2,apples,0.4,color='dodgerblue',label='Apple',align='center')
mp.bar(x+0.2,oranges,0.4,color='orangered',label='Orange',align='center')
​
#修改水平刻度文本
mp.xticks(x,['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'])
mp.legend()
mp.show()

​呈现效果:
在这里插入图片描述
二、将数据生成饼状图

#-*-coding:utf-8-*- 
"""
    饼状图
"""
import numpy as np
import matplotlib.pyplot as mp
​
labels = ['Python','Javascript','C++','Java','PHP']
values = [26,17,21,29,11]
spaces = [0.05,0.01,0.01,0.01,0.01]
colors= ['dodgerblue','orangered','limegreen','violet','gold']
​
mp.figure('Pie Chart',facecolor='lightgray')
mp.title('Languages PR')
mp.axis('equal')  #等轴比例显示正圆
mp.pie(values,spaces,labels,colors,'%.1f%%',shadow=True,startangle=45,radius=1)
mp.legend(loc='upperleft')
mp.show()
​

呈现效果:
在这里插入图片描述
三、填充两条波动曲线的别区域
代码:

#-*-coding:utf-8-*- 
"""
    填充
"""
import numpy as np
import matplotlib.pyplot as mp
​
x = np.linspace(0,8*np.pi,1000)
sinx = np.sin(x)
cosx = np.cos(x/2) / 2
mp.figure('Fill',facecolor='lightgray')
mp.title('Fill')
mp.plot(x,sinx,color='dodgerblue',label='sinx',linewidth=2)
mp.plot(x,cosx,color='orangered',label='cosx',linewidth=2)
#绘制填充
mp.fill_between(x,sinx,cosx,sinx>cosx,color='dodgerblue',alpha=0.5)
mp.fill_between(x,sinx,cosx,sinx<cosx,color='orangered',alpha=0.5)
mp.legend()
mp.show()

呈现效果:
在这里插入图片描述
四、生成等高线图
代码:

#-*-coding:utf-8-*- 
"""
    等高线
"""
import numpy as np
import matplotlib.pyplot as mp
​
n = 1000
#网格化处理  将x,y 变为二维矢量
x,y = np.meshgrid(np.linspace(-3,3,n),np.linspace(-3,3,n))
​
print(x.shape,y.shape)
# 根据一个奇妙的公式算出每个坐标点的高度值z
z = (1 - x/2 + x**5 + y**3) * \
    np.exp(-x**2 - y**2)
​
#绘制等高线
mp.figure('Contour',facecolor='lightgray')
mp.title('Contour')
mp.grid(linestyle=':')
cntr = mp.contour(x,y,z,8,colors='lightgray',linewidths=1)
mp.clabel(cntr,inline_spacing=1,fmt='%.1f',fontsize=15)
#等高线的填充
mp.contourf(x,y,z,8,cmap='jet')
mp.show()

呈现效果:
在这里插入图片描述
五、热成像图显示矩阵
代码:

#-*-coding:utf-8-*- 
"""
    热成像图显示矩阵
"""

import numpy as np
import matplotlib.pyplot as mp

n = 1000
#网格化处理  将x,y 变为二维矢量
x,y = np.meshgrid(np.linspace(-3,3,n),np.linspace(-3,3,n))

print(x.shape,y.shape)
# 根据一个奇妙的公式算出每个坐标点的高度值z
z = (1 - x/2 + x**5 + y**3) * \
    np.exp(-x**2 - y**2)

#绘制
mp.figure('Imshow',facecolor='lightgray')
mp.title('Imshow')
mp.grid(linestyle=':')
#等高线的填充
mp.imshow(z,cmap='jet',origin='lower')
mp.show()


呈现效果:
在这里插入图片描述
六、三维散点图
代码:

#-*-coding:utf-8-*-
"""
    三维散点图
"""
import numpy as np
import matplotlib.pyplot as mp
from mpl_toolkits.mplot3d import axes3d
​
n = 500
#标准正态分布  期望为0 标准差为 1
x = np.random.normal(0,1,n)
y = np.random.normal(0,1,n)
z = np.random.normal(0,1,n)
​
mp.figure('3D scatter')
ax3d = mp.gca(projection='3d')
#离中心点位置大小
d = x**2 + y**2 + z**2
ax3d.scatter(x,y,z,s=70,c=d,alpha=0.7)
ax3d.set_xlabel('x')
ax3d.set_ylabel('y')
ax3d.set_zlabel('z')
mp.tight_layout()
mp.show()

呈现效果:
在这里插入图片描述
七、三维曲面图
代码:

#-*-coding:utf-8-*-
"""
    三维曲面图
"""
​
import numpy as np
import matplotlib.pyplot as mp
from mpl_toolkits.mplot3d import axes3d
​
n = 1000
#网格化处理  将x,y 变为二维矢量
x,y = np.meshgrid(np.linspace(-3,3,n),np.linspace(-3,3,n))
​
​
# 根据一个奇妙的公式算出每个坐标点的高度值z
z = (1 - x/2 + x**5 + y**3) * \
    np.exp(-x**2 - y**2)
​
#绘制
mp.figure('3D Surface',facecolor='lightgray')
mp.title('3D Surface')
​
ax3d = mp.gca(projection='3d')
ax3d.plot_surface(x,y,z,rstride=20,cstride=20,cmap='jet')
mp.show()

呈现效果:
在这里插入图片描述
八、三维线框图
代码:

#-*-coding:utf-8-*- 
#-*-coding:utf-8-*-
"""
    三维线框图
"""
​
import numpy as np
import matplotlib.pyplot as mp
from mpl_toolkits.mplot3d import axes3d
​
n = 1000
#网格化处理  将x,y 变为二维矢量
x,y = np.meshgrid(np.linspace(-3,3,n),np.linspace(-3,3,n))
​
# 根据一个奇妙的公式算出每个坐标点的高度值z
z = (1 - x/2 + x**5 + y**3) * \
    np.exp(-x**2 - y**2)
​
#绘制
mp.figure('3D Surface',facecolor='lightgray')
mp.title('3D Surface')
​
ax3d = mp.gca(projection='3d')
ax3d.plot_wireframe(x,y,z,rstride=20,cstride=20,cmap='jet',linewidth=1, color='dodgerblue')
mp.show()

呈现效果:
在这里插入图片描述
九、画阿基米德螺旋线+玫瑰线(极坐标系)
代码:

#-*-coding:utf-8-*- 
"""
    极坐标系 画阿基米德螺旋线+玫瑰线
"""
import numpy as np
import matplotlib.pyplot as mp

mp.figure('Polar',facecolor='lightgray')
mp.gca(projection='polar')
mp.title("Polar")
mp.xlabel(r'$\theta$',fontsize=14)
mp.ylabel(r'$\rho$',fontsize=14)
mp.grid(linestyle=':')

#绘制阿基米德螺旋线
t = np.linspace(0,4*np.pi,1000)
r = 0.8 * t
mp.plot(t,r)

#绘制玫瑰线
x = np.linspace(0, 6*np.pi, 1000)
y = 3*np.sin(6*x)
mp.plot(x, y)
mp.show()

呈现效果:
在这里插入图片描述
陌生的城市,暖风拂面,柳絮飘飞;夜色轻柔,心情激荡;窗外的风,空中的星,闪闪摇曳,触痛我跳动的心。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

matplotlib绘图 的相关文章

  • 解决Windows update medic service服务禁用不了拒绝访问

    解决Windows update medic service服务禁用不了拒绝访问 解决方法 方法一 CMD命令 1 首先使用 Win R 组合快捷键 打开运行对话框 然后输入命令 cmd 点击下方的 确定 打开服务 如下图所示 复制这条命令
  • 【Java面试】Mysql为什么使用B+Tree作为索引结构

    一个工作8年的粉丝私信了我一个问题 他说这个问题是去阿里面试的时候被问到的 自己查了很多资料也没搞明白 希望我帮他解答 问题是 Mysql为什么使用B Tree作为索引结构 关于这个问题 看看普通人和高手的回答 普通人 B 数它的特征就是相
  • 用VS Code创建ASP.NET Core Web API项目:TodoWebApi。(默认空项目,不与数据库交互)

    目录 一 使用VS Code终端创建一个 Net Core Web API项目 二 使用VS Code添加相关的NuGet程序集 2 1 方式一 使用 VS Code 终端的 dotnet 命令添加相关的NuGet程序集 2 2 方式二 使
  • TRC20和ERC20的区别(trc20怎么换成erc20)

    TRC20和ERC20的区别 trc20怎么换成erc20 TRC20和ERC20是两种不同的区块链协议 分别基于波场 TRON 和以太坊 Ethereum 网络 它们都可以用来发行代币 比如USDT 但是在转账费用 交易速度 智能合约等方
  • Flutter安装部署运行,bug笔记

    1 根据官方文档下载flutterSDK 附带dart AndroidStudio下载flutter插件 附带dart 2 然后在flutter路径的cmd命令框 或在AS新项目目录里的文件pubspec yaml界面 或在AS命令框执行f
  • 设计模式--FlyWeight--结构型

    程序员是沟通人和机器交流 意图 Intent 运用共享技术有效地支持大量细粒度的对象 设计模式 GoF 结构 structure 面向对象的代价面向对象很好地解决了系统抽象性的问题 同时在大多数情况下 也不会损及系统的性能 但是 在某些特殊
  • 微信小程序animation

    wxml
  • LINUX 查询已安装的软件信息

    问题 1 列出当前主机已安装的所有RPM软件 2 查看firefox软件包的安装清单 3 查询ifconfig命令程序是安装哪个软件包后产生的 4 查看firefox软件包的用途 方案 查询所有已安装的rpm包 可以利用命令rpm qa 查
  • CentOS 修改IP地址, DNS, 网关

    一 CentOS 修改IP地址 修改对应网卡的IP地址的配置文件 vi etc sysconfig network scripts ifcfg eth0 修改以下内容 DEVICE eth0 描述网卡对应的设备别名 例如ifcfg eth0
  • 【满分】【华为OD机试真题2023 JAVA&JS】整理扑克牌

    华为OD机试真题 2023年度机试题库全覆盖 刷题指南点这里 整理扑克牌 知识点贪心排序 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 给定一组数字 表示扑克牌的牌面数字 忽略扑克牌的花色 请按如下规则对这一组扑克牌进行整
  • 【Linux】远程连接服务

    1 什么是远程连接服务器 远程连接服务器通过文字或图形接口方式来远程登录系统 让你在远程终端前登录linux主机以取得可操作主机接口 shell 而 登录后的操作感觉就像是坐在系统前面一样 2 远程连接服务器的功能 分享主机的运算能力 服务
  • 服务器传感器不显示,服务器传感器不显示

    服务器传感器不显示 内容精选 换一换 不建议将挂载至Linux系统云服务器的云硬盘卸载后 重新挂载至Windows系统云服务器 也不建议将Windows系统云服务器上的云硬盘重新挂载至Linux系统云服务器 在这种情况下 由于文件系统不一致
  • C++ Primer阅读笔记--函数重载和内联函数

    1 函数重载 main 函数不能重载 重载函数在形参数量或形参类型上有所不同 不允许两个函数除了返回类型外其他所有的要素都相同 即函数重载不允许只有返回类型不同 如果形参是某种类型的指针或引用 则通过区分其指向的是常量对象还是非常量对象可以
  • php 日期1900年开始,php日期操作函数

    header content type text html charset utf 8 总结php操作时间的函数 1 cal days in month calendar month year 函数针对指定的年份和日历 返回一个月中的天数
  • Https如何保证了数据的安全?

    Https与Http在数据传输过程的差别 Https与Http都是OSI模型中传输层协议 而唯一不同的就是Https中在Http的应用层和TCP IP增加了一个SSL TLS层 其实也是属于应用层 主要用来对数据进行加解密 保证数据的传输的
  • 服务器系统环境初始化,Centos7系统

    服务器初始化环境 更新yum源 并添加必要系统工具 修改时区 设置系统时间 ntpdate时间同步服务 修改字符集zh CN UTF 8 关闭selinux 内核优化sysctl conf 调整文件描述符ulimit 即单个进程的最大文件打
  • 模拟电路设计的九个级别,你是模电几段?

    众 生 所 搬 周 硬 知 套 模拟电路设计的九个级别 类似下围棋的段位 快来看看自己处于什么水平 感觉九段已经是世外高人了 一段 你刚开始进入这行 对PMOS NMOS BJT什么的只不过有个大概的了解 各种器件的特性你也不太清楚 具体设
  • VSCode——修改VSCode背景图片

    1 以管理员身份运行VS Code 安装background插件 2 打开设置 在搜索框中输入background 选择扩展中的plugin background 选择在setting json中编辑 3 在用户设置中输入以下代码 修改完后
  • [QT入门篇]信号槽机制

    一 信号与槽的引入 信号与槽 Signal Slot 是 Qt 编程的基础 信号槽 实际是观察者模式 发布 订阅模式 当某个事件发生之后 比如 按钮检测到自己被点击了一下 它就会发出一个信号 signal 这种发出是没有目的的 类似广播 如
  • 【NLP】第 1 章 :机器阅读理解简介

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore

随机推荐

  • Python可视化-气泡图

    气泡图类似散点图 也是表示XY轴坐标之间的变化关系 也可以像彩色散点图给点上色 区别在于可以通过图中散点的大小来直观感受其所表示的数值大小 一 数据文件准备 1 PeopleNumber csv city people price NJ 8
  • Android VNDK的作用

    本文目的是让你理解VNDK是什么作用 暂不做细节讲解 在Android 8 0及更高版本中 引入了很多技术都是为了将system和vendor分离 这样设备厂商和芯片供应商只需关心vendor实现 那么vendor实现时要加载framewo
  • 【总结】前端常用编码写法合集

    一 css样式 1 文字多行溢出 单行溢出 overflow hidden white space nowrap text overflow ellipsis 多行溢出 display webkit box webkit box orien
  • Vue教程(一):Vue核心

    Vue教程 一 Vue核心 1 1 Vue简介 1 1 1 Vue是什么 一套用于构建用户界面的渐进式JS框架 1 1 2 谁开发的 尤雨溪 2015 10 27 正式发布 Vue1 0 0 Evangelion 新世纪福音战士 2016
  • C语言 结构体初阶

    头文件 define CRT SECURE NO WARNINGS 1 include
  • 毕设系列三之利用tensorflow做深度学习情感分析

    利用tensorflow做深度学习情感分析 深度学习作为一项学习数据的多层特征或表征的强大机器学习技术 此项目中 将使用tensorflow深度学习平台 通过相关模型的构建 以及数据的处理 完成微博评论情感分析 已到达类似百度AI情感分析功
  • 多态(polymorphic)

    目录 1 多态的基本介绍 2 多态实现条件 3 重写 重写的介绍 重写和重载的区别 动 静态绑定机制 5 向上转型和向下转型 向上转型 向上转型的特点 总结 向下转型 多态的优缺点 多态是Java三大基本特征中最抽象也是最重要的特征 多态是
  • Html获取Url参数 解决中文乱码

    Html 获取 Url 参数 解决中文乱码 方法一 分割为数组 function getQueryVariable name var query window location search substring 1 var vars que
  • hibernate 反向生成数据库表

    hibernate 配置属性中 hibernate hbm2ddl auto可以帮助你实现正向工程 即由 java 代码生成数据库脚本 进而生成具体的表结构 在hibernate cfg xml中 java 代码 html view pla
  • idea

    1 本人最近刚开始切换到 Intellij idea 发现一个问题 maven工程项目老是有红色下划线提示错误 Cannot Resolve Symbol 但是这些依赖都已经通过pom引进了 idea的Library中也能看到 试一下Fil
  • mysql 建表语句 及完整案例

    1 最简单的 表名为name info 只包含id列和name列 执行sql语句 CREATE TABLE name info id int not null name char 12 2 将id列设置为主键 执行sql语句 CREATE
  • 数据结构Java实现06----中缀表达式转换为后缀表达式

    本文转载至 http www cnblogs com smyhvae p 4790373 html 本文主要内容 表达式的三种形式 中缀表达式与后缀表达式转换算法 一 表达式的三种形式 中缀表达式 运算符放在两个运算对象中间 如 2 1 3
  • 【华为OD机试真题 JS】火锅

    标题 火锅 时间限制 1秒 内存限制 262144K 语言限制 不限 入职后 导师会请你吃饭 你选择了火锅 火锅里会在不同时间下很多菜 不同食材要煮不同的时间 才能变得刚好合适 你希望吃到最多的刚好合适的菜 但是你的手速不够快 用m代表手速
  • [培训-无线通信基础-2]:无线电磁波传播机制(传播、衰减、链路预算)

    作者主页 文火冰糖的硅基工坊 https blog csdn net HiWangWenBing 本文网址 https blog csdn net HiWangWenBing article details 118667807 引言 既然无
  • vue crypto-js加解密

    1 安装crypto js npm install crypto js save 2 编写encrypt js const CryptoJS require crypto js import md5 from js md5 var key
  • 关于程序员【锁死】服务器

    干程序员这么多年 头一次听说 锁死 服务器这么个名词 乍一听到被媒体造的这个名词 觉着很突兀 自己念两遍就会感到头疼 恶心 想吐这么膈应 服务器到底是怎么 锁死 的 什么玩意 你看看人家 数据库系统概论 里面人家关于 锁 的一个翻译 死锁
  • ARM单片机通用IAP在线升级YMODEM协议

    ARM单片机通用IAP在线升级YMODEM协议 效果 YMODEM协议格式 移植修改接口 测试代码 代码获取 效果 YMODEM协议格式 接收开始流程 接收者1HZ发送接收状态 C C 代表字符 C 进入接收状态 发送者发送起始帧 SOH
  • 目标检测学习笔记+附入门资料+表面缺陷检测

    待更新补充 文章目录 放在最前 MARK入门阅读学习资料 一 目标检测基本概念 1 名词含义 目标检测 目标检测方法的分类 Bounding box 滑动窗口 R CNN步骤详解 交并比Interest over Union IoU 平均精
  • 对全连接层(fully connected layer)的通俗理解

    原文地址 https blog csdn net qq 39521554 article details 81385159 定义 全连接层 fully connected layers FC 在整个卷积神经网络中起到 分类器 的作用 如果说
  • matplotlib绘图

    孤影常伴灯 你在夜里写字 我在昏黄中布景 风吹皱那烟波浩渺的迷离 也想吹散关于你的记忆 你在红尘打坐 我在紫陌修佛 万般皆因果 何须嗔叹 闲来无事 索然无趣 忽而兴起 画几个简单的数据分析图 一 将数据生成柱状图 代码 coding utf