python画神经网络图

代码1(画神经网络连接图)

复制代码
from math import cos, sin, atan
import matplotlib.pyplot as plt
# 注意这里并没有用到这个networkx这个库,完全是根据matploblib这个库来画的。
class Neuron():
    def __init__(self, x, y,radius,name=None):
        self.x = x
        self.y = y
        self.radius = radius
        self.name = name

    def draw(self):
        circle = plt.Circle((self.x, self.y), radius=self.radius, fill=False)
        plt.gca().add_patch(circle)
        if(self.name is not None):
            plt.text(self.x,self.y,self.name)

#注意这个写法,现在整个图是水平的,不再是竖直的
def plotConnection(neuron1,neuron2):
    neuron_radius= neuron1.radius
    angle = atan((neuron2.y - neuron1.y)/float(neuron2.x - neuron1.x))
    x_adjustment = neuron_radius * cos(angle)
    y_adjustment = neuron_radius * sin(angle)
    line = plt.Line2D((neuron1.x + x_adjustment, neuron2.x - x_adjustment), (neuron1.y + y_adjustment, neuron2.y - y_adjustment),color="gray")
    plt.gca().add_line(line)

class Connection():
    def __init__(self,neuron1,neuron2):
        self.n1 = neuron1
        self.n2 = neuron2 
        pass

# 
radius =0.05
n1 = Neuron(1,1.1,radius,name="n1")
n1.draw()

n2 = Neuron(1,1.3,radius,name="n2")
n2.draw()

n3 = Neuron(1,1.5,radius,name="n3")
n3.draw()

n4 = Neuron(1,1.7,radius)
n4.draw()

n5 = Neuron(1,1.9,radius)
n5.draw()


n6 = Neuron(2,1.0,radius)
n6.draw()

n7 = Neuron(2,1.2,radius,name="n7")
n7.draw()

n8 = Neuron(2,1.4,radius)
n8.draw()

n9 = Neuron(2,1.6,radius,name="n9")
n9.draw()

n10 = Neuron(2,1.8,radius)
n10.draw()

n11 = Neuron(2,2.0,radius)
n11.draw()


plotConnection(n2,n7)
plotConnection(n1,n9)
plotConnection(n3,n8)
plt.axis("scaled")
plt.show()


## 现在这个地方有一个问题,就是这个图形应该是什么样子的

结果如下

相关推荐
浔川python社几秒前
浔川AI 第二次内测报告
人工智能·python·编辑器
freexyn9 分钟前
Matlab自学笔记五十三:保存save和载入load
开发语言·笔记·matlab
未来之窗软件服务14 分钟前
招标专家随机抽选——设计讲解—未来之窗智能编程——仙盟创梦IDE
开发语言·javascript·ide·仙盟创梦ide·招标系统·专家随机抽选系统
若水晴空初如梦15 分钟前
QT聊天项目DAY08
开发语言·qt
狐凄19 分钟前
Python实例题:高德API+Python解决租房问题
开发语言·python
野猪佩奇00721 分钟前
Git 使用的全流程以及SourceTree工具的使用操作和忽略文件的配置
开发语言·前端·git·sourcetree
cykaw259027 分钟前
C++ 重载
开发语言·c++
落羽的落羽31 分钟前
【落羽的落羽 C++】list及其模拟实现
开发语言·c++·list
Landy_Jay1 小时前
深度学习:图神经网络GNN、GCN及其在推荐系统的应用
人工智能·深度学习·神经网络
struggle20252 小时前
Ray开源程序 是用于扩展 AI 和 Python 应用程序的统一框架。Ray 由一个核心分布式运行时和一组用于简化 ML 计算的 AI 库组成
人工智能·python·ai