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.mzph.cn/diannao/24455.shtml

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

相关文章

速盾:服务器cdn加速超时如何解决?

在当今互联网时代&#xff0c;网站内容加载速度成为用户体验的重要指标之一。然而&#xff0c;由于网络环境的复杂性和服务器的负载压力&#xff0c;服务器CDN加速超时问题经常会出现。在这篇文章中&#xff0c;我们将讨论服务器CDN加速超时的原因和解决方法。 首先&#xff0…

巨擘之舞:探索AI大模型的发展历程与特性比较

巨擘之舞&#xff1a;探索AI大模型的发展历程与特性比较 文章目录 巨擘之舞&#xff1a;探索AI大模型的发展历程与特性比较引言1. GPT系列&#xff08;Generative Pre-trained Transformer&#xff09;发展历程优点缺点 2. BERT&#xff08;Bidirectional Encoder Representati…

学习笔记——路由网络基础——汇总静态路由

4、汇总静态路由 (1)定义 静态路由汇总&#xff1a;多条静态路由都使用相同的送出接口或下一跳 IP 地址。(将多条路由汇总成一条路由表示) (2)目的 1.减少路由条目数量&#xff0c;减小路由表&#xff0c;加快查表速度 2.增加网络稳定性 (3)路由黑洞以及路由环路的产生…

京准科技 | PTP时钟服务器(卫星主时钟)在预审系统应用

京准科技 | PTP时钟服务器&#xff08;卫星主时钟&#xff09;在预审系统应用 京准科技 | PTP时钟服务器&#xff08;卫星主时钟&#xff09;在预审系统应用 某某省公安厅以科技强警建设的重要目标&#xff0c;决定建立全国第一个全省联网的信息化公安预审系统&#xff0c;本文…

LeetCode题练习与总结:三角形最小路径和--120

一、题目描述 给定一个三角形 triangle &#xff0c;找出自顶向下的最小路径和。 每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 1 的两个结点。也就是说&#xff0c;如果正位于当前行的下标 i &…

一次改SQLMAP的操作

前言 sqlmap这个工具&#xff0c;相信各位大佬们都不陌生&#xff0c;但sqlmap虽好&#xff0c;也时常会有些实际存在但无法注入的地方&#xff0c;这时候就需要我们改它的配置了&#xff0c;今天就以本人遇到的事件进行阐述。 正文 确认注入点 通过一系列测试最终确定这里…

循环语句大揭秘:while、do-while、for、foreach你都掌握了吗?

哈喽&#xff0c;各位小伙伴们&#xff0c;你们好呀&#xff0c;我是喵手。运营社区&#xff1a;C站/掘金/腾讯云&#xff1b;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点&#xff0c;并以文字的形式跟大家一起交流&#xff0c;互相学习&#xff0c;一…

招募来袭 | 与热爱技术的谷歌开发者一起创造精彩

写在前面 技术的进步在不断推动着世界发展。从 Android、Flutter 等产品的稳步更新迭代&#xff0c;到秉承着负责任的态度对 AI 进行探索&#xff0c;我们通过每一次的技术跃进&#xff0c;帮助大家打开新的视野&#xff0c;激发更多的灵感&#xff0c;将我们的工具和平台打造成…

css3 都有哪些新属性

1. css3 都有哪些新属性 1.1. 圆角边框 (border-radius)1.2. 盒子阴影 (box-shadow)1.3. 文本阴影 (text-shadow)1.4. 响应式设计相关属性1.5. 渐变背景 (gradient backgrounds)1.6. 透明度 (opacity 和 rgba/hsla)1.7. 多列布局 (column-count, column-gap, etc.)1.8. 变换 (t…

Android --- MVVM+DataBinding+Fragment+Retrofit+Adapter 简单示例

首先&#xff0c;我们将使用 Retrofit 进行网络请求&#xff0c;所以我们需要添加 Retrofit 的依赖。在你的 build.gradle 文件中添加以下依赖&#xff1a; implementation com.squareup.retrofit2:retrofit:2.9.0 implementation com.squareup.retrofit2:converter-gson:2.9.…

动态规划学习

1、背包DP 01 01 01背包&#xff1a;枚举物品然后枚举体积&#xff0c;体积从大到小枚举更新 f [ j ] m a x ( f [ j ] , f [ j − w ] v ) f[j]max(f[j],f[j-w]v) f[j]max(f[j],f[j−w]v).完全背包&#xff1a;枚举物品然后枚举体积&#xff0c;体积从小到大枚举更新 f [ j …

java(kotlin)和 python 通过DoubleCloud的kafka进行线程间通信

进入 DoubleCloud https://www.double.cloud 创建一个kafka 1 选择语言 2 运行curl 的url命令启动一个topic 3 生成对应语言的token 4 复制3中的配置文件到本地&#xff0c;命名为client.properties 5 复制客户端代码 对python和java客户端代码进行了重写&#xff0c;java改成…

websocket php workerman 服务器nginx配置wss协议

首先 Nginx的版本要高&#xff0c;尽量用当前最新稳定版本。 其次 WSS协议&#xff0c;是在HTTPS协议的基础上&#xff0c;进行协议升级&#xff0c;进行通讯的&#xff0c;所以先要保证你有一个 HTTPS正常的WEB站点。 所以&#xff0c;通过Nginx -V 请保证 一定有 --with-ht…

【TensorFlow深度学习】使用TensorFlow构建马尔可夫决策过程模型

使用TensorFlow构建马尔可夫决策过程模型 使用TensorFlow构建马尔可夫决策过程模型&#xff1a;决策分析的深度实践一、马尔可夫决策过程简介二、TensorFlow准备三、定义MDP模型参数四、构建状态值函数模型五、迭代更新值函数六、策略提取与决策结语 使用TensorFlow构建马尔可夫…

【ArcGIS微课1000例】0119:TIFF与grid格式互相转换

文章目录 一、任务描述二、tiff转grid三、grid转tif四、注意事项一、任务描述 地理栅格数据常用TIFF格式和GRID格式进行存储。TIFF格式的栅格数据常以单文件形式存储,不仅存储有R、G、B三波段的像素值,还保存有地理坐标信息。GRID格式的栅格数据常以多文件的形式进行存储,且…

国产操作系统上给麒麟虚拟机安装virtualbox增强工具 _ 统信 _ 麒麟 _ 中科方德

原文链接&#xff1a;国产操作系统上给麒麟虚拟机安装virtualbox增强工具 | 统信 | 麒麟 | 中科方德 Hello&#xff0c;大家好啊&#xff01;昨天给大家带来了一篇在国产操作系统上给VirtualBox中的Win7虚拟机安装增强工具的文章&#xff0c;今天我们将继续深入&#xff0c;介绍…

ORA-12541:TNS:没有监听器

"ORA-12541: TNS: 没有监听器" 是 Oracle 数据库连接时可能遇到的错误。这个错误通常表示客户端尝试连接到的数据库监听器未在目标主机上运行或未配置正确。解决这个问题的方法通常涉及以下步骤&#xff1a; 1.确保监听器在运行 确保数据库服务器上的 Oracle 监听器…

如何在 C# 中轻松从 HTML 中提取纯文本

一.介绍 处理 HTML 内容通常需要提取纯文本以进行处理、分析或显示&#xff0c;而不会产生 HTML 标记的杂乱。在本博客中&#xff0c;我们将探索一种简单而有效的方法&#xff0c;即使用 C# 中的正则表达式 (Regex) 来剥离 HTML 标记并将 HTML 实体解码为纯文本。此技术在读取…

ForceMode应用力的不同模式

1. ForceMode.Force 解释: 这种模式下&#xff0c;力被持续应用&#xff0c;类似于施加一个恒定的加速度。应用场景: 适用于需要不断施加力的情况&#xff0c;如推动物体。公式: F m * a&#xff08;质量*加速度&#xff09;效果: 施加的力会被乘以 Time.deltaTime&#xff0…

Plotly : 超好用的Python可视化工具

文章目录 安装&#xff1a;开始你的 Plotly 之旅基本折线图&#xff1a;简单却强大的起点带颜色的散点图&#xff1a;数据的多彩世界三维曲面图&#xff1a;探索数据的深度气泡图&#xff1a;让世界看到你的数据小提琴图&#xff1a;数据分布的优雅展现旭日图&#xff1a;分层数…