Matplotlib数据可视化学习1

默认当前页面为画布,所以也可以不指定

python 复制代码
import matplotlib.pyplot as plt
import numpy as np
# 绘制曲线y=x^2 和y=x^4在同一张图中
x=np.arange(0,1.1,0.01)
y1 = x**2
y2 = x**4
plt.title("quxian")
plt.xlabel("x")
plt.ylabel("y")

plt.xlim((0,1))
plt.ylim((0,1))

plt.xticks([0,0.2,0.4,0.6,0.8,1])
plt.yticks([0,0.2,0.4,0.6,0.8,1])
plt.plot(x,y1)
plt.plot(x,y2)

plt.legend(['y=x^2','y=x^4'])  # 注意顺序一致
plt.savefig("./test.png")  # 先保存再展示,否则保存失败
plt.show()
python 复制代码
import matplotlib.pyplot as plt
import numpy as np
import math
# 绘制曲线 sin(x)  和 cos(x)

pt = plt.figure(figsize=(10,4),dpi=80)  # 确定画布大小10为宽,4高,dpi是像素
# 第一幅图
ax1 = pt.add_subplot(1,2,1)  # 创建一个一行两列的子图,并开始绘制第一幅
x=np.arange(0,1.1,0.01)
y1 = x**2
y2 = x**4
plt.title("line")
plt.xlabel("x")
plt.ylabel("y")

plt.xlim((0,1))
plt.ylim((0,1))

plt.xticks([0,0.2,0.4,0.6,0.8,1])
plt.yticks([0,0.2,0.4,0.6,0.8,1])
plt.plot(x,y1)
plt.plot(x,y2)

plt.legend(['y=x^2','y=x^4'])  # 注意顺序一致
plt.savefig("./test.png")  # 先保存再展示,否则保存失败
# plt.show() 一张图只调用一次 `plt.show()`,必须放在所有子图全部绘制完成之后。
# 1. **子图对象用 set_ 前缀的方法**:`ax.set_title()`、
# `ax.set_xlabel()`、`ax.set_xlim()`,不要用 plt 全局函数。
# 2. **`savefig` 必须在 `plt.show()` 之前**:show 会清空画布,先保存再显示。


# 第二幅图
ax2 = pt.add_subplot(1,2,2)  # 创建一个一行两列的子图,并开始绘制第一幅
xx=np.arange(0,np.pi*2,0.01)
y11 = np.sin(xx)
y22 = np.cos(xx)
plt.title("sin/cos")
plt.xlabel("x")
plt.ylabel("y")
plt.xlim((0,np.pi*2))
plt.ylim((-1, 1))
plt.xticks([0,np.pi/2,np.pi,np.pi*1.5,np.pi*2])
plt.yticks([-1,-0.5,0,0.5,1])
plt.plot(xx,y11)
plt.plot(xx,y22)
plt.legend(['y=sin(x)','y=cos(x)'])  # 注意顺序一致
plt.savefig("./testddd.png")  # 先保存再展示,否则保存失败
plt.show()
python 复制代码
import matplotlib.pyplot as plt
import numpy as np
plt.title("line曲线")
plt.xlabel("x")
plt.ylabel("y")
plt.xlim((0,np.pi*2))
plt.ylim((-1, 1))
plt.xticks([0,np.pi/2,np.pi,np.pi*1.5,np.pi*2])
plt.yticks([-1,-0.5,0,0.5,1])
# x=np.pi  # x应为多个点
x=np.arange(0,2*np.pi,0.1)
y=np.sin(x)
plt.rcParams["font.sans-serif"]="SimHei"  # 设置字体,使得中文正常显示
plt.rcParams["axes.unicode_minus"]=False # 设置正常显示符号
plt.rcParams["lines.linestyle"]="-"
plt.rcParams["lines.marker"]="v"
plt.rcParams["lines.markersize"]=2
plt.plot(x,y,label="$sin(x)$")  #写了label但忘加 plt.legend(),导致图例不显示,误以为 label 参数没用
plt.legend()
plt.savefig("./sin(x).png")  # 先保存再展示,否则保存失败
plt.show()
相关推荐
小李不想当小白2 小时前
WDG看门狗(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
lisw055 小时前
作为人类代理的大语言模型及其角色分类!
人工智能·学习·语言模型
Z21-X5 小时前
云原生运维实战笔记:企业网站综合上云部署与云运维服务全景解析
运维·笔记·学习·云原生
坤坤子吖5 小时前
Linux网络编程:UDP进阶,从字典服务器到简单聊天室
linux·服务器·网络·c++·笔记·学习
Rabitebla5 小时前
【Linux学习笔记】进程篇(九):进程的创建与退出——fork、写时拷贝与退出码
linux·c++·笔记·学习
楚山之石6 小时前
【MRM】CAPLEX 对比剂灌注 MRI 开源术语库:ISMRM OSIPI 共识报告
图像处理·人工智能·学习·mri
前进的李工17 小时前
Agent 学习笔记 05:系统提示词应该怎么写
笔记·学习·prompt·agent·个人开发·few-shot·ai应用开发
正在走向自律18 小时前
【3/5】人工智能训练师 三级/高级工 考证学习方向:从“独立执行”到“设计、归因与全链条负责”
人工智能·学习·人工智能训练师·注方案设计·数据质控负责人·模型评测与调优辅助·ai训练项目交付
CCIE-Yasuo20 小时前
网络安全-学习数据库-Mysql-2
数据库·学习·mysql
La Pulga21 小时前
【FreeRTOS源码学习笔记】任务切换
单片机·mcu·学习·嵌入式·freertos·实时操作系统