小编Aya*_*Aya的帖子

保存没有边距的matplotlib/networkx数字

当我绘制一个图形时matplotlib如何保存它而没有额外的边距?通常当我保存为

plt.savefig("figure.png") # or .pdf
Run Code Online (Sandbox Code Playgroud)

我得到了一些利润:

在此输入图像描述

例:

import matplotlib.pyplot as plt
import networkx as nx

G=nx.Graph()

G.add_edge('a','b',weight=1)
G.add_edge('a','c',weight=1)
G.add_edge('a','d',weight=1)
G.add_edge('a','e',weight=1)
G.add_edge('a','f',weight=1)
G.add_edge('a','g',weight=1)

pos=nx.spring_layout(G)
nx.draw_networkx_nodes(G,pos,node_size=1200,node_shape='o',node_color='0.75')

nx.draw_networkx_edges(G,pos,
                width=2,edge_color='b')

plt.axis('off')
plt.savefig("degree.png", bbox_inches="tight")
plt.show() 
Run Code Online (Sandbox Code Playgroud)

更新2:

这些空间设置在轴内.如果我删除,这很清楚plt.axis('off')
所以我认为有一些技巧可以用于Networkx包.

python matplotlib networkx

15
推荐指数
3
解决办法
7772
查看次数

具有随机幂律分布权重的网络

如何将幂律分布中的权重随机分配给具有大量节点的网络.

我写

import networkx as nx
import numpy as np
from networkx.utils import powerlaw_sequence

z=nx.utils.create_degree_sequence(200,nx.utils.powerlaw_sequence,exponent=1.9)
nx.is_valid_degree_sequence(z) 
G=nx.configuration_model(z)
Gcc=nx.connected_component_subgraphs(G)[0]

edgelist=[nx.utils.powerlaw_sequence(nx.number_of_edges(Gcc),exponent=2.0)]
Run Code Online (Sandbox Code Playgroud)

我知道我使用以下方法通过元组字典(node1,node2,weight)为边缘分配权重:

nx.from_edgelist(edgelist,create_using=None)
Run Code Online (Sandbox Code Playgroud)

但是当我只想获得权重是幂律分布的加权网络时,还有另一种更短的方法吗?

python networkx

6
推荐指数
1
解决办法
852
查看次数

为具有计算值NetworkX的图形编写标题

这应该是一个微不足道的问题.但我很困惑.我想在图的标题中打印由NetworkX计算的值:

y=nx.average_clustering(G)
Run Code Online (Sandbox Code Playgroud)

我应该如何正确地写行:

plt.title('<C>='y)
Run Code Online (Sandbox Code Playgroud)

标题是计算的单词和值的组合.

python matplotlib networkx

3
推荐指数
1
解决办法
1512
查看次数

在Emacs中运行cpp程序

我开始使用windows中的emacs编辑器编写cpp程序.

我想知道我需要具备哪些其他软件才能在emacs中完全运行这些程序.我需要知道在哪里找到cpp程序中包含的常见h文件以及放置它们的位置.

我迷失了谷歌搜索,需要程序员的建议.之前,我曾在CodeBlocks上工作,但现在我想切换到emacs.

c++ emacs

1
推荐指数
1
解决办法
5323
查看次数

标签 统计

networkx ×3

python ×3

matplotlib ×2

c++ ×1

emacs ×1