Както matplotlib чрез начертаете линия ниво

крива ниво функция - крива във всяка точка, където функцията е на една и съща фиксирана стойност.

За да изготви линии ниво в Matplotlib има няколко функции, които са различни за показване дизайн формат графика и вход. По принцип, на принципа на изграждане на линии на същото ниво като в тегленето на триизмерни диаграми и графики върху неравномерно разпръснати точки. Необработените данни могат да бъдат определени в два формата:

  1. Под формата на триизмерни матрици описващи двумерен мрежа и стойността на функцията на възлите на тази мрежа. В този случай, ние използваме функции и контура contourf.
  2. Под формата на триизмерни масиви описващи произволно разположени точка на самолета и стойността на функцията на тези точки. В този случай, ние използваме функциите и tricontour tricontourf.

Първо, помислете за случаите, когато данните, дадени под формата на двуизмерни матрици. В тази статия, ние ще изготви функциите на ниво ред, определени от следната формула:

Първо изгради триизмерна графика на тази функция, за да си представите как изглежда тази функция:

внос pylab
от mpl_toolkits. mplot3d Axes3D внос
внос numpy


Def makeData # 40; # 41; :
х = numpy. обсег # 40; - 10. 10. 0.05 # 41;
у = numpy. обсег # 40; - 10. 10. 0.05 # 41;
xgrid, ygrid = numpy. meshgrid # 40; х, у # 41;

zgrid = # 40; numpy. грях # 40; xgrid * 0.3 # 41; * Numpy. косинус # 40; ygrid * 0.75 # 41; /
# 40; 1 + numpy. коремни мускули # 40; xgrid * ygrid # 41; * 0.05 # 41; # 41;
върнете xgrid, ygrid, zgrid


ако __name__ == "__main__":
X, Y, Z = makeData # 40; # 41;

фиг = pylab. фигура # 40; # 41;
оси = Axes3D # 40; смокиня # 41;

оси. plot_surface # 40; X, Y, Z # 41;

pylab. шоу # 40; # 41;

В триизмерна форма на тази функция е както следва:

Както matplotlib чрез начертаете линия ниво

ниво тираж линии

За да се конструира нивото на линия на данни, която е дефинирана във формата на триизмерни матрици (данни, разположени на възлите на правоъгълна решетка), могат да се използват функциите или contourf countour на pylab модул. Разликата между тези две функции е, че contourf. за разлика от контура. Тя изпълва областта между линии ниво плътен цвят. Тези функции са няколко опции за персонализиране на външния вид на графика, но за сега те могат да бъдат пренебрегнати и преминали към функция, само данните, за които трябва да се изгради линия ниво. Например:

внос pylab
внос numpy


Def makeData # 40; # 41; :
х = numpy. обсег # 40; - 10. 10. 0.05 # 41;
у = numpy. обсег # 40; - 10. 10. 0.05 # 41;
xgrid, ygrid = numpy. meshgrid # 40; х, у # 41;

zgrid = # 40; numpy. грях # 40; xgrid * 0.3 # 41; * Numpy. косинус # 40; ygrid * 0.75 # 41; /
# 40; 1 + numpy. коремни мускули # 40; xgrid * ygrid # 41; * 0.05 # 41; # 41;
върнете xgrid, ygrid, zgrid


ако __name__ == "__main__":
X, Y, Z = makeData # 40; # 41;
pylab. контура # 40; X, Y, Z # 41;

pylab. шоу # 40; # 41;

Резултатът ще изглежда по следния начин: