Мне нужно извлечь точки данных из контурного графика.Я уже сделал следующее: matplotlib - извлечение данных из контурных линий
Но несколько недель назад я обновил python, и теперь код не запускается.Я проверил попытку запуска старого кода, который работал правильно, и он также получает сообщение об ошибке.
Вот пример кода:
%matplotlib inline
from numpy import arange
from numpy import pi
import matplotlib.pyplot as plt
import numpy as np
pos = np.logspace(-5,-1,10)
tends = np.logspace(-4,-1,10)
zz = [f(p,t) for p in pos for t in tends]
zz = np.reshape(zz,(ii,ii))
plt.xscale('log')
plt.yscale('log')
cs = plt.contour(pos,tends,zz,1)
p = cs.collections[0].get_paths()[0]
v = p.vertices
xcol1 = v[:,0]
ycol2 = v[:,1]
и ошибка:
IndexError Traceback (most recent call last)
<ipython-input-153-3cef0e58f7bb> in <module>
2 plt.yscale('log')
3 cs = plt.contour(pos,Tends,zz,1)
----> 4 p = cs.collections[0].get_paths()[0]
5 v = p.vertices
6 xcol1 = v[:,0]
IndexError: list index out of range
Я пытался сделать:
p = cs.collections[0].get_paths()
Но вернулось, что p было [] пусто.Итак, я не знаю, что еще делать, я не очень знаком с этим.
Заранее спасибо!