Matplotlib常见图汇总

Matplotlib是python的一个画图库,便于数据可视化。

安装命令

pip install matplotlib

常用命令:

 绘制直线,连接两个点

import matplotlib.pyplot as plt
plt.plot([0,5],[2,4])
plt.show()

运行结果如下:

多条线:

import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(0,10,100)
plt.plot(x,x+0,'--g',label='--g')
plt.plot(x,x+1,'-.r',label='-.r')
plt.plot(x,x+2,':b',label=':b')
plt.plot(x,x+4,'.k',label='.k')
plt.plot(x,x+5,'*m',label='*m')
plt.legend(loc='upper left',fancybox=True,framealpha=1,shadow=True,borderpad=1)#图例位置,默认左上角,lower right右下角
plt.show()

绘制折线:

import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5, 6]
y = []
for i in range(0, len(x)):y.append(x[i] ** 2)
print()
plt.plot(x,y)
plt.show()

运行结果如下:

 设置样式

import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5, 6]
y = []
for i in range(0, len(x)):y.append(x[i] ** 2)
print()
plt.plot(x,y,linewidth=5)
plt.rcParams['font.sans-serif']=['SimHei']
plt.xlabel('X')
plt.ylabel('X的平方')
plt.title('折线图绘制')
plt.show()

绘制曲线:

import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(0,10,100)
sin_y=np.sin(x)
cos_y=np.cos(x)
plt.plot(x,sin_y)
plt.plot(x,cos_y)
plt.show()

分区

plt.subplot(1,2,1)
plt.plot(x,sin_y)
plt.subplot(1,2,2)
plt.plot(x,cos_y)
plt.show()

绘制散点图

import numpy as np
import matplotlib.pyplot as plt
np.random.seed(0)
x=np.random.rand(100)
y=np.random.rand(100)
#10size
size=np.random.rand(100)*1000
#100color
color=np.random.rand(100)
plt.scatter(x,y,s=size,c=color,alpha=0.7)#alpha透明度
plt.show()

运行结果如下:

 条形图

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
x=[1995,2000,2005,2010,2015,2020]
x_label=['1995年','2000年','2005年','2010年','2015年','2020年']
y=[100,200,300,400,300,200]
plt.bar(x,y,width=3)
plt.xticks(x,x_label)
plt.xlabel('年份')
plt.ylabel('销量')
plt.show()

横向的条形图:

import numpy as np
import matplotlib.pyplot as plt
np.random.seed(0)
x=np.arange(6)
y=np.random.randint(-5,5,6)
v_bar=plt.barh(x,y,color='blue')
for bar,height in zip(v_bar,y):if height<0:bar.set(color='green')
plt.axvline(0)
plt.show()

柱状图组合

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
real_names=['熊大','熊二','熊三']
real_num1=[7548,4013,1673]
real_num2=[5453,3840,1980]
real_num3=[1348,2345,1890]
x=np.arange(len(real_names))
width=0.3
plt.bar(x,real_num1,alpha=0.5,width=width,label=real_names[0])
plt.bar([i+width for i in x],real_num2,alpha=0.5,width=width,label=real_names[1])
plt.bar([i+2*width for i in x],real_num3,alpha=0.5,width=width,label=real_names[2])
x_label=['第{}天'.format(i+1) for i in x]
plt.xticks([i+width for i in x],x_label)
plt.title('柱状图组合')
plt.ylabel('数量')
plt.legend()
plt.show()

绘制直方图:

import numpy as np
import matplotlib.pyplot as plt
x=np.random.normal(0,1,1000)
y=np.random.normal(-2,1,1000)
z=np.random.normal(3,2,1000)
kwargs=dict(bins=100,alpha=0.5)
plt.hist(x,**kwargs)
plt.hist(y,**kwargs)
plt.hist(z,**kwargs)
plt.show()

饼图:

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
values = [15, 30, 45, 10]
total = sum(values)
sizes = [v / total for v in values]
labels = ['类别1', '类别2', '类别3', '类别4']
fig, ax = plt.subplots()
ax.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=90)
ax.axis('equal')
plt.show()

等高线图:

import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(-10,10,100)
y=np.linspace(-10,10,100)
X,Y=np.meshgrid(x,y)
Z=np.sqrt(X**2+Y**2)
plt.contourf(X,Y,Z)
#plt.contour(X,Y,Z) #不填充的
plt.show()

 三维图形:

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
X=[1,1,2,2]
Y=[3,4,4,3]
Z=[1,100,1,1]
triangles = [[0, 1, 2]]
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')  
ax.plot_trisurf(X, Y, Z, triangles=triangles, cmap='viridis') 
plt.show()

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

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

相关文章

基于I2C协议的OLED显示(利用U82G库)

目录 一、I2C协议 1、了解I2C协议的基本原理和时序协议 基本原理 时序协议 2、掌握0.96寸OLED屏的工作原理&#xff0c;汉字点阵显示原理 OLED 工作原理 汉字点阵显示原理 3、掌握开源GUI库U82G在stm32上的移植编译方法&#xff0c;以及图形界面可视化技术。 二、具体…

进程概念(二)

目录 进程优先级基本概念查看系统进程PRI and NIPRI vs NI修改进程优先级的命令renice修改优先级进程其他概念 环境变量基本概念查看环境变量方法常见环境变量PATHHOMESHELL 查看环境变量环境变量相关的命令 环境变量特征命令行参数main函数中的俩个参数 argc argvmain函数的第…

通用信息提取数据预处理

train_data./datasets/duuie output_folder./datasets/duuie_pre ignore_datasets["DUEE", "DUEE_FIN_LITE"] schema_folder./datasets/seen_schema # 对CCKS2022 竞赛数据进行预处理 import shutil # shutil.copytree(train_data,output_folder) impor…

Ansible离线部署 之 Zabbix

Ansible介绍 Ansible 是一个自动化平台&#xff0c;用于 IT 自动化&#xff0c;如配置管理、应用部署、任务自动化等。Ansible 使用 SSH 来连接到远程机器&#xff0c;并执行预定义的任务。Ansible 的主要特点是其简单性、易用性和强大的功能集。 以下是 Ansible 的一些关键特…

贪吃蛇游戏的编程之旅:在Windows PyCharm中使用Python

在电脑游戏的发展史中&#xff0c;贪吃蛇游戏无疑是其中的经典之作。许多人对其简单而上瘾的游戏玩法念念不忘。对编程爱好者来说&#xff0c;重新编写一个贪吃蛇游戏不仅是对青春回忆的一种致敬&#xff0c;也是一个极佳的学习机会。本文将引导你在Windows系统的PyCharm环境下…

DHCP服务

文章目录 一、DHCP介绍二、DHCP应用场景三、DHCP工作原理3.1&#xff09;工作方式3.2&#xff09;工作原理解析3.3)计算机获得IP的时间点3.4&#xff09;租约更新阶段 四、DHCP服务器部署4.1&#xff09;DHCP安装4.2&#xff09;DHCP配置文件详解4.3&#xff09;DHCP启动 五、D…

LangChain开发【NL2SQL】应用

前言 关于LangGraph的简单介绍&#xff0c;请参考这篇博客&#xff1a; LangGraph开发Agent智能体应用【基础聊天机器人】-CSDN博客 对比LangChain实现NL2SQL 关于用LangChain开发NL2SQL的Agent应用&#xff0c;在这篇博客提供了完整的代码实现&#xff1a; LangChain开发…

图Transformer 推荐系统

文章目录 Graph Transformer for Recommendation摘要引言相关工作方法3.1 Graph Invariant Rationale Learning3.1.1 Graph Collaborative Rationale Discovery3.1.2 Global Topology Information Injection3.1.3 Rationale Discovery with Graph Transformer.3.1.4 Task-Adapt…

怎样快速获取Vmware VCP 证书,线上考试,voucher报名优惠

之前考一个VCP证书&#xff0c;要花大一万的费用&#xff0c;可贵了&#xff0c;考试费不贵&#xff0c;贵就贵在培训费&#xff0c;要拿到证书&#xff0c;必须交培训费&#xff0c;即使vmware你玩的很溜&#xff0c;不需要再培训了&#xff0c;但是一笔贵到肉疼的培训费你得拿…

Android MediaMetadataRetriever获取视频宽高,Java

Android MediaMetadataRetriever获取视频宽高&#xff0c;Java public static int[] getVideoSize(Context ctx, Uri uri) {MediaMetadataRetriever retriever new MediaMetadataRetriever();int[] size {-1, -1}; //宽&#xff0c;高try {retriever.setDataSource(ctx, uri)…

PowerDesigner 16.5安装教程

&#x1f4d6;PowerDesigner 16.5安装教程 ✅1. 下载✅2. 安装 ✅1. 下载 官网地址&#xff1a;https://www.powerdesigner.biz/EN/powerdesigner/powerdesigner-licensing-history.php 云盘下载&#xff1a;https://www.123pan.com/s/4brbVv-aUoWA.html ✅2. 安装 1.运行P…

开发uniapp 小程序时遇到的问题

1、【微信开发者工具报错】routeDone with a webviewId XXX that is not the current page 解决方案: 在app.json 中添加 “lazyCodeLoading”: “requiredComponents” uniapp的话加到manifest.json下的mp-weixin 外部链接文章&#xff1a;解决方案文章1 解决方案文章2 &qu…

C++ | Leetcode C++题解之第144题二叉树的前序遍历

题目&#xff1a; 题解&#xff1a; class Solution { public:vector<int> preorderTraversal(TreeNode *root) {vector<int> res;if (root nullptr) {return res;}TreeNode *p1 root, *p2 nullptr;while (p1 ! nullptr) {p2 p1->left;if (p2 ! nullptr) {…

STM32 | 独立看门狗 | RTC(实时时钟)

01、独立看门狗概述 在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状…

【学习心得】算法刷题心得分享

一、为什么要刷题&#xff1f; 提升编程能力&#xff0c;强化对数据结构的理解&#xff0c;熟练掌握常用的算法等为竞赛、考试做准备找实习、找工作需要&#xff08;上机考试面试手撕代码&#xff09;提升自信心&#xff0c;放松一下 二、刷题前应该有哪些知识储备&#xff1f;…

lua对接GPT4实现对话

演示效果&#xff1a; 准备材料&#xff1a; 1、FastWeb网站开发服务&#xff1a;fwlua.com 2、一台服务器 该示例使用开源项目&#xff1a;fastweb 实现。 代码比较简单&#xff0c;主要是两部分&#xff0c;一个lua代码和一个html页面&#xff0c;用来用户发起请求和后台…

5.1 实体完整性

一个表只能有一个主键约束&#xff0c;且主键约束不能取空值。 通过unique约束定义唯一性&#xff0c;为了保证一个表非主键列不输入重复值&#xff0c;可在该列定义unique约束。 primary key约束与unique约束主要区别如下。 (1)一个表只能创建一个primary key约束&#xff0…

计算机组成原理之指令格式

1、指令的定义 零地址指令&#xff1a; 1、不需要操作数&#xff0c;如空操作、停机、关中断等指令。 2、堆栈计算机&#xff0c;两个操作数隐藏在栈顶和此栈顶&#xff0c;取两个操作数&#xff0c;并运算的结果后重新压回栈顶。 一地址指令&#xff1a; 二、三地址指令 四…

Flutter 实现dispose探测控件

文章目录 前言一、什么是dispose探测控件&#xff1f;1、通常情况2、使用dispose探测控件 二、如何实现1、继承StatefulWidget2、定义dipose回调3、定义child4、重载Dispose方法5、build child 三、完整代码四、使用示例1、基本用法2、设置定义数据 总结 前言 开发flutter一般…

《TCP/IP网络编程》(第十四章)多播与广播

当需要向多个用户发送多媒体信息时&#xff0c;如果使用TCP套接字&#xff0c;则需要维护与用户数量相等的套接字&#xff1b;如果使用之前学习的UDP&#xff0c;传输次数也需要和用户数量相同。 所以为了解决这些问题&#xff0c;可以采用多播和广播技术&#xff0c;这样只需要…