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

phpstudy做网站运营的坏处2021年近期舆情热点话题

phpstudy做网站运营的坏处,2021年近期舆情热点话题,哔哩哔哩网页版怎么缓存,wordpress 手动删除插件绘制nx.Graph时报错TypeError: _AxesStack object is not callable 写在最前面知识图谱可视化预期报错可能的原因 原代码原因确认解决后的代码解决! 写在最前面 实现一个简单的知识图谱的可视化功能。 使用了NetworkX库来构建知识图谱,并使用matplotlib…

绘制nx.Graph时报错TypeError: '_AxesStack' object is not callable

  • 写在最前面
    • 知识图谱可视化
    • 预期
    • 报错
    • 可能的原因
  • 原代码
  • 原因确认
  • 解决后的代码
  • 解决!

写在最前面

实现一个简单的知识图谱的可视化功能。
使用了NetworkX库来构建知识图谱,并使用matplotlib库来绘制图形。

过几天将发布关于#通过noe4j可视化知识图谱#的文章
细节上还在优化

题外话,构建知识图谱真的好慢啊,尤其是自动构建实体之间的关系,代码要跑好久好久
而且不算论文中的创新点,感觉有点鸡肋

知识图谱可视化

知识图谱可视化是将知识图谱的数据以图形化的方式展示出来,以便更加直观地理解、分析和探索知识图谱中的关系与信息。

可以通过交互式的图形界面,对知识图谱中的关系和概念进行探索和分析,并且能够自由地从宏观到微观地进行导航和浏览。

可以应用于搜索引擎、推荐系统、医学研究、商业智能、社交网络、金融分析等领域。

预期

绘制nx.Graph()的graph

报错

TypeError: ‘_AxesStack’ object is not callable

nx.draw(graph, pos, with_labels=True, node_size=3000, font_size=12, node_color='skyblue', font_weight='bold', alpha=0.8, linewidths=0, edge_color='gray')9 plt.title("Knowledge Graph")10 plt.show()File D:\Program\Anaconda\lib\site-packages\networkx\drawing\nx_pylab.py:113, in draw(G, pos, ax, **kwds)111 cf.set_facecolor("w")112 if ax is None:
--> 113     if cf._axstack() is None:114         ax = cf.add_axes((0, 0, 1, 1))115     else:TypeError: '_AxesStack' object is not callable<Figure size 1000x800 with 0 Axes>

可能的原因

这个错误是由于在绘制图形时调用了一个不可调用的对象 _AxesStack,通常这与与变量或函数名冲突有关。检查你的代码是否有其他地方使用了名为 pltax 的变量或函数,导致了该错误。

以下是可能导致问题的一些常见原因和解决方法:

  1. 确保 plt 是 Matplotlib 的 pyplot 对象,并且没有在其他地方被重新定义。在使用 plt 之前,可以尝试在代码的开头添加 import matplotlib.pyplot as plt

  2. 确保没有将变量名 ax 分配为 Axes 对象。Axes 对象是由 plt.subplots()plt.add_axes() 等函数返回的,因此如果使用 ax 作为一个普通变量,可能会导致冲突。

  3. 可能是代码中的其他部分修改了 Matplotlib 的默认行为,导致 AxesStack 不可调用。请检查在绘制图形之前是否有任何涉及 Matplotlib 的自定义设置或修改。

在确认以上问题之后,可以尝试修改代码,并确保绘图部分没有与之前提到的问题冲突,从而避免该错误的出现。

原代码

定义了一个名为draw_graph的函数,该函数接受一个图形对象作为参数,并在绘图中显示该图形。main函数创建了一个空的图形对象,并添加了一些节点和边。

import networkx as nx
import matplotlib.pyplot as pltdef draw_graph(graph):pos = nx.spring_layout(graph, seed=42)# 下面这行代码有问题,已修改为# fig, ax = plt.subplots(figsize=(10, 8))plt.figure(figsize=(10, 8))nx.draw(graph, pos, with_labels=True, node_size=3000, font_size=12, node_color='skyblue', font_weight='bold', alpha=0.8, linewidths=0, edge_color='gray')plt.title("Knowledge Graph")plt.show()def main():# 假设已构建好知识图谱graph = nx.Graph()graph.add_nodes_from(["Entity1", "Entity2", "Entity3"])graph.add_edges_from([("Entity1", "Entity2"), ("Entity2", "Entity3")])draw_graph(graph)if __name__ == "__main__":main()

原因确认

我遇到的是第二个原因:因为与 Matplotlib 的 Axes 对象(ax)冲突。

为了解决这个问题,尝试在绘制图形时明确指定 Axes 对象。在 plt.subplots() 中创建一个新的 Axes 对象,然后将其传递给 nx.draw() 函数。

解决后的代码

import networkx as nx
import matplotlib.pyplot as pltdef draw_graph(graph):pos = nx.spring_layout(graph, seed=42)  # You can use different layout algorithmsfig, ax = plt.subplots(figsize=(10, 8))nx.draw(graph, pos, with_labels=True, node_size=3000, font_size=12, node_color='skyblue', font_weight='bold', alpha=0.8, linewidths=0, edge_color='gray', ax=ax)ax.set_title("Knowledge Graph")plt.show()def main():# 假设已构建好知识图谱graph = nx.Graph()graph.add_nodes_from(["Entity1", "Entity2", "Entity3"])graph.add_edges_from([("Entity1", "Entity2"), ("Entity2", "Entity3")])draw_graph(graph)if __name__ == "__main__":main()

解决!

在这里插入图片描述

http://www.hkea.cn/news/956323/

相关文章:

  • wordpress内容主题模板网络网站推广选择乐云seo
  • 电子元器件商城网站建设百度开户怎么开
  • 企业网站开发基本流程百度博客收录提交入口
  • 甘特图模板关于网站建设微信营销模式
  • 网站建设的swot分析长尾关键词挖掘精灵
  • 发布自己的做家教的网站网店运营推广登录入口
  • b s网站系统如何做性能测试百度推广运营怎么做
  • 洛阳seo外包公司费用seo的中文意思
  • 政府网站建设遵循的原则seo网站内容优化
  • java做网站具体步骤邵阳seo优化
  • 自己做的网站如何放进服务器今天今日头条新闻
  • 男装网站的网站建设背景惠州seo按天计费
  • 如何快速提高网站排名互联网项目推广
  • icp备案网站名称更改成都网站设计
  • 企业网站建设需求分析seo排名资源
  • python基础教程雪峰东莞搜索seo网站关键词优化
  • b2b网站开发供应商小程序开发教程全集免费
  • 用自己的手机做网站外链网站是什么
  • 市场调研公司介绍网站推广优化公司
  • 玉溪人民政府网站建设现状新网站seo
  • 湖南餐饮网站建设2023北京封控了
  • 重庆网站设计人员外贸网站搭建推广
  • 局域网内的网站建设西安网站建设公司排名
  • 普通网站报价多少中南建设集团有限公司
  • 蚌埠做网站哪家好全网营销国际系统
  • 沈阳市网站制作谷歌香港google搜索引擎入口
  • 做美食网站的背景高端网站建设制作
  • 文件什么上传到wordpress泉州seo技术
  • 网站地址地图怎么做网页制作的软件有哪些
  • 如何用万网建设网站口碑营销策划方案