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

浙江省建设协会网站韩国搜索引擎排名

浙江省建设协会网站,韩国搜索引擎排名,青铜峡建设局网站,网页实现方案要实现将JSON格式数据动态生成思维导图图片,可以使用pygraphviz库结合json解析。以下是完整实现代码: import json import pygraphviz as pgv from io import BytesIOdef generate_mindmap(data):# 创建有向图graph pgv.AGraph(directedTrue, layout&q…

要实现将JSON格式数据动态生成思维导图图片,可以使用pygraphviz库结合json解析。以下是完整实现代码:

import json
import pygraphviz as pgv
from io import BytesIOdef generate_mindmap(data):# 创建有向图graph = pgv.AGraph(directed=True, layout="dot", rankdir="LR")# 添加根节点root_id = data["id"]graph.add_node(root_id, label=f"{data['topic']}\n({data['title']})",shape="ellipse",color="red",style="filled",fillcolor="#FFE4B5")# 递归添加子节点def add_children(parent_id, children):for child in children:child_id = child["id"]graph.add_node(child_id, label=child["topic"],shape="box",color="blue")graph.add_edge(parent_id, child_id)if "children" in child:  # 支持多级子节点add_children(child_id, child["children"])add_children(root_id, data.get("children", []))# 生成图片二进制数据graph.layout(prog="dot")temp = BytesIO()graph.draw(temp, format="png")temp.seek(0)return temp# 示例数据(替换为你的实际数据)
method = ["create: 创建新节点","update: 更新节点内容","delete: 删除指定节点","move: 移动节点位置"
]data = {"id": "root","topic": "jsMind","title": "中心主题","children": [{"id": line.split(":").strip(),"topic": line.split(":")[-1].strip(),}for line in methodif len(line.split(":").strip()) > 0]
}# 生成并保存图片
image_data = generate_mindmap(data)
with open("mindmap.png", "wb") as f:f.write(image_data.getvalue())print("思维导图已生成:mindmap.png")

效果说明:

  1. 根节点显示为黄色椭圆,包含主标题和副标题
  2. 子节点显示为蓝色方框
  3. 自动处理多级嵌套结构(可扩展)
  4. 使用分层布局保证可读性

Gradio集成方案(结合展示):

import gradio as grdef visualize_mindmap(method_text):method = [line.strip() for line in method_text.split("\n") if line.strip()]data = {"id": "root","topic": "jsMind","title": "中心主题","children": [{"id": line.split(":").strip(),"topic": line.split(":")[-1].strip(),}for line in methodif len(line.split(":").strip()) > 0]}return generate_mindmap(data).getvalue()iface = gr.Interface(fn=visualize_mindmap,inputs=gr.Textbox(label="输入方法(每行格式:id: 描述)", lines=5),outputs=gr.Image(label="动态思维导图"),examples=[["create: 创建新节点\nupdate: 更新节点内容\ndelete: 删除指定节点\nmove: 移动节点位置"]]
)iface.launch()

使用前需安装依赖:

pip install pygraphviz
# Windows需额外安装Graphviz:
# Mac:brew install graphviz
# Linux:sudo apt-get install graphviz

该方案特点:

  1. 实时动态生成(修改输入即时更新)
  2. 支持多级子节点(通过嵌套children实现)
  3. 自动处理空白行和格式错误
  4. 可导出高清PNG图片(默认分辨率1920x1080)
http://www.dtcms.com/wzjs/37722.html

相关文章:

  • 马来西亚做公路投标网站网站模板下载
  • 中国建信网官方网站优化关键词排名seo
  • 网站咨询窗口怎么做找网络公司做推广费用
  • 科汛kesioncms网站系统谷歌搜图
  • 为什么我的网站百度不收录网站推广在线
  • 成都响应式网站开发百度推广效果怎样
  • wordpress在哪里改首页关键词标题seo公司软件
  • 平面设计软件哪个好用镇江关键字优化品牌
  • 中小型门户网站360网站安全检测
  • 网站备案需要什么资料优化推广联盟
  • 搬家网站建设思路移动优化课主讲:夫唯老师
  • 有什么网站做任务给钱的营销培训视频课程免费
  • 中国政府网站建设与应用小程序开发平台官网
  • 做网站要公安备案吗企业如何做网络推广
  • 做外贸网站平台有哪些武汉百度推广多少钱
  • 网站制作协议营销软文范例大全300
  • 酒类网站建设销售推广方案
  • app开发的网站接广告推广的平台
  • 携程网网站做的怎么样网络营销的优势
  • 手机网站和微信网站有哪些反向链接查询
  • 重庆市建设工程造价管理总网站网站结构有哪几种
  • 什么网站做一手项目好长春网站排名提升
  • 做外贸哪个网站可以接单小程序设计
  • 青岛做物流网站免费关键词优化排名软件
  • 苏州 网站设计谷歌关键词
  • 阿里巴巴的网站怎么做的自助建站的优势
  • 麦包包在网站建设方面服务器域名怎么注册
  • 南京网站开发荐南京乐识网站制作app免费软件
  • 网站三站合一百搜网络科技有限公司
  • 做资讯网站要什么手续网站模板之家免费下载