当前位置: 首页 > web >正文

python自学笔记7 可视化初步

图像的组成

在这里插入图片描述
在这里插入图片描述

工具库

Matplotlib:绘制静态图
Plotly: 可以绘制交互式图片

图像的绘制(Matplotlib)

创建图形,轴对象

创造等差数列

# 包含后端点
arr = np.linspace(0, 1, num=11)
# 不包含后端点
arr_no_endpoint = np.linspace(0, 1, num=10, endpoint=False)

用figure先生成一个图形再加子图

fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)

在添加子图的参数中,前两个1是将画布分为1行1列(即不变)
后一个1是在第一个位置生成图像

同时创建图形和对称轴

fig, ax = plt.subplots(figsize=(8, 6))

绘制曲线

ax.plot(x_array, sin_y, label='sin', color='b', linewidth=2)

艺术家

到上一步为止,已经可以打印出图片:
在这里插入图片描述
但一般来说还要加上更多的图片修饰,这些修饰就是艺术家内容。
在这里插入图片描述

综合代码

# 导入包
import numpy as np
import matplotlib.pyplot as plt# 生成横轴数据
x_array = np.linspace(0, 2*np.pi, 100)
# 正弦函数数据
sin_y = np.sin(x_array)
# 余弦函数数据
cos_y = np.cos(x_array)
# 设置图片大小
fig, ax = plt.subplots(figsize=(8, 6))# 绘制正弦和余弦曲线
ax.plot(x_array, sin_y, label='sin', color='b', linewidth=2)
ax.plot(x_array, cos_y, label='cos', color='r', linewidth=2)# 设置标题、横轴和纵轴标签
ax.set_title('Sine and cosine functions')
ax.set_xlabel('x')
ax.set_ylabel('f(x)')# 添加图例
ax.legend()# 设置横轴和纵轴范围
ax.set_xlim(0, 2*np.pi)
ax.set_ylim(-1.5, 1.5)# 设置横轴标签和刻度标签
x_ticks = np.arange(0, 2*np.pi+np.pi/2, np.pi/2)
x_ticklabels = [r'$0$', r'$\frac{\pi}{2}$', r'$\pi$', r'$\frac{3\pi}{2}$', r'$2\pi$']
ax.set_xticks(x_ticks)
ax.set_xticklabels(x_ticklabels)# 横纵轴采用相同的scale
ax.set_aspect('equal')
plt.grid()
# 将图片存成SVG格式
plt.savefig('正弦_余弦函数曲线.svg', format='svg')# 显示图形
plt.show()

效果:
在这里插入图片描述
若要将正弦余弦分开绘制,则要生成两张坐标轴的子图。

图像的绘制(Plotly)

# 导入包
import plotly.express as px
import numpy as np
import pandas as pd
# 生成横轴数据
x = np.linspace(0, 2 * np.pi, 100)# 生成正弦和余弦曲线的数据
y_sin = np.sin(x)
y_cos = np.cos(x)# 生成Pandas数据帧
df = pd.DataFrame({'x': x, 'Sine': y_sin, 'Cosine': y_cos})
# 创建图表
fig = px.line(df, x='x', y=['Sine', 'Cosine'], labels={'value': 'f(x)', 'X': 'x'})
# 显示图表
fig.show()
http://www.xdnf.cn/news/17860.html

相关文章:

  • 使用 Simple Floating Menu 插件轻松实现浮动联系表单
  • GPU 选型指南(一):AI 训练巅峰之选 H100、H200与MI300X/MI325X深度对比
  • 【C++ STL】list详解和模拟
  • 如何用外部电脑访问本地网页?
  • 蒙以CourseMaker里面的录屏功能真的是完全免费的吗?
  • RC4算法实现
  • C# xml UI格式化字符串
  • RxJava 在 Android 中的深入解析:使用、原理与最佳实践
  • 一个接口多个实现类,如何动态调用
  • 【SpringBoot】统一功能处理
  • PCIe Base Specification解析(十)
  • GNN: 配送路径最短 GNN 类型方案对比
  • 内容索引之word转md工具 - markitdown
  • Java Record 类 — 简化不可变对象的写法
  • JavaWeb(05)
  • transforms的使用 小土堆pytorch记录
  • 15-docker的企业级私有仓库之docker-harbor
  • 三极管的基极为什么需要下拉电阻
  • docker network 与host的区别
  • GO学习记录四——读取excel完成数据库建表
  • USB基础 -- USB2.0设备插入的过程
  • 《算法导论》第 23 章 - 最小生成树
  • 面试实战 问题二十六 JDK 1.8 核心新特性详解
  • Spring 源码学习(十)—— DispatcherServlet
  • 超实用!ToDesk/网易UU/向日葵:远程办公文件协作效率与安全实测
  • OpenJDK 17 源码 安全点轮询的信号处理流程
  • Spring Boot 整合 Thymeleaf 模板引擎:从零开始的完整指南
  • 数据结构初阶(12)排序算法—插入排序(插入、希尔)(动图演示)
  • 基于R语言的现代贝叶斯统计学方法(贝叶斯参数估计、贝叶斯回归、贝叶斯计算实践过程
  • 为什么 sim(3) 中的尺度 s 与旋转 R 相乘,而不是平移 t?