Съвети за това как да се направи графика с контурите в Gnuplot, GRI и pylab

Вече говорихме за това как да се покаже двуизмерни данни с използване на равни повърхности Gnuplot. Днес ще ви покажа още един начин да се покаже на двуизмерни данни в таблицата: с контурни линии. точно както определената височина върху картите.

Ще покажем как да го направя по примера на само три безплатни инструменти: Gnuplot. GRI и matplotlib (известен още като pylab). Именно тези три програми аз най-често. Текстът ще осигури връзки към пълния сценария се използва за генериране на графиката, обясни същият ще бъде най-основните. Всички графики ще строят в chornobelom вариант, като се има EPS формат. Илюстрации за тази статия са получили последващи конвертиране EPS към PNG.

Така че, даден: sampledata.txt файл с данни. стойности на X, Y, Z в три колони, масива от 80 х 80 пиксела, всеки следващ "колона" мрежа (следните стойност X) се отделя от предишното от празен ред. Файловете от този формат използва Gnuplot (за ГИО и pylab нужда да конвертирате формат). Цел: да се конструира крива с контури на постоянен Z стойност.

Така че, начина, по който на първо място,

ние парцел контур в Gnuplot

Тук всичко е лесно. Изключването на повърхността на строителната включват изграждане на контури, включват "отгоре", изберете нива Velim автоматично: зададено повърхност
комплект контур
комплект вижте карта
определени нива cntrparam авто 10 Можете да настроите нивата и контурите ръчно: определени нива cntrparam дискретна Level 1, Level 2, Ниво 3, ... Сега екипът
splot "sampledata.txt" w л ще изгради контур графика. И това е, което резултатът е в Gnuplot по подразбиране:

Съвети за това как да се направи графика с контурите в Gnuplot, GRI и pylab

(Пускам Gnuplot като: $ Gnuplot plotiso_gnulot.txt)

ние парцел контур в GRI

Честно казано, мисля, че се справя по-добре от GRI контури Gnuplot. Както и да е, тук, за разлика от Gnuplot, стойностите могат да бъдат директно върху етикета изолиниите и съществува реална възможност за контрол на цветовете контурите при запазване на ЕЕС (потребителите Gnuplot на това място ще бъде изненада). Така GRI инструмент остава достатъчно прост за разбиране.

Малък пречка се крие само в това, че трябва да конвертирате формата на данните. Gri искам всеки ред данни е била отделена като отделен ред във файла, а точките са разделени с интервал. Тук аз използвам тази възможност, за GRI, като четене на данни от UNIX "халфпайп", и да направи всички необходими превръщането в движение с помощта AWK: отворен "AWK" / [^ S] / / ^ \ S * $ / "Sampledata.txt |"
четат данни мрежа 80 80 bycolumns
Сграда в близост самата контура е съвсем проста: изчертаване на хоризонтали Това е, което получава GRI:

Съвети за това как да се направи графика с контурите в Gnuplot, GRI и pylab

(Gri Тичах така: $ GRI -b -output iso_gri.eps

изграждане на контури в matplotlib / pylab

matplotlib - библиотека за питон. Тя може да се използва или интерактивно, като се започне ipython -pylab. и в рамките на нормалното сценарий; Синтаксис заговор близо до MATLAB на синтаксиса, но можете да използвате пълните възможности на Python. А възможности в matplotlib много приличен.

Изолиниите са конструирани с един команда: cset = контур (X, Y, Z), където X, Y, Z - трябва да двуизмерни масиви от същия размер. В допълнение, в сценария Изключих подразбиране оцветяване контурни линии да изготви всички хоризонтали черно (цветове опция = "черна"). Други възможности за използване на контура може да се намери в помощ на контура. ако ви свършат ipython -pylab.
Друг екип допринася за подписването на контурни линии: clabel (cset, FMT = "% 1.1f", размер на шрифта = 9) Запазване на резултата в желания формат на файла, също просто: savefig ( "pylab.eps") Останалата част от линиите в сценария - това е превръщането на формат на данните Python инструменти. Освен това: новите версии SciPy този скрипт може да бъде значително опростени, ако използваме loadtxt (функция). зареждане на данни от текстов файл. Това, което трябва. Това е, което се случва в края:

Съвети за това как да се направи графика с контурите в Gnuplot, GRI и pylab

(I изпълните скрипта така: $ питон plotiso_pylab.txt)


Разбира се, изборът на конкретен инструмент - въпрос на удобство (изисквания на разположение формат данни за тънкостите на графични настройки, времето на разположение, използването на опита). Исках да покажа, че има много да избирате, както и за изграждане на линии парцел контурни с някой от трите програми преразгледани - въпрос на два или три реда. За подобряване на резултатите и да коригира тънкостите на дисплея могат да бъдат дълги. По мое мнение, в случая на контурни GRI matplotlib и да предостави повече възможности.

Вижте също .: