使用 Rough.js 创建动态水平条形图

使用Rough.js H5绘制手绘风格的图形 Rough.js是一个基于Canvas的JavaScript库,它可以帮助我们在网页上创建手绘风格的图形。通过使用Rough.js,我们可以为我们的网页添加一些独特而有趣的视觉效果。在上面的示例中,我们先获取了Canvas元素的引用,并创建了一个RoughCanvas对象。以上只是Rough.js库提供的一些基本绘图方法的示例,实际上,Rough.js还提供了许多其他有趣的功能和选项,例如绘制文本、添加阴影效果等。现在,我们可以使用Rough.js的绘图方法来创建不同类型的手绘风格图形。 阅读详情

Alt

本文由ScriptEcho平台提供技术支持

项目地址:传送门

使用 Rough.js 创建动态可视化网络图

应用场景

Rough.js 是一个 JavaScript 库,它允许开发人员使用毛边风格创建可视化效果。该库适用于各种应用程序,例如:

  • 数据可视化
  • 地图绘制
  • 用户界面设计
  • 艺术和插图

代码基本功能

本代码演示了如何使用 Rough.js 创建一个动态可视化网络图。网络图由节点和边组成,其中节点表示数据点,边表示节点之间的连接。该代码允许用户交互式地探索网络,缩放和拖动节点以查看连接和数据。

功能实现步骤

1. 加载必要的库

首先,代码加载了必要的库,包括 D3.js 和 Rough.js。D3.js 用于处理数据和创建可视化效果,而 Rough.js 用于创建毛边风格的效果。

import { onMounted } from 'vue'
import { Network } from 'rough-viz'
2. 创建节点和边

接下来,代码创建了网络图的节点和边。节点使用 createNodes 函数创建,该函数生成具有随机半径的节点。边使用 createLinks 函数创建,该函数生成连接相邻节点的边。

const createNodes = (numNodes) => {
  return d3.range(numNodes).map(() => {
    // ...
  })
}

const createLinks = (numNodes) => {
  return d3.range(numNodes - 1).map((d, i) => ({
    // ...
  }))
}
3. 创建网络图

在加载库并创建数据之后,代码使用 Network 类创建了网络图。Network 类接受一个包含网络图配置的选项对象。

new Network({
  element: '#viz4',
  data: createNodes(20),
  links: createLinks(20),
  // ...
})
4. 配置网络图选项

Network 类允许用户配置各种选项,包括:

  • collision: 节点之间的最小距离
  • radiusExtent: 节点半径的范围
  • roughness: 毛边效果的粗糙度
  • fillStyle: 节点的填充样式
  • stroke: 节点的描边颜色
  • color: 节点的颜色
  • margin: 网络图周围的边距
5. 添加交互功能

代码还添加了交互功能,允许用户缩放和拖动节点。这使用 Vue.js 的 onMounted 钩子实现,该钩子在组件挂载时触发。

onMounted(async () => {
  // ...
  new Network({
    // ...
  })
})

关键代码分析

const loadJavascript = (jsUrl) => {
  return new Promise((resolve, reject) => {
    const script = document.createElement('script')
    // ...
    document.body.appendChild(script)
  })
}

此代码用于动态加载 JavaScript 库。它创建了一个 Promise,并在加载脚本后解析。

const createNodes = (numNodes) => {
  return d3.range(numNodes).map(() => {
    const randomValue = Math.random()
    // ...
    return {
      radius: multiplier * 5,
    }
  })
}

此代码创建具有随机半径的节点。multiplier 变量用于根据节点的随机值调整半径。

const createLinks = (numNodes) => {
  return d3.range(numNodes - 1).map((d, i) => ({
    source: i,
    target: i + 1,
  }))
}

此代码创建连接相邻节点的边。source 和 target 属性指定边的源节点和目标节点。

总结与展望

开发这段代码是一个学习使用 Rough.js 创建动态可视化的过程。该代码可以扩展和优化,例如:

  • 添加对更多数据源的支持

  • 实现更复杂的交互功能,例如节点选择和过滤

  • 探索使用 Rough.js 的其他毛边效果和样式选项

    更多组件:



    获取更多Echos

    本文由ScriptEcho平台提供技术支持

    项目地址:传送门

    扫码加入AI生成前端微信讨论群:

扫码加入群聊

基于画布的手绘风格图形库 Rough.js 是一个轻量的(大约8k),基于Canvas的可以绘制出粗略的手绘风格库。提供绘制线条、曲线、弧线、多边形、圆形和椭圆的基础能力,同时支持绘制SVG路径。 阅读详情

相关推荐

强化学习经典算法笔记(九):LSTM加持的PolicyGradient算法

强化学习经典算法笔记(九):LSTM加持的PolicyGradient算法 在上文《强化学习经典算法笔记(八):LSTM加持的A2C算法解决POMDP问题》的基础上,实现了LSTM+MLP的Policy Gradient算法。 实现过程如下: import argparse, math, os, sys import numpy as np import gym from gym import wrappers import matplotlib.pyplot as plt import torch fr

hhy_csdn的博客 5636

Rough.js:创建手绘、草图外观的图形

是一个小型的(

前端全栈开发者 977

【ESP32】SPI SRAM memory test fail。External RAM failed memory test!

log日志报错如下:这两条报错信息表明外部 SPI SRAM(静态随机存取存储器)的内存测试失败。

weixin_56217406的博客 1024

手把手教你实现手绘风格图形

Rough.js是一个手绘风格的图形库,提供了一些基本图形的绘制能力,比如: 虽然笔者是个糙汉子,但是对这种可爱的东西都没啥抵抗力,这个库的使用本身很简单,没什么好说的,但是它只有绘制能力,没有交互能力,所以使用场景有限,先来用它画个示例图形: import rough from 'roughjs/bundled/rough.esm.js' this.rc = rough.canvas(this.$refs.canvas) this.rc.rectangle(100, 150, 300

sinat_33488770的博客 611

深入学习FIFO

深入理解FIFO、同步FIFO和异步FIFO、FIFO设计的难点以及FIFO深度计算

好好学习,天天向上 2648

echarts实现3D地图——map3D

【代码】echarts实现3D地图——map3D。

xiaoququ的博客 7323

Rough.js 常见问题解决方案

Rough.js 常见问题解决方案 【免费下载链接】rough Create graphics with a hand-drawn, sketchy, appearance 项目地址: https://gitcode.com/gh...

gitblog_00822的博客 739

Ubuntu 24.04 搭建 Squid 代理服务器终极指南:从入门到 HTTPS 缓存AI模型

本文详细指导在Ubuntu 24.04系统部署Squid代理服务器,实现AI大模型文件的高效缓存。重点内容包括:1) 安装squid及必备的squid-openssl扩展包;2) 配置HTTPS拦截(SSL-Bumping)功能,创建CA证书和SSL数据库;3) 优化缓存策略,设置4TB存储空间并强制缓存常见大文件格式;4) 结合华为防火墙实现透明代理。文章特别强调实际部署中的关键注意事项和常见错误解决方案,如证书路径配置、权限设置等问题,帮助用户快速搭建企业级缓存代理服务。

zlt315的博客 1920

使用RoughViz可视化Vue.js中的草绘图表

介绍 图表是数据的图形表示,用于使数据集更易于阅读,并且易于区分各部分。虽然大多数用户习惯于看到简洁而正式的图表,但一些用户更喜欢看到手绘或素描的图表,这就是roughViz的用武之地。 roughViz是一个基于D3.js和Rough.js的JavaScript库。该库旨在帮助构建看起来像草图或手绘图的图表,如下例所示。 在本指南中,你将学习如何使用vue-roughviz在Vue.js应用程序中显示类似草图的图表,以及如何使用vue-cli配置Vue应用程序。 先决条件 本教程假定满足以下先决条件:.

前端全栈开发者 553

数学分析五领域全景:实分析、复分析、泛函分析、傅里叶分析、凸分析

五种分析,五种视角,同一个目标。理解一个系统,首先要找到它的不变量。

li880862的博客 192

Python开发MCP Client

全部例子只是MCP Client访问MCP Server的过程,那么这样其实就失去了MCP协议的创建的初衷,和大模型集成后才能发挥MCP最大的作用。

Criss@陈磊 2973

html5 手绘效果,浅谈基于Canvas的手绘风格图形库Rough.js

前言推荐一个基于canvas的手绘风格图形js库。rough.jsrough.js是一个轻量的(大约8k),基于canvas的可以绘制出粗略的手绘风格库。提供绘制线条、曲线、弧线、多边形、圆形和椭圆的基础能力,同时支持绘制svg路径。github:安装下载链接npmnpm install --save roughjs使用方法const rc = rough.canvas(document.gete...

weixin_36125921的博客 617

猿创征文|Qt 文件和目录应用讲解【QCoreApplication】【QFile、QFileInfo】【QTemporaryDir和QTemporaryFile】【QDir】【QFileSyste】

Qt 文件和目录精准讲解【QCoreApplication】【QFile、QFileInfo】【QTemporaryDir和QTemporaryFile】【QDir】【QFileSyste】【QFileDialog】 第一章 QCoreApplication类 第一节 QCoreApplication常用函数方法 第二节 QCoreApplication举例 第二章 QFile类 第一节 静态函数方法 第二节 成员函数方法 第三章 QFileInfo类 第一节 常用函数方法 第四章 QDir类

Qt历险记,专注Qt技术,三年医疗设备研发经验,1年机器视觉研发经验,半年柔性传感研发经验。 942

5分钟上手Rough.js:打造惊艳手绘风格Canvas与SVG图形的终极指南

Rough.js是一款强大的JavaScript库,能够帮助开发者轻松创建具有手绘风格的图形。无论是Canvas还是SVG,Rough.js都能为你的项目增添独特的艺术感,让呆板的几何图形瞬间变得生动有趣。 ## 🎨 什么是Rough.js? Rough.js是一个轻量级的开源库,它通过模拟手绘笔触的不规则性,为标准几何图形添加自然的"粗糙感"。项目核心代码位于[src/rough.ts](

gitblog_01088的博客 539

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

探索创新的绘图库:Rough.js

探索创新的绘图库:Rough.js 【免费下载链接】rough 项目地址: https://gitcode.com/gh_mirrors/rou/rough 是一个轻量级且富有创意的JavaScript库,...

gitblog_00025的博客 436

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

rough set_Rough.js使用Canvas和SVG制作手绘图形

令人惊奇的是,浏览器内的SVG等动态元素已经使网络发展了很多。 您可以使用正确的库设计从自定义动画到HTML5游戏的所有内容。 Rough.js是值得测试的最新库之一 。 这是一个免费的图形生成脚本,当前处于beta中, 可用于canvas和SVG元素 。 您可以在代码中构建自定义图标,条形图以及几乎所有您想要的东西。 并且,最终结果具有华丽的手绘效果 。 另请阅读: 20个有用的...

cune1359的博客 462

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

30分钟上手Rough.js:让你的Web图形秒变手绘风格的实用指南

你是否厌倦了网页上过于完美的几何图形?是否想让数据可视化更具温度和个性?Rough.js正是解决这一痛点的轻量级图形库,只需几行代码就能将生硬的线条转化为富有艺术感的手绘效果。本文将带你从安装到高级定制,全面掌握这个神奇库的使用方法,读完后你将能够:快速集成Rough.js到现有项目、定制多种手绘风格、解决常见兼容性问题,并了解如何扩展其填充模式。 ## 初识Rough.js:小而美的手绘风格引...

gitblog_00944的博客 721

探索Rough.js:手绘风格图形的魔法库

探索Rough.js:手绘风格图形的魔法库 【免费下载链接】rough Create graphics with a hand-drawn, sketchy, appearance 项目地址: https://gitcode.com/gh_mirrors/ro/r...

gitblog_00047的博客 1160

Rough.js入门指南:手绘风格图形库的全面介绍

Rough.js入门指南:手绘风格图形库的全面介绍 【免费下载链接】rough Create graphics with a hand-drawn, sketchy, appearance 项目地址: https://gitcod...

gitblog_00100的博客 487

爆火开源库!20K星标,一键让网页设计秒变手绘风

今天必须给大伙说说一个超有意思的开源库,在GitHub上已经斩获20K星标啦,它能轻松给网页设计加上手绘风格的“滤镜”,让页面瞬间告别千篇一律,充满艺术感!

Java潘老师 1177

使用 Rough.js 创建动态可视化网络图

开发这段代码是一个学习使用 Rough.js 创建动态可视化的过程。该代码可以扩展和优化,例如:添加对更多数据源的支持实现更复杂的交互功能,例如节点选择和过滤探索使用 Rough.js 的其他毛边效果和样式选项更多组件:获取更多Echos本文由ScriptEcho平台提供技术支持传送门。

ScriptEcho的博客 525

推荐开源项目:Rough.js - 手绘风格的图形新纪元

推荐开源项目:Rough.js - 手绘风格的图形新纪元 【免费下载链接】rough Create graphics with a hand-drawn, sketchy, appearance 项目地址: https://git...

gitblog_00746的博客 443

手绘风格图形库Rough.js:从源码到生产环境的完整构建指南

Rough.js是一个轻量级(小于9kB)的图形库,让你能够以**手绘风格**、**素描般**的效果绘制图形。该库支持Canvas和SVG两种渲染方式,提供线条、曲线、多边形、圆形等多种基本图形绘制功能。 ## 🛠️ 项目环境准备与依赖安装 在开始构建Rough.js之前,首先需要克隆项目仓库: ```bash git clone https://gitcode.com/gh_mirror

gitblog_01042的博客 1129

手绘风格渲染终极指南:Rough.js核心功能深度解析

Rough.js是一款强大的JavaScript库,让开发者能够轻松创建具有手绘风格的图形元素。无论是网页设计、数据可视化还是交互式应用,Rough.js都能为你的项目增添独特的艺术感和个性魅力。通过简单的API,你可以快速实现各种手绘效果,让普通的图形瞬间变得生动有趣。 ## 什么是Rough.js? Rough.js是一个开源的JavaScript库,它允许你在网页上创建看起来像是手绘的图

gitblog_00286的博客 1141

JavaScript手绘风格的图形库RoughJS使用指南

RoughJS是一个轻量级的JavaScript图形库(压缩后约9KB),可以让你在网页上绘制素描风格、手绘样式般的图形。RoughJS定义了绘制直线,曲线,圆弧,多边形,圆和椭圆的图元,同时它还支持绘制SVG路径。 这里是它的项目网站地址:https://roughjs.com/ RoughJS可以同时在Canvas和SVG上工作,这是一个非常实用的特性。 安装 最新的Ro...

645

手绘风格图形终极指南:用Rough.js为设计注入生命力

想要为你的网页应用添加独特的手绘风格吗?Rough.js 是一个轻量级(小于9KB)的图形库,专门用于创建具有手绘、素描风格的图形效果。这个强大的JavaScript库支持Canvas和SVG两种渲染方式,让你轻松实现自然随意的视觉效果。 ## 🎨 什么是Rough.js手绘风格 Rough.js 的核心功能是生成看似手绘的图形元素,包括线条、曲线、弧线、多边形、圆形和椭圆。与传统完美平滑的

gitblog_01037的博客 941
上一篇: 使用 Rough.js 创建动态可视化网络图
ScriptEcho
博客等级 码龄3年 1304粉丝 150原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值