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()
相关推荐
牧羊人.3331 小时前
自然语言处理基础 04|长短期记忆网络 LSTM
网络·人工智能·rnn·深度学习·学习·自然语言处理·lstm
外收内放2 小时前
数据分析(数据排序)
python·学习·数据分析
AI小云2 小时前
零基础如何系统学习AI?2026年技术路径与培训选择深度分析
人工智能·学习
我命由我123452 小时前
准入类与水平类职业资格
笔记·学习·职场和发展·产品运营·求职招聘·职场发展·产品经理
ly_Enhs3 小时前
从无光照到 PBR:我的环境光照学习记录
学习·vulkan图形渲染c/c++
小李不想当小白3 小时前
USART串口数据包(STM32标准库学习笔记)
经验分享·笔记·stm32·单片机·嵌入式硬件·学习
xier_ran3 小时前
【infra之路】AI 编译器学习笔记(八):向量化——把小块变成 SIMD 指令
人工智能·笔记·学习
kmomo..3 小时前
Linux 驱动开发学习笔记:I2C 子系统从入门到实践
linux·驱动开发·学习
zhangdaliangmvp3 小时前
四元数的学习理解
学习