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

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.dtcms.com/a/330132.html

相关文章:

  • 并发编程(八股)
  • epoll模型解析
  • 数据科学与计算:从基础到实践的全面探索
  • 深度学习(6):参数初始化
  • 动画相关 属性动画+animateToImmediately+ImageAnimator帧动画组件+模态转场
  • 【C++】哈希表的实现
  • EUDR的核心内容,EUDR认证的好处,EUDR意义
  • web开发,在线%射击比赛管理%系统开发demo,基于html,css,jquery,python,django,三层mysql数据库
  • lesson37:MySQL核心技术详解:约束、外键、权限管理与三大范式实践指南
  • SpringBoot工程妙用:不启动容器也能享受Fat Jar的便利
  • CAD 的 C# 开发中,对多段线(封闭多边形)内部的点进行 “一笔连线且不交叉、不出界
  • ECC的原理、背景、工作机制和数学基础
  • 升级Gradle版本后,安卓点击事件使用了SwitchCase的情况下,报错无法使用的解决方案
  • Query通过自注意力机制更新(如Transformer解码器的自回归生成)的理解
  • Unity3D 中纯 Shader 的双色纹理的平铺计算与实现
  • 二次筛法Quadratic Sieve因子分解法----C语言实现
  • [git diff] 对比检查变更 | 提交前复审 | 版本回退
  • SQL 核心操作全解析:从基础查询到关联关系实战
  • Spring Boot项目通过Feign调用三方接口的详细教程
  • 在es中安装kibana
  • 雨量系列篇一:翻斗雨量传感器与压电雨量传感器的区别是什么
  • java法定退休年龄计算器
  • Thinkphp(GUI)漏洞利用工具,支持各版本TP漏洞检测,命令执行,Getshell
  • reactive和ref使用方法及场景
  • GitHub 热榜项目 - 日榜(2025-08-13)
  • 光伏电站运维巡检指南
  • 02 流程流转
  • H616基于官方外设开发----1
  • 每日五个pyecharts可视化图表-line:从入门到精通 (5)
  • C++ 四种类型转换