首页 > 其他分享 >vis.js样式3d图形

vis.js样式3d图形

时间:2024-04-24 14:55:05浏览次数:27  
标签:bar color js vis Math var size dot 3d

  • 代码案例
<!DOCTYPE html>
<html>
  <head>
    <title>Graph 3D demo</title>
    <style>
        body {
          font: 10pt arial;
        }
    </style>
    <script
      type="text/javascript"
      src="https://unpkg.com/vis-graph3d@latest/dist/vis-graph3d.min.js"
    ></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
    <script type="text/javascript">
        var data = null;
        var graph = null;

        function custom(x, y) {
          return -Math.sin(x / Math.PI) * Math.cos(y / Math.PI) * 10 + 10;
        }

        // Called when the Visualization API is loaded.
        function drawVisualization() {
          var style = document.getElementById("style").value;
          var showPerspective = document.getElementById("perspective").checked;
          var xBarWidth =
            parseFloat(document.getElementById("xBarWidth").value) || undefined;
          var yBarWidth =
            parseFloat(document.getElementById("yBarWidth").value) || undefined;
          var withValue =
            ["bar-color", "bar-size", "dot-size", "dot-color"].indexOf(style) != -1;

          // Create and populate a data table.
          data = [];

          // create some nice looking data with sin/cos
          var steps = 5; // number of datapoints will be steps*steps
          var axisMax = 10;
          var axisStep = axisMax / steps;
          for (var x = 0; x <= axisMax; x += axisStep) {
            for (var y = 0; y <= axisMax; y += axisStep) {
              var z = custom(x, y);
              if (withValue) {
                var value = y - x;
                data.push({ x: x, y: y, z: z, style: value });
              } else {
                data.push({ x: x, y: y, z: z });
              }
            }
          }

          // specify options
          var options = {
            width: "600px",
            height: "600px",
            style: style,
            xBarWidth: xBarWidth,
            yBarWidth: yBarWidth,
            showPerspective: showPerspective,
            showGrid: true,
            showShadow: false,
            keepAspectRatio: true,
            verticalRatio: 0.5,
          };

          var camera = graph ? graph.getCameraPosition() : null;

          // create our graph
          var container = document.getElementById("mygraph");
          graph = new vis.Graph3d(container, data, options);

          if (camera) graph.setCameraPosition(camera); // restore camera position

          document.getElementById("style").onchange = drawVisualization;
          document.getElementById("perspective").onchange = drawVisualization;
          document.getElementById("xBarWidth").onchange = drawVisualization;
          document.getElementById("yBarWidth").onchange = drawVisualization;
        }

        window.addEventListener("load", () => {
          drawVisualization();
        });

    </script>
  </head>
  <body onl oad="drawVisualization();">        
    <p>
      <label for="style">
        Style:
        <select id="style">
          <option value="bar">bar</option>
          <option value="bar-color">bar-color</option>
          <option value="bar-size">bar-size</option>
    
          <option value="dot">dot</option>
          <option value="dot-line">dot-line</option>
          <option value="dot-color">dot-color</option>
          <option value="dot-size">dot-size</option>
    
          <option value="grid">grid</option>
          <option value="line">line</option>
          <option value="surface">surface</option>
        </select>
      </label>
    </p>
    
    <p>
      <label for="perspective">
        <input type="checkbox" id="perspective" checked="" /> Show perspective
      </label>
    </p>
    
    <p>
      <label for="xBarWidth">
        Bar width X:
        <input type="text" id="xBarWidth" value="" style="width: 50px" /> (only
        applicable for styles "bar" and "bar-color")
      </label>
    </p>
    <p>
      <label for="yBarWidth">
        Bar width Y:
        <input type="text" id="yBarWidth" value="" style="width: 50px" /> (only
        applicable for styles "bar" and "bar-color")
      </label>
    </p>
    
    <div id="mygraph"></div>
    
    <div id="info"></div>    
         
  </body>
</html>
  • 效果图
点击查看详情

标签:bar,color,js,vis,Math,var,size,dot,3d
From: https://www.cnblogs.com/dogleftover/p/18155461

相关文章

  • vis.js线条3d图形
    代码案例<!DOCTYPEhtml><html><head><title>Graph3Ddemo</title><style>body{font:10ptarial;}</style><scripttype="text/javascript"src=......
  • vis.js自定义标签3d图形
    代码案例<!DOCTYPEhtml><html><head><title>Graph3Ddemo</title><style>body{font:10ptarial;}</style><scripttype="text/javascript"src=......
  • vis.js动画移动点3d图形
    代码案例<!DOCTYPEhtml><html><head><title>Graph3Ddemo</title><style>body{font:10ptarial;}</style><scripttype="text/javascript"src=......
  • Docker(十六)-Docker的daemon.json的作用
    docker安装后默认没有daemon.json这个配置文件,需要进行手动创建。配置文件的默认路径:/etc/docker/daemon.json一般情况,配置文件daemon.json中配置的项目参数,在启动参数中同样适用,有些可能不一样(具体可以查看官方文档),但需要注意的一点,配置文件中如果已经有某个配置项,则无法在启动......
  • Nuxtjs如果使用useHead()导入swiper,除了在onMounted调用,切换报错前面使用 await next
     注意:awaitnextTick();如果没用,vue切换的时候可能有问题<scriptlang="ts"setup>import{DArrowRight}from"@element-plus/icons-vue";useHead({script:[{src:"/script/swiper.js",},],link:[{......
  • mormot2 json 操作
    [mormot2json操作]本文非完全原创,本文部分内容来自博客园,作者:{咏南中间件}unitmormot2.json.serial;interfaceusesClasses,SysUtils,mormot.core.buffers,mormot.core.text,mormot.core.json,mormot.core.base//;type{TSerial}TSerial......
  • python包:torchvision
    torch 是一个偏向于底层的包, 做一些较为基础 矩阵运算 对于不同的样本比如图像,声音,文字, 之类,有更加针对性的包 比如,针对图片 他的矩阵处理专用包就是:torchvision 这个就需要单独安装,这个包的体积不是很大,我们可以直接尝试安装 pipinstalltorchvision......
  • FormData传输JSON同时上传单个/多个文件问题
    背景最近在开发一个功能时,涉及到向后端接口发送:JSON请求参数多个文件刚开始想通过RequestBody(application/json)形式进行传值,但是文件不好处理。有一个通过application/json传输文件数据的方法,就是将文件转成base64,然后在后端进行处理。但是这种方式涉及到大文件传输的时候,转......
  • JS之调用高德地图接口进行打卡
    调用高德地图接口进行打卡1.安装依赖"@amap/amap-jsapi-loader":"^1.0.1"2.增加代码如下:orientation.jsimportAMapLoaderfrom'@amap/amap-jsapi-loader';import{gcj02towgs84}from'./coordTransform.js';exportfunctiongetOrientati......
  • js-splice方法【插入、删除、替换】
    splice()语法:arrayObject.splice(index,howmany,item1,.....,itemX)参数说明:参数描述index必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。howmany必需。要删除的项目数量。如果设置为0,则不会删除项目。item1,…,itemX可选。向数组添......