前端关系图推荐-relation-graph

relation-graph实现企业架构图,关系图等(天眼查,企查查等企业架构图等实现) 前端企业架构图,股权穿透图,关系图等实现 阅读详情
AI摘要

本文推荐前端关系图组件relation-graph,其官网地址可查。该组件易上手、文档清晰,支持Vue2、Vue3、React框架,关系节点可自定义,且完全免费。文中还介绍了在不同框架下的安装和使用方法,并展示了Vue2项目的运行结果和成果图。

目录

一、前言

二、relation-graph官网地址

三、推荐relation-graph的原因

四、relation-graph的使用

1.Vue2使用

1.1、安装relation-graph

1.2、 可直接复制到vue文件中运行使用

2. Vue3使用

2.1、安装relation-graph

2.2、 可直接复制到vue文件中运行使用

3. React使用

1.1、安装relation-graph

1.2、 可直接复制到文件中运行使用

五、运行结果

六、下面是运行成果图


一、前言

Relation-Graph是一个开源的免费关系图谱组件,支持Vue2、Vue3和React框架。它提供开箱即用的体验,配置简单,文档清晰,并支持通过插槽自定义节点样式。文章详细介绍了在Vue2、Vue3和React中的安装和使用方法,包含完整的代码示例和运行效果图。该组件具有高度可定制性,支持节点点击事件等交互功能,适用于构建各种关系图谱应用。作者强烈推荐该工具,并分享了实际项目中的使用效果。

二、relation-graph官网地址

relation-graph - A Relationship Graph Component

三、推荐relation-graph的原因

  1. 超级容易上手,基本开箱即用
  2. 官方文档清晰明了,有在线示例、可自定义配置,配置完可直接复制配置的代码
  3. 完全支持 VUE2、VUE3、React 三种框架
  4. 关系节点可通过插槽完全自定义定制
  5. 免费!!!免费!!!免费!!!

四、relation-graph的使用

1.Vue2使用

1.1、安装relation-graph

npm install --save relation-graph

1.2、 可直接复制到vue文件中运行使用

<template>
   <div>
     <div style="height:calc(100vh - 60px);">
        <RelationGraph ref="graphRef" :options="graphOptions" :on-node-click="onNodeClick" :on-line-click="onLineClick" />
     </div>
   </div>
 </template>

 <script>
// relation-graph也支持在main.js文件中使用Vue.use(RelationGraph);这样,你就不需要下面这一行代码来引入了。
 import RelationGraph from 'relation-graph'
 export default {
   name: 'Demo',
   components: { RelationGraph },
   data() {
     return {
       graphOptions: {
         defaultJunctionPoint: 'border'
         // 这里可以参考"Graph 图谱"中的参数进行设置 https://www.relation-graph.com/#/docs/graph
       }
     }
   },
   mounted() {
     this.showGraph()
   },
   methods: {
     showGraph() {
       const jsonData = {
         rootId: 'a',
         nodes: [
           { id: 'a', text: 'A', borderColor: 'yellow' },
           { id: 'b', text: 'B', color: '#43a2f1', fontColor: 'yellow' },
           { id: 'c', text: 'C', nodeShape: 1, width: 80, height: 60 },
           { id: 'e', text: 'E', nodeShape: 0, width: 150, height: 150 }
         ],
         lines: [
           { from: 'a', to: 'b', text: '关系1', color: '#43a2f1' },
           { from: 'a', to: 'c', text: '关系2' },
           { from: 'a', to: 'e', text: '关系3' },
           { from: 'b', to: 'e', color: '#67C23A' }
         ]
       }
       // 以上数据中的node和link可以参考"Node节点"和"Link关系"中的参数进行配置
       this.$refs.graphRef.setJsonData(jsonData, (graphInstance) => {
         // Called when the relation-graph is completed
       })
     },
     onNodeClick(nodeObject, $event) {
       console.log('onNodeClick:', nodeObject)
     },
     onLineClick(lineObject, $event) {
       console.log('onLineClick:', lineObject)
     }
   }
 }
 </script>

2. Vue3使用

2.1、安装relation-graph

npm install --save relation-graph-vue3

2.2、 可直接复制到vue文件中运行使用

<template>
  <div>
    <div style="border: #efefef solid 1px; height: calc(100vh - 100px);width: 100%;">
      <relation-graph ref="graphRef$" :options="options" />
    </div>
  </div>
</template>

<script setup lang="ts">
import { onMounted, ref } from 'vue'
import RelationGraph from 'relation-graph-vue3'
const graphRef$ = ref<RelationGraph>()
const options = {
  defaultExpandHolderPosition: 'right'
}
onMounted(() => {
  const jsonData = {
    rootId: 'a',
    nodes: [
      { id: 'a', text: 'a', },
      { id: 'b', text: 'b', },
      { id: 'c', text: 'c', },
      { id: 'd', text: 'd', },
      { id: 'e', text: 'e', },
      { id: 'f', text: 'f', },
    ],
    lines: [
      { from: 'a', to: 'b', },
      { from: 'a', to: 'c', },
      { from: 'a', to: 'd', },
      { from: 'a', to: 'e', },
      { from: 'a', to: 'f', },
    ],
  }
  // The node and line in the above data can refer to the options in "Node" and "Link & Line" for configuration.
  // Node: https://www.relation-graph.com/#/docs/node
  // Link & Line: https://www.relation-graph.com/#/docs/link
  graphRef$.value.setJsonData(jsonData)
  // The graphRef$.value.setJsonData(jsonData, callback) method is a convenient method that is equivalent to the following code:
  //  const graphInstance = graphRef$.value.getInstance();
  //  graphInstance.addNodes(jsonData.nodes);
  //  graphInstance.addLines(jsonData.lines);
  //  graphInstance.rootNode = graphInstance.getNodeById(jsonData.rootId);
  //  await graphInstance.doLayout(); // Layout using the layouter set in graphOptions
  //  await graphInstance.moveToCenter(); // Find the center based on node distribution and center the view
  //  await graphInstance.zoomToFit(); // Zoom to fit, so that all nodes can be displayed in the visible area
})
</script>

3. React使用

1.1、安装relation-graph

npm install --save relation-graph-react

1.2、 可直接复制到文件中运行使用

import React, { useEffect, useRef } from 'react';
import RelationGraph, {RelationGraphInstance} from 'relation-graph-react';
import type { MutableRefObject} from 'react';
import type {
  RGLine,
  RGLink,
  RGNode,
  RGNodeSlotProps,
  RGOptions,
  RelationGraphExpose
} from 'relation-graph-react';

const staticJsonData = {
  rootId: '2',
  nodes: [
    { id: '1', text: '节点-1', myicon: 'el-icon-star-on' },
    { id: '2', text: '节点-2', myicon: 'el-icon-setting', width: 100, height: 100 },
    { id: '3', text: '节点-3', myicon: 'el-icon-setting' },
    { id: '4', text: '节点-4', myicon: 'el-icon-star-on' },
    { id: '6', text: '节点-6', myicon: 'el-icon-setting' },
    { id: '7', text: '节点-7', myicon: 'el-icon-setting' },
    { id: '8', text: '节点-8', myicon: 'el-icon-star-on' },
    { id: '9', text: '节点-9', myicon: 'el-icon-headset' },
    { id: '71', text: '节点-71', myicon: 'el-icon-headset' },
    { id: '72', text: '节点-72', myicon: 'el-icon-s-tools' },
    { id: '73', text: '节点-73', myicon: 'el-icon-star-on' },
    { id: '81', text: '节点-81', myicon: 'el-icon-s-promotion' },
    { id: '82', text: '节点-82', myicon: 'el-icon-s-promotion' },
    { id: '83', text: '节点-83', myicon: 'el-icon-star-on' },
    { id: '84', text: '节点-84', myicon: 'el-icon-s-promotion' },
    { id: '85', text: '节点-85', myicon: 'el-icon-sunny' },
    { id: '91', text: '节点-91', myicon: 'el-icon-sunny' },
    { id: '92', text: '节点-82', myicon: 'el-icon-sunny' },
    { id: '5', text: '节点-5', myicon: 'el-icon-sunny' }
  ],
  lines: [
    { from: '7', to: '71', text: '投资' },
    { from: '7', to: '72', text: '投资' },
    { from: '7', to: '73', text: '投资' },
    { from: '8', to: '81', text: '投资' },
    { from: '8', to: '82', text: '投资' },
    { from: '8', to: '83', text: '投资' },
    { from: '8', to: '84', text: '投资' },
    { from: '8', to: '85', text: '投资' },
    { from: '9', to: '91', text: '投资' },
    { from: '9', to: '92', text: '投资' },
    { from: '1', to: '2', text: '投资' },
    { from: '3', to: '1', text: '高管' },
    { from: '4', to: '2', text: '高管' },
    { from: '6', to: '2', text: '高管' },
    { from: '7', to: '2', text: '高管' },
    { from: '8', to: '2', text: '高管' },
    { from: '9', to: '2', text: '高管' },
    { from: '1', to: '5', text: '投资' }
  ]
};

const NodeSlot: React.FC<RGNodeSlotProps> = ({node}) => {
  console.log('NodeSlot:');
  if (node.id === '2') { // if rootNode
    return <div style={{zIndex: 555, opacity: 0.5, lineHeight:'100px', width: '100px', height: '100px', color: '#000000', borderRadius:'50%', boxSizing: 'border-box', fontSize: '18px', textAlign: 'center', overflow: 'hidden'}}>
      <div style={{width: '100%', height: (node.data!.percent * 100) + '%', marginTop: ((1-node.data!.percent) * 100) + '%', background: 'linear-gradient(to bottom, #00FFFF, #FF00FF)'}}>
        {node.text}
      </div>
    </div>;
  }
  return <div style={{lineHeight: '80px', textAlign: 'center'}}>
    <span>{node.text}</span>
  </div>
};
const SimpleGraph: React.FC = () => {
  const graphRef = useRef() as MutableRefObject<RelationGraphExpose>;
  useEffect(() => {
    showGraph();
  }, []);
  const showGraph = async () => {
    // The node and line in the above data can refer to the options in "Node" and "Link & Line" for configuration.
    // Node: https://www.relation-graph.com/#/docs/node
    // Link & Line: https://www.relation-graph.com/#/docs/link
    await graphRef.current.setJsonData(staticJsonData, (graphInstance) => {
        // Do something when graph ready
    });
    // The graphRef.current.setJsonData(jsonData, callback) method is a convenient method that is equivalent to the following code:
    //  const graphInstance = graphRef.current.getInstance();
    //  graphInstance.addNodes(jsonData.nodes);
    //  graphInstance.addLines(jsonData.lines);
    //  graphInstance.rootNode = graphInstance.getNodeById(jsonData.rootId);
    //  await graphInstance.doLayout(); // Layout using the layouter set in graphOptions
    //  await graphInstance.moveToCenter(); // Find the center based on node distribution and center the view
    //  await graphInstance.zoomToFit(); // Zoom to fit, so that all nodes can be displayed in the visible area
  }
  const options:RGOptions = {
    debug: true,
    defaultLineShape: 1,
    layout: {
      layoutName: 'center',
      maxLayoutTimes: 3000
    },
    defaultExpandHolderPosition: 'right'
  };
  const onNodeClick = (node: RGNode, _e: MouseEvent | TouchEvent) => {
    console.log('onNodeClick:', node.text);
    return true;
  };
  const onLineClick = (line: RGLine, _link: RGLink, _e: MouseEvent | TouchEvent) => {
    console.log('onLineClick:', line.text, line.from, line.to);
    return true;
  };
  return <div>
    <div>ok</div>
    <div style={{ height: 600, width: 900, border: '#efefef solid 1px' }}>
      <RelationGraph
        ref={graphRef}
        options={options}
        nodeSlot={NodeSlot}
        onNodeClick={onNodeClick}
        onLineClick={onLineClick}
      />
    </div>
  </div>;
};
export default SimpleGraph;

五、运行结果

因为我是Vue2项目,所以下面展示的是我在Vue2项目中的代码,可直接复制运行,需要注意的是我使用了less

<template>

    <div class="dev-linkage-diagram">

        <div class="header">

            <h3>设备联动图</h3>



        </div>

        <div class="graphRefBox">

            <RelationGraph ref="graphRef" :options="graphOptions" :on-node-click="onNodeClick" :on-line-click="onLineClick">

                <template #node="{ node }">

                    <div class="c-my-rg-node nodeBox">



                        <div class="top">

                            <div class="left">

                                <span></span>

                                <strong>声光</strong>

                                <div class="state">离线</div>

                            </div>

                            <div class="num">

                                <span>4</span>

                            </div>

                        </div>

                        <div class="bottom">

                            办公室1

                        </div>

                    </div>

                </template>

            </RelationGraph>

        </div>

    </div>

</template>



<script>

import RelationGraph from 'relation-graph'

export default {

    name: "DevLinkageDiagram",

    components: { RelationGraph },

    props: {},

    data() {

        return {

            graphOptions: {

                defaultJunctionPoint: 'border',

                allowShowDownloadButton: false,

                defaultFocusRootNode: false,

                defaultNodeWidth: 1,

                defaultNodeHeight: 1,

                defaultShowLineLabel: false,

                allowShowRefreshButton: true,



                // 这里可以参考"Graph 图谱"中的参数进行设置 https://www.relation-graph.com/#/docs/graph

            }

        };

    },

    computed: {},

    created() { },

    mounted() {

        this.showGraph()

    },

    methods: {

        showGraph() {

            const jsonData = {

                rootId: 'a',

                nodes: [

                    { id: 'a', text: 'A', },

                    { id: 'b', text: 'B', },

                    { id: 'c', text: 'C', },

                    { id: 'e', text: 'E', }

                ],

                lines: [

                    { from: 'a', to: 'b', },

                    { from: 'a', to: 'c', },

                    { from: 'a', to: 'e', },

                ]

            }

            // 以上数据中的node和link可以参考"Node节点"和"Link关系"中的参数进行配置

            this.$refs.graphRef.setJsonData(jsonData, (graphInstance) => {

                // Called when the relation-graph is completed

            })

        },

        onNodeClick(nodeObject, $event) {

            // console.log('onNodeClick:', nodeObject)

        },

        onLineClick(lineObject, $event) {

            // console.log('onLineClick:', lineObject)

        }

    },

};

</script>



<style scoped lang="less">

.dev-linkage-diagram {

    padding: 15px;

    background-color: #ffffff;

    border-radius: 4px;

    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);



    .header {

        display: flex;

        justify-content: space-between;

        align-items: center;

        margin-bottom: 15px;

        padding-bottom: 10px;

        border-bottom: 1px solid #eee;

    }



    .graphRefBox {

        height: 580px;

        background-color: #cfcece;

    }





    .rel-node-peel {

        position: relative;



        .c-my-rg-node {

            position: absolute;

            top: 50%;

            left: 50%;

            transform: translate(-50%, -50%);

        }

    }



    .nodeBox {

        width: 200px;

        border-radius: 20px;

        overflow: hidden;



        >div {

            padding: 0 16px;

        }



        .top {

            display: flex;

            justify-content: space-between;

            align-items: center;

            width: 100%;

            height: 40px;

            background-color: #deb922;



            .left {

                display: flex;

                align-items: center;

                color: #fff;



                .state {

                    padding: 1px 4px;

                    margin-left: 4px;

                    background-color: rgba(245, 245, 245, 0.3);

                    border-radius: 4px;

                }

            }



            .num {

                display: flex;

                justify-content: center;

                align-items: center;

                width: 24px;

                height: 24px;

                background-color: rgba(226, 226, 226, 0.5);

                border: 1px solid #fff;

                border-radius: 50%;

                color: #fff;

                font-weight: 700;

                font-size: 14px;

            }

        }



        .bottom {

            display: flex;

            align-items: center;

            width: 100%;

            height: 40px;

            background-color: #72716d;

            font-size: 14px;

        }

    }

}

</style>

六、下面是运行成果图

非常完美!!!真的很好用,真心推荐!!!如果觉得有用就请用发财的小手点点赞趴,谢谢啦!

Relation-graph关系图/流程图,VUE项目基础使用 阅读详情

相关推荐

vue使用relation-graph实现关系图谱

这是一个Vue关系图谱组件,可以展示如组织机构图谱、股权架构图谱、集团关系图谱等知识图谱,可提供多种图谱布局,包括树状布局中心布局力学布局自动布局等。relation-graph 源码传送门。

@必意玲 3597

relation-graph一个vue关系图谱组件的使用

relation-graph一个vue关系图谱组件的使用

weixin_45289656的博客 1万+

告别ECharts!用Vue relation-graph插件5分钟搞定人员关系图谱(附完整配置代码)

本文详细介绍了如何使用Vue relation-graph插件快速构建交互式人员关系图谱,替代传统ECharts方案。通过实战指南展示从安装配置、数据建模到高级交互的全流程,帮助开发者在5分钟内实现专业级关系可视化,显著提升开发效率和用户体验。

流云 546

一文玩转【relation-graph 关系图谱】再也不怕遇到这样的需求

relation-graph是支持Vue2、Vue3、React的关系数据展示组件,支持通过【插槽】让使用者使用"普通HTML元素、Vue组件、React组件"来完全自定义图形元素,并提供实用的API接口让使用者轻松构建可交互的图形应用。

小猿同学628的博客 8004

relation-graph:从零到一,在Vue项目中构建企业级关系图谱

本文详细介绍了如何在Vue项目中利用relation-graph构建企业级关系图谱。从基础环境搭建到核心配置实战,再到企业级数据案例与性能优化,全面解析了relation-graph在可视化复杂股权结构、组织架构等场景的应用技巧,帮助开发者高效实现交互式关系图谱。

weixin_30940783的博客 241

别再手动调坐标了!用Vue relation-graph v2.x轻松搞定鱼骨图式关系图谱

本文介绍了如何使用Vue relation-graph v2.x实现智能鱼骨图关系图谱,告别手动布局的繁琐。通过自动布局算法和实战技巧,开发者可以高效处理复杂数据可视化需求,提升供应链管理等场景下的工作效率。

weixin_33670786的博客 238

relation-graph/vue网页截图

relation-graph/vue截图使用html2canvas、dom-to-image、rasterizeHTML...等一些库截图的时候,只能截取到节点,连线是捕捉不到的,这里直接下载插件@zumer/snapdom;要注意 使用的是snapdom.toPng 还是使用的snapdom.toBlob;这两个返回的格式不同;

quill_editor的博客 35

告别D3.js的复杂配置!用relation-graph在Vue/React项目中5分钟搞定关系图

本文介绍了如何利用relation-graph在Vue/React项目中快速实现关系图,告别D3.js的复杂配置。通过对比主流关系图库,relation-graph以其平缓的学习曲线、原生支持Vue/React和丰富的示例脱颖而出,特别适合紧急项目和中小型团队。文章还提供了从零开始的实现示例和高级技巧,帮助开发者快速上手并优化性能。

weixin_29009881的博客 189

React关系图谱深度解决方案:relation-graph实战指南与架构解析

在现代前端开发中,可视化复杂关系数据是一个常见的业务挑战。想象一下这样的场景:你需要在一个企业级应用中展示组织架构、股权关系或知识图谱,传统的表格和列表已经无法清晰表达复杂的关联关系。你可能会遇到节点重叠、布局混乱、交互体验差等技术难题,而relation-graph正是为解决这些问题而生的多框架关系图谱组件解决方案。 ## 可视化方案的选型对比 在选择关系图谱解决方案时,开发者通常面临几个选

gitblog_00200的博客 1028

relation-graph实战:从零构建可交互的企业股权穿透图

本文详细介绍了如何使用relation-graph从零构建可交互的企业股权穿透图,包括基础入门、核心配置、动态交互实现及企业级应用实战案例。通过relation-graph的强大功能,开发者可以轻松实现类似天眼查的股权穿透效果,优化企业架构图的可视化展示与交互体验。

weixin_29098391的博客 220

别再自己画图了!用Vue + relation-graph插件,5分钟搞定组织架构图(附完整代码)

本文详细介绍了如何在Vue项目中快速集成relation-graph插件,5分钟内实现专业级组织架构图和关系图的可视化。通过零绘图基础的声明式配置、响应式设计和丰富交互,relation-graph大幅提升了开发效率,特别适合后台管理系统中的关系图需求。

weixin_27729671的博客 274

Relation Graph:一站式关系图谱展示组件

是一个非常灵活的关系图谱展示组件,支持 Vue 和 React 框架。无论你是在展示组织结构、股权架构,还是集团关系图谱,这个组件都能胜任。它不仅允许你使用普通的 HTML 元素,还支持通过插槽来自定义各种图形元素,极大地提高了自由度。这个组件还能用作一个“画板”,在上面随意放置元素,并通过定义元素连线来轻松创建连接。你甚至可以使用 API 接口实现图形的动态交互。简而言之,让你的图谱不仅能看,还能动!无论你是需要展示复杂的组织结构,还是构建交互性强的图谱应用,都是一个不可多得的好帮手。

brizer的博客 1884

AMCL代码详解(六)amcl中的重采样

每次都从w1左边的竖线开始转,显而易见,转到w1的概率为0-w1之间的随机数,转到w2的概率为w1到w1+w2之间的随机数,转到w3的概率为w1+w2到w1+w2+w3之间的随机数,后面的依次类推。当某个粒子的权值较大的时候,产生的随机数落在相应区间的概率就会增大,从而实现了对权值大粒子的多次复制,权值小的粒子的剔除。可以看出,在整个重采样的过程中,粒子进行了两次种情况的刷新,一种是随机生成的新的粒子,一种是对原来的粒子的复制。得到的值越大,说明粒子的权重越小,当前粒子的可信度比较小,需要重采样粒子。

YiYeZhiNian的博客 1579

Relation-Graph:多框架关系图谱组件的企业级可视化解决方案

Relation-Graph 是一款面向现代前端开发的多框架关系图谱组件,专为 React、Vue、Svelte 和 Web Components 技术栈设计,提供企业级关系数据可视化与编辑能力。该组件采用插槽驱动的架构设计,支持开发者使用原生 HTML 元素或框架组件完全自定义图形元素,同时具备 LLM 友好的架构特性,为复杂关系网络的可视化分析提供专业级技术支撑。 ## 技术背景与可视化架构

gitblog_00634的博客 477

地质工程师必备:Dips软件从数据导入到主结构面分析的完整流程解析

本文详细解析了地质工程师使用Dips软件进行主结构面分析的完整流程。从数据准备与导入、结构面分组与扇形区划分,到主结构面计算与工程解读,系统阐述了如何将野外节理数据转化为控制岩体稳定性的关键信息。重点介绍了利用等值线图识别优势组、计算统计主值及其置信椭圆,并强调了地质判断与工程应用结合的重要性。

table的专栏 341

优化NEXYS A7开发板(Xilinx Artix-7)Microblaze核的FLASH读写性能实战

本文针对NEXYS A7开发板(Xilinx Artix-7)上Microblaze核读写FLASH速度慢的问题,提供了系统性的优化实战指南。通过深入分析SPI控制器配置、Flash指令模式选择、Microblaze核的Cache与硬件加速器优化,以及程序运行位置(BRAM vs DDR)的调整,有效将FLASH读写性能从“龟速”提升至接近理论峰值。文章结合实测数据,为FPGA嵌入式开发者提供了清晰的性能瓶颈分析与解决方案。

carrot的博客 258

Vue3 + TypeScript项目里,如何优雅地封装和复用relation-graph关系图组件?

本文详细介绍了在Vue3 + TypeScript项目中如何优雅封装和复用relation-graph关系图组件。通过工程化搭建、核心类型定义、组件实现及高级封装技巧,提供了一套高可复用、类型安全的企业级解决方案,帮助开发者高效实现关系图谱可视化需求。

weixin_33709219的博客 218

服务器能效测试工具BenchSEE使用方法简介

BenchSEE是由中国标准化研究院开发的一款针对服务器产品能效测试的基准软件。BenchSEE基准的设计参考了全球众多服务器厂家、芯片厂家、能效认证机构和IT节能领域科研机构的意见,旨在满足服务器市场应用对能效测评的需求。BenchSEE基准负载工具支持的服务器类型包括:机架服务器、刀片服务器多节点服务器和机柜服务器等,服务器可以配的最大外理器个数包括:1P,2P和4P等。测试基准涵盖服务器关键部件:CPU,内存和存储介质三大基础部件。

MQWYY3的博客 4216

relation-graph关系图谱渲染引擎深度解析:多平台统一架构与毫秒级渲染性能优化

relation-graph是一款面向React、Vue、Svelte等多框架的关系数据可视化组件,通过创新的插槽式架构实现图形元素完全自定义,采用WebGL渲染引擎支持百万级节点实时渲染,为企业级关系图谱应用提供高性能解决方案。relation-graph的核心创新在于统一的核心模型层与多平台适配层分离架构,实现了跨框架的一致API和性能表现。 ## 技术架构深度剖析:分层设计与多平台适配机制

gitblog_00888的博客 460

【从零到一】Jetson Nano上YOLOv5部署完全攻略:零基础小白也能玩转边缘AI推理

文章摘要: 本文详细介绍了在Jetson Nano边缘设备上部署YOLOv5目标检测模型的完整流程。从硬件准备、系统镜像烧录、基础环境配置,到CUDA/cuDNN验证、Python虚拟环境搭建及PyTorch安装,逐步指导开发者完成部署准备。教程兼顾理论原理与实践操作,提供Python和C++两种实现方案,并涵盖TensorRT优化、实时检测等生产级应用场景,帮助零基础开发者快速掌握边缘AI推理技术,实现高性能目标检测应用。

LXY_LOVE36的博客 369

机器学习势能(MLPs) 第一章 基础理论与核心概念 第二章 数据生成与训练集构建

密度泛函理论(DFT)作为现代计算材料科学的基石,通过求解Kohn-Sham方程在电子结构层面提供可靠的势能面信息。然而,其计算复杂度随体系电子数呈O(N3) 至O(N4) 增长,对于包含数百个原子的体系,单点计算往往需消耗数小时至数天的计算资源。这一瓶颈严重限制了分子动力学模拟的时间尺度,传统DFT-MD通常仅能覆盖皮秒量级,远不足以观测扩散、相变等慢动力学过程。经验力场通过解析函数形式描述原子间相互作用,实现了经典力学的计算效率,但其参数化过程高度依赖物理直觉与经验调参。

VectorShift的博客 183

Vue+relation-graph实战:从零构建企业级关系图谱,解锁树形与力学布局的奥秘

本文详细介绍了如何使用Vue和relation-graph构建企业级关系图谱,涵盖树形与力学布局的实现技巧。通过实战案例展示如何快速搭建开发环境、格式化数据、定制节点样式及优化性能,帮助开发者高效实现组织架构图、股权结构图等复杂关系可视化需求。

weixin_29011667的博客 210

Supreme小程序自动化抢购终端——源码架构与执行流程全解析

本系统是一套基于开发的桌面端小程序自动化抢购终端。把只有开发者能跑的脚本,包装成普通用户也能操作的桌面工具。参数自动捕获 → 商品多关键词检索 → sku/尺码/库存映射 → 多商品任务队列 → 定时/立即抢购 → 订单创建 → 支付参数拉取 → 本地服务生成支付链接 → 手机微信扫码付款这套 Supreme 抢购终端,表面上看是一个"下单工具"。但从工程角度审视,它已经具备了一个小型桌面自动化系统GUI 层:CustomTkinter 现代化界面,线程安全业务层:多商品队列、定时调度、任务编排。

猫敷雪 203

前端思维导图实战:用relation-graph快速实现关系数据可视化

关系数据可视化是前端开发中的常见需求,无论是思维导图、组织架构还是知识图谱,本质上都是通过节点和连线来呈现数据之间的关联。面对这类场景,开发者往往要在自研渲染引擎和封装组件之间做出权衡。自研方案需要处理布局算法、交互事件和性能优化,成本较高;而成熟的组件化方案则能快速搭建可交互的关系图。relation-graph作为一款支持Vue3和React的关系数据可视化组件,内置树形布局、节点插槽自定义、展开收起、缩放拖拽等能力,能够帮助开发者以数据驱动的方式高效交付业务。本文结合实际项目,详细解析了relatio

weixin_31032799的博客 230

【无人机项目实战】第三章:fast_planner工程解读(附C++代码)

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录系列文章目录前言一、规划系统运行逻辑【业务部分】1.Fast_planner_node.cpp【程序入口】功能代码实现2.kino_replan_fsm.cpp【状态机转移】功能代码实现KinoReplanFSM::init()函数订阅目标点回调函数订阅里程计回调函数检查路径规划是否成功【重要】执行状态机FSM定时器回调函数【重要】判断目标点是否有障碍物或者是轨迹执行过程中是否有障碍物的回调函数3

qq_35635374的博客 1万+

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

一些图表的实现

本文对比了主流前端图可视化库(G6、Cytoscape.js、Relation-Graph等)的适用场景和核心能力。通过详细对比表格展示了各库在图可视化、大图性能、布局质量、交互能力等方面的差异,并提供了快速选型建议:G6适合专业关系图,Cytoscape.js擅长科研网络图,Relation-Graph是Vue项目快速实现关系图的首选。文章还包含各库的官网链接和典型代码示例,为开发者提供一站式选型参考。

青蛙king的博客 1269

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

上一篇: nodejs报错“‘CALL “C:\Program Files\nodejs\\node.exe”未被识别为内部命令或外部命令、可执行程序或命令文件
HPCQYN
博客等级 码龄4年 17粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值