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

html做一个画热图的软件

完整示例

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>热图生成器</title><script src="https://cdn.plot.ly/plotly-latest.min.js"></script><style>body {font-family: Arial, sans-serif;}#inputContainer {margin-bottom: 20px;}textarea {width: 100%;height: 100px;}button {margin-top: 10px;}#heatmap {width: 100%;height: 500px;}</style>
</head>
<body><h1>热图生成器</h1><div id="inputContainer"><label for="dataInput">请输入数据(以逗号分隔,每行表示一行数据):</label><textarea id="dataInput">1,20,30\n20,1,60\n30,60,1</textarea><br><button onclick="generateHeatmap()">生成热图</button></div><div id="heatmap"></div><script>function generateHeatmap() {// 获取输入的数据const inputData = document.getElementById('dataInput').value;// 解析数据const rows = inputData.split('\n');const z = rows.map(row => row.split(',').map(Number));// 定义热图数据const data = [{z: z,type: 'heatmap'}];const layout = {title: '生成的热图',xaxis: {title: '列'},yaxis: {title: '行'}};// 绘制热图Plotly.newPlot('heatmap', data, layout);}</script>
</body>
</html>

说明

  1. 引入Plotly.js库:在<head>标签中,通过<script>标签引入Plotly.js库。
  2. 输入数据的文本区域:在<div id="inputContainer">中添加一个<textarea>供用户输入数据。
  3. 生成热图的按钮:添加一个按钮,点击按钮时会调用generateHeatmap函数。
  4. 生成热图的函数
    • <textarea>中获取用户输入的数据。
    • 将输入的数据按行拆分,并将每行数据按逗号拆分成数组。
    • 使用这些数据生成热图。
    • 使用Plotly.js的Plotly.newPlot函数将热图绘制到<div id="heatmap">中。

使用方法

  1. 将上述代码保存为一个HTML文件(例如heatmap_generator.html)。
  2. 在浏览器中打开该文件。
  3. 在文本区域中输入数据,每行代表一行数据,数据项之间用逗号分隔。例如:
    1,20,30
    20,1,60
    30,60,1
    
  4. 点击“生成热图”按钮,热图将会显示在页面中。

在这里插入图片描述

相关文章:

  • 【ajax基础04】form-serialize插件
  • 主流的Agent框架
  • Android应用--简、美音乐播放器添加电话监听
  • [C++] vector list 等容器的迭代器失效问题
  • 第5天:视图与模板进阶
  • Pip换源详解
  • Kimichat使用案例027:有效使用 kimichat 的15个高级技巧
  • Vue3 条件语句
  • HTML静态网页成品作业(HTML+CSS)——家乡泉州介绍网页(3个页面)(表格布局)
  • 【计算机毕业设计】194高校学习助手微信小程序
  • 神经网络学习6-线性层
  • 【idea-jdk1.8】使用Spring Initializr 创建 Spring Boot项目没有JDK8
  • 加速鸿蒙生态共建,蚂蚁mPaaS助力鸿蒙原生应用开发创新
  • 【CSS】box-shadow盒阴影
  • WPS相同字体但是部分文字样式不一样解决办法
  • [译]前端离线指南(上)
  • C++类的相互关联
  • HashMap剖析之内部结构
  • JavaScript实现分页效果
  • Laravel5.4 Queues队列学习
  • overflow: hidden IE7无效
  • QQ浏览器x5内核的兼容性问题
  • React+TypeScript入门
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 测试开发系类之接口自动化测试
  • 对JS继承的一点思考
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 项目实战-Api的解决方案
  • 用Visual Studio开发以太坊智能合约
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • ‌JavaScript 数据类型转换
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • (4)事件处理——(2)在页面加载的时候执行任务(Performing tasks on page load)...
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (简单) HDU 2612 Find a way,BFS。
  • (一)为什么要选择C++
  • .NET 漏洞分析 | 某ERP系统存在SQL注入
  • .NET/C# 异常处理:写一个空的 try 块代码,而把重要代码写到 finally 中(Constrained Execution Regions)
  • .net的socket示例
  • .net连接MySQL的方法
  • .NET命令行(CLI)常用命令
  • /deep/和 >>>以及 ::v-deep 三者的区别
  • @Value读取properties中文乱码解决方案
  • [ 蓝桥杯Web真题 ]-Markdown 文档解析
  • []新浪博客如何插入代码(其他博客应该也可以)
  • []指针
  • [4]CUDA中的向量计算与并行通信模式
  • [Android]Android P(9) WIFI学习笔记 - 扫描 (1)
  • [Angular] 笔记 21:@ViewChild
  • [BZOJ4337][BJOI2015]树的同构(树的最小表示法)
  • [c#基础]DataTable的Select方法
  • [Foreman]解决Unable to find internal system admin account
  • [hdu 1711] Number Sequence [kmp]