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

深圳网站建设技术php怎么做视频网站

深圳网站建设技术,php怎么做视频网站,wordpress ajax 文件上传,漂浮广告网站锋哥原创的Matplotlib3 Python数据可视化视频教程: 2026版 Matplotlib3 Python 数据可视化 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili 课程介绍 本课程讲解利用python进行数据可视化 科研绘图-Matplotlib,学习Matplotlib图形参数基本设置&…

锋哥原创的Matplotlib3 Python数据可视化视频教程:

2026版 Matplotlib3 Python 数据可视化 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili

课程介绍


本课程讲解利用python进行数据可视化 科研绘图-Matplotlib,学习Matplotlib图形参数基本设置,绘图参数及主要函数,以及Matplotlib基础绘图,和Matplotlib高级绘图。

绘制热力图(Heatmap)

热力图是一种用颜色编码矩阵数据的可视化方式,特别适合展示二维数据集的数值分布和模式识别。Matplotlib 提供了强大的热力图绘制功能,可以轻松创建专业级的热力图。

热力图的基本原理

热力图通过色彩变化来展示矩阵中每个单元格的数值大小:

  • 高值区域通常用暖色调(红、黄)表示

  • 低值区域通常用冷色调(蓝、绿)表示

  • 中间值区域使用过渡色

使用 Matplotlib 绘制热力图的步骤

  1. 准备数据:创建二维矩阵数据

  2. 创建图形和坐标轴

  3. 使用 imshow() 函数绘制热力图

  4. 添加颜色条(colorbar)

  5. 添加标签、标题和刻度

  6. 可选:在单元格中显示数值

ax.imshow() 是 Matplotlib 中用于在坐标轴上显示图像的核心方法(ax 通常指 matplotlib.axes.Axes 对象)。它支持多种数据类型(数组、PIL 图像等),并提供了丰富的参数控制图像显示效果。以下是详细解析:

ax.imshow(X, **kwargs)
  • X: 要显示的图像数据(必需参数),支持以下格式:

    • 2D 数组:灰度图像(值域范围:[0, 1] 浮点数或 [0, 255] 整数)

    • 3D 数组:RGB(shape=(M, N, 3))或 RGBA(shape=(M, N, 4))彩色图像

关键参数详解

  1. 颜色映射与归一化

  • cmap : 指定颜色映射(仅用于单通道数据)。

    ax.imshow(data, cmap='viridis')  # 使用内置colormap
    ax.imshow(data, cmap=plt.cm.hot) # 或通过plt.cm调用
  • norm : 控制数据到颜色的映射方式。

    from matplotlib.colors import LogNorm
    ax.imshow(data, norm=LogNorm(vmin=1, vmax=100))  # 对数归一化
  • vmin/vmax : 手动设置颜色映射的数据范围。

    ax.imshow(data, vmin=0, vmax=10)  # 将数据[0,10]映射到颜色

  1. 图像显示属性

  • aspect : 控制图像纵横比。

    ax.imshow(data, aspect='auto')    # 自适应坐标轴
    ax.imshow(data, aspect='equal')   # 像素保持正方形(默认)
  • interpolation : 像素插值方法(抗锯齿效果)。

    ax.imshow(data, interpolation='nearest')  # 无插值(像素化)
    ax.imshow(data, interpolation='bilinear') # 双线性平滑
  • alpha : 透明度(0.0 完全透明,1.0 不透明)。

    ax.imshow(data, alpha=0.5)  # 半透明叠加
  • origin : 数组原点位置。

    ax.imshow(data, origin='upper')  # 第一行在顶部(默认)
    ax.imshow(data, origin='lower')  # 第一行在底部(类似数学坐标系)

  1. 坐标定位

  • extent : 定义图像在坐标轴中的位置 (left, right, bottom, top)

    # 将图像放置在x∈[10,20], y∈[5,15]的区域
    ax.imshow(data, extent=[10, 20, 5, 15])
  • filternorm/filterrad : 抗锯齿滤波器参数(高级用法)。


  1. 其他常用参数

  • resample : 重采样方法(已弃用,推荐用 interpolation)。

  • url : 为图像添加超链接(导出为SVG/PDF时有效)。

  • animated : 优化动画渲染性能。


返回值

  • 返回 matplotlib.image.AxesImage 对象,可用于:

    • 添加颜色条:plt.colorbar(im)

    • 动态更新图像:im.set_data(new_data)

我们来看一个示例:

import numpy as np
import matplotlib.pyplot as plt
from matplotlib import colors
import matplotlib.font_manager as fm
​
# 设置中文字体支持
plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号
​
# 创建数据
np.random.seed(42)
data = np.random.rand(8, 10) * 100  # 8x10的随机矩阵
​
# 创建图形
fig, ax = plt.subplots(figsize=(12, 8), dpi=100)
fig.patch.set_facecolor('#F5F5F5')  # 设置背景色
​
# 创建自定义颜色映射 创建从蓝色(低值)到橙色(高值)的自定义渐变颜色映射
cmap = colors.LinearSegmentedColormap.from_list('custom_cmap',['#2E86C1', '#3498DB', '#85C1E9','#F7F9F9', '#F9E79F', '#F1C40F', '#E67E22'])
​
# 绘制热力图
"""
cmap:指定颜色映射
aspect='auto':自动调整纵横比
interpolation='nearest':使用最近邻插值,保持单元格边界清晰
"""
heatmap = ax.imshow(data, cmap=cmap, aspect='auto', interpolation='nearest')
​
# 添加颜色条 颜色条显示颜色与数值的对应关系,shrink参数调整颜色条高度
cbar = fig.colorbar(heatmap, ax=ax, shrink=0.7)
cbar.set_label('数值大小', fontsize=12)
​
# 设置坐标轴标签
ax.set_xticks(np.arange(data.shape[1]))
ax.set_yticks(np.arange(data.shape[0]))
ax.set_xticklabels([f'特征{i + 1}' for i in range(data.shape[1])], fontsize=10)
ax.set_yticklabels([f'样本{i + 1}' for i in range(data.shape[0])], fontsize=10)
​
# 旋转x轴标签
plt.setp(ax.get_xticklabels(), rotation=45, ha="right", rotation_mode="anchor")
​
# 添加标题
ax.set_title("数据特征热力图分析", fontsize=16, pad=20, weight='bold')
​
# 在单元格中显示数值
for i in range(data.shape[0]):for j in range(data.shape[1]):# 根据背景色亮度调整文本颜色color = 'black' if data[i, j] < 50 else 'white'ax.text(j, i, f'{data[i, j]:.1f}',ha="center", va="center",color=color, fontsize=9, weight='bold')
​
# 添加网格线
ax.grid(which="minor", color="gray", linestyle='-', linewidth=0.5)
​
# 添加说明文本
plt.figtext(0.5, 0.01, "热力图展示了不同样本在各个特征维度上的数值分布,颜色越暖表示数值越大",ha="center", fontsize=10, color='#555555')
​
# 调整布局
plt.tight_layout(pad=3.0)
plt.subplots_adjust(bottom=0.15)
​
# 显示图形
plt.show()

运行效果:

http://www.dtcms.com/a/578410.html

相关文章:

  • 21款m1 max升级到macOS 14——Sonoma
  • 基于Python的性能测试工具Locust
  • 华为云速建站可以做英文网站wordpress企业授权
  • 青海城乡建设网站设计公司画册模板
  • LeetCode 1128.等价多米诺骨牌对的数量
  • 服务器数据恢复—Raid5阵列热备盘同步失败,数据恢复揭秘
  • 网页站点不安全怎么办智能自助建站网站
  • 车载以太网 Switch自愈
  • 网站项目需求文档编程代码入门教学
  • 做新年公告图片的网站重庆重庆网站建设公司
  • 美团初期是怎么建网站厦门谷歌seo公司
  • 【Java】EasyExcel实现导入导出数据库中的数据为Excel
  • 网站建站行业新闻打开网站8秒原则
  • 【BFS 解决最短路问题】3. 单词接⻰(hard)
  • 霸州住房和城乡建设厅网站wordpress调用header
  • openvswitch-ovs-流表
  • [LeetCode]Hot100系列.贪心总结+思想总结
  • Utools插件实现Web Bluetooth
  • 网站备案在哪里公众号开发零基础教程
  • 不坑盒子的插入网页功能是完全免费的!
  • 外贸怎么做公司网站网站平台建设需求表
  • docker下载配置redis
  • 深圳工程建设信息网站wordpress 前台投稿
  • wordpress会建站怎么找工作app地推网
  • redisCluster集群搭建 完全分布式
  • PSUIP正式发布!打通AI到UI高效路径,破解适配难题
  • Terminator SSH 管理器 — 一款适用于 Terminator 的精美 SSH 连接插件
  • 外贸网站电子建设网站建设预算表制作
  • 10大免费软件下载网站响应式网站的优势有那些的呢
  • Redis_6_String