Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x networkx和dict_值导致浮点参数错误_Python 3.x_Networkx - Fatal编程技术网

Python 3.x networkx和dict_值导致浮点参数错误

Python 3.x networkx和dict_值导致浮点参数错误,python-3.x,networkx,Python 3.x,Networkx,我试图按照下面发布的教程中给出的代码“再现性”进行操作,但在第一次尝试draw()可视化时,我被卡住了 import networkx as nx import matplotlib.pyplot as plt import matplotlib.colors as mcolors def draw(G, pos, measures, measure_name): nodes = nx.draw_networkx_nodes (G, pos, node_size=250,

我试图按照下面发布的教程中给出的代码“再现性”进行操作,但在第一次尝试draw()可视化时,我被卡住了

import networkx as nx
import matplotlib.pyplot as plt
import matplotlib.colors as mcolors
def draw(G, pos, measures, measure_name):
    nodes = nx.draw_networkx_nodes
        (G, pos, node_size=250,cmap=plt.cm.plasma, 
        node_color=measures.values(),
        nodelist=measures.keys())
    nodes.set_norm(mcolors.SymLogNorm(linthresh=0.01, linscale=1))
    edges = nx.draw_networkx_edges(G, pos)
    plt.title(measure_name)
    plt.colorbar(nodes)
    plt.axis('off')
    plt.show()
G = nx.karate_club_graph()
pos = nx.spring_layout(G)
draw(G, pos, nx.degree_centrality(G), 'Degree Centrality')
回溯始终显示错误: float()参数必须是字符串或数字,而不是“dict_values”

基于此,

我认为这是Python3的问题。我试过了

draw(G, np.array(list(pos.values())).astype(float), 
nx.degree_centrality(G), 'Degree Centrality')

但我还是犯了同样的错误。有什么建议吗?

该代码在python2.7上运行良好。
原因是Python2和Python3之间的
measures.values()类型不同。
事实上,在Python2.7中,dict.values返回列表,而在Python3.x中,它返回字典值的视图

d={"k":"v"}
#python 2.7
type(d.values())  --->  <type 'list'>
#python 3.x
type(d.values())  --->  <class 'dict_values'>

该代码在python2.7中运行良好。
原因是Python2和Python3之间的
measures.values()类型不同。
事实上,在Python2.7中,dict.values返回列表,而在Python3.x中,它返回字典值的视图

d={"k":"v"}
#python 2.7
type(d.values())  --->  <type 'list'>
#python 3.x
type(d.values())  --->  <class 'dict_values'>

你能提供一个简单的例子来重现问题吗?我复制了教程并在问题中发布了代码。你能提供一个简单的例子来重现问题吗?我复制了教程并在问题中发布了代码。太棒了!我不知道是什么把它绊倒了!谢谢杰出的我不知道是什么把它绊倒了!谢谢