У меня есть следующий код, который работал в Python 2.7, используя NetworkX. В основном, это просто участки гистограммы степени узлов следующим образом:Гистограмма из NetworkX Степень Значения - Python 2 vs. Python 3
plt.hist(nx.degree(G).values())
plt.xlabel('Degree')
plt.ylabel('Number of Subjects')
plt.savefig('network_degree.png') #Save as file, format specified in argument
При попытке запуска этого же код под Python 3, я получаю следующее сообщение об ошибке:
Traceback (most recent call last):
File "filename.py", line 71, in <module>
plt.hist(nx.degree(G).values())
File "/Users/user/anaconda/envs/py3/lib/python3.5/site-packages/matplotlib/pyplot.py", line 2958, in hist
stacked=stacked, data=data, **kwargs)
File "/Users/user/anaconda/envs/py3/lib/python3.5/site-packages/matplotlib/__init__.py", line 1812, in inner
return func(ax, *args, **kwargs)
File "/Users/user/anaconda/envs/py3/lib/python3.5/site-packages/matplotlib/axes/_axes.py", line 5960, in hist
x = _normalize_input(x, 'x')
File "/Users/user/anaconda/envs/py3/lib/python3.5/site-packages/matplotlib/axes/_axes.py", line 5902, in _normalize_input
"{ename} must be 1D or 2D".format(ename=ename))
ValueError: x must be 1D or 2D
I «Теперь я начинаю путаться с Python 3, используя то, что, как я надеялся, будет довольно простым кодом. Что изменилось?
Поддержка взглядов Dict просто слился освоить https: //github.com/matplotlib/matplotlib/pull/6787 – tacaswell