html做一个画热图的软件

完整示例

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. 点击"生成热图"按钮,热图将会显示在页面中。

相关推荐
曹牧几秒前
C# 中的 DateTime.Now.ToString() 方法支持多种预定义的格式字符
前端·c#
勿在浮沙筑高台1 分钟前
海龟交易系统R
前端·人工智能·r语言
歪歪1002 分钟前
C#如何在数据可视化工具中进行数据筛选?
开发语言·前端·信息可视化·前端框架·c#·visual studio
Captaincc1 小时前
AI 能帮你写代码,但把代码变成软件,还是得靠人
前端·后端·程序员
吃饺子不吃馅2 小时前
如何设计一个 Canvas 事件系统?
前端·canvas·图形学
Baklib梅梅2 小时前
无头内容管理系统:打造灵活高效的多渠道内容架构
前端·ruby on rails·前端框架·ruby
over6973 小时前
浏览器里的AI魔法:用JavaScript玩转自然语言处理
前端·javascript
渣渣盟3 小时前
探索Word2Vec:从文本向量化到中文语料处理
前端·javascript·python·文本向量化
Pu_Nine_93 小时前
Vue 3 + TypeScript 项目性能优化全链路实战:从 2.1MB 到 130KB 的蜕变
前端·vue.js·性能优化·typescript·1024程序员节
云枫晖4 小时前
Webpack系列-Loader
前端·webpack