Mayavi: Jupyter ๋…ธํŠธ๋ถ์˜ ์žฅ๋ฉด์ด ์ธํ„ฐ๋ฆฌ๋ธŒ๋จ

์— ๋งŒ๋“  2016๋…„ 10์›” 26์ผ  ยท  10์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: enthought/mayavi

x3d ๋ฐฑ์—”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ jupyter ๋…ธํŠธ๋ถ์—์„œ ํ•œ ์žฅ๋ฉด์„ ์ฐจ๋ก€๋กœ ํ”Œ๋กฏํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ผ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
screen shot 2016-10-26 at 14 29 14

์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? (Out[8]์˜ ๋ฉ”์‰ฌ ์ค‘์•™์— Out[2]์˜ ๋ฉ”์‰ฌ๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.)

์ถ”์‹ : ๊ทธ๊ฒŒ ์ค‘์š”ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” VirtualGL์˜ ์›๊ฒฉ ์ปดํ“จํ„ฐ์—์„œ jupyter ๋…ธํŠธ๋ถ ์„œ๋ฒ„๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์•ˆ๋…•ํ•˜์„ธ์š” ์—ฌ๋Ÿฌ๋ถ„,

์ด ๋‹ซํžŒ ๋ฌธ์ œ์— ์ถ”๊ฐ€ํ•ด์„œ ์ฃ„์†กํ•˜์ง€๋งŒ ํ”„๋กœ์ ํŠธ์— ํ”ผ๋“œ๋ฐฑ์„ ์ค„ ์ˆ˜ ์žˆ๋Š” ์ข‹์€ ๊ธฐํšŒ๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค.
๋ฐฉ๊ธˆ x3d๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ jupyter ๋…ธํŠธ๋ถ ํ†ตํ•ฉ์„ ํ…Œ์ŠคํŠธํ–ˆ์œผ๋ฉฐ ๋ช‡ ๊ฐ€์ง€ ๋”ธ๊พน์งˆ ํ›„์— ์ž‘๋™ํ•˜๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  @thoth291 ๊ณผ ๊ฐ™์€ ๋Š๋‚Œ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. Mayavi๊ฐ€ ์•”๋ฌต์ ์œผ๋กœ ์ƒˆ ์…€์— ๋Œ€ํ•œ ์ƒˆ ๊ทธ๋ฆผ์„ ์ƒ์„ฑํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด %matplotlib ์ธ๋ผ์ธ ๋ฐฑ์—”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” matplotlib์˜ ๊ธฐ๋ณธ๊ฐ’์ด๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์„ ์˜ˆ์ƒํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ๋ฐ˜๋Œ€์˜ ๊ฒฝ์šฐ๋„ ์ฃผ์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. %matplotlib ๋…ธํŠธ๋ถ ๋ฐฑ์—”๋“œ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๋ช…์‹œ์ ์œผ๋กœ ๊ทธ๋ฆผ์„ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ ๊ทธ๋ฆฌ๊ธฐ ์ž‘์—…์€ ์ด์ „์— ์—ด๋ฆฐ ๊ทธ๋ฆผ์œผ๋กœ ์ˆ˜ํ–‰๋˜๋ฉฐ, ๋•Œ๋•Œ๋กœ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋†€๋ผ์šด ๊ฒฐ๊ณผ๋ฅผ ์ œ๊ณตํ•จ).

์š”์•ฝํ•˜์ž๋ฉด ๋‹ค๋ฅธ matplotlib ๋ฐฑ์—”๋“œ๋Š” ์ƒˆ ๊ทธ๋ฆผ ์ƒ์„ฑ๊ณผ ๊ด€๋ จํ•˜์—ฌ ๋‹ค๋ฅด๊ฒŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž์˜ ์ž…์žฅ์—์„œ๋Š” ์ˆซ์ž๊ฐ€ ์…€์— ๋ฌถ์—ฌ ์žˆ์œผ๋ฉด ๋” ์‰ฌ์šธ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ %matplotlib ๋…ธํŠธ๋ถ ์ œ์•ˆ์„ ๋”ฐ๋ฅด๋ฉด ๋‹ค์Œ ์›Œํฌํ”Œ๋กœ๋ฅผ ๋”ฐ๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

fig = mlab.figure() # create new figure
s = mlab.test_triangular_mesh() # draw something on it
fig # display figure

์ด๊ฒƒ์€ ์‹ค์ œ๋กœ ์ž‘๋™ํ•˜๋ฏ€๋กœ jupyter ๋…ธํŠธ๋ถ์„ ๋ฌธ์„œํ™”ํ•˜๋Š” ํŒ ๋ฐ ํŠธ๋ฆญ ์„น์…˜(http://docs.enthought.com/mayavi/mayavi/tips.txt)๊ณผ ํ•จ๊ป˜ ์ด ์ž‘์—… ๋ฐฉ์‹์œผ๋กœ ์˜ˆ์ œ ๋…ธํŠธ๋ถ์˜ ํ˜•์‹์„ ๋‹ค์‹œ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. HTML).

์–ด์จŒ๋“  ์ด ๋ฐฑ์—”๋“œ๊ฐ€ ์กด์žฌํ•œ๋‹ค๋Š” ๊ฒƒ์ด ๋Œ€๋‹จํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค๊ณ  ๋ง๋ถ™์ด๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. @prabhuramachandran @GaelVaroquaux ์˜ ๋…ธ๊ณ ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค!

์นœ์• ํ•˜๋Š”,
ํ”Œ๋กœ๋ฆฌ์•ˆ

๋ชจ๋“  10 ๋Œ“๊ธ€

์ƒˆ ์…€์— ์ƒˆ ๊ทธ๋ฆผ์„ ๋งŒ๋“ค์–ด ๋ณด์…จ์Šต๋‹ˆ๊นŒ?

๋‚˜๋Š” ์ค‘๊ฐ„์— ์ด๊ฒƒ์„ mlab.clf() ํ–ˆ๊ณ  ๋„์›€์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋” ์ด์ƒ ์ธํ„ฐ๋ฆฌ๋น™์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
@GaelVaroquaux ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

๋ฒ„๊ทธ์ธ๊ฐ€์š” ์•„๋‹ˆ๋ฉด ๊ธฐ๋Šฅ์ธ๊ฐ€์š”? ์ด์ œ ๋ชจ๋“  ์Šคํฌ๋ฆฝํŠธ์—์„œ ๊ทธ๋ฆผ์„ ์ง€์›Œ์•ผ ํ•ฉ๋‹ˆ๊นŒ?

@thoth291 -- ์ด๊ฒƒ์€ ๋…ธํŠธ๋ถ ์—†์ด ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. mlab ๋Š” ํ™”๋ฉด์„ ์ž๋™์œผ๋กœ ์ง€์šฐ์ง€ ์•Š์œผ๋ฉฐ ์ง์ ‘ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. BTW, VirtualGL์„ ์‚ฌ์šฉํ•œ ์„ค์ •์ด ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ํ•˜๋“œ์›จ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์›๊ฒฉ ์‹œ์Šคํ…œ์—์„œ VirtualGL์„ ์–ด๋–ป๊ฒŒ ์„ค์ •ํ–ˆ์Šต๋‹ˆ๊นŒ? ์ด๊ฒƒ์€ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ๋„ ์œ ์šฉํ•  ๊ฒƒ์ด๋ฉฐ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ๋ฌธ์„œ์— ์ถ”๊ฐ€ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๋ฌธ์ œ๊ฐ€ ์•„๋‹ˆ๋ผ mlab์ด ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹์ด๋ฏ€๋กœ ์ง€๊ธˆ์€ ์ด ๋ฌธ์ œ๋ฅผ ๋‹ซ์Šต๋‹ˆ๋‹ค.

๋ถˆํ–‰ํžˆ๋„ ๋‚˜๋Š” ์„ค์ •์„ ํ•œ ์‚ฌ๋žŒ์ด ์•„๋‹™๋‹ˆ๋‹ค.
์ œ๊ฐ€ ๋งํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ 60๊ฐœ์˜ ์ฝ”์–ด, ์ถฉ๋ถ„ํ•œ RAM ๋ฐ ์šฐ์ˆ˜ํ•œ GPU๊ฐ€ ํƒ‘์žฌ๋œ HPC Intel ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ vnc ์„œ๋ฒ„๊ฐ€ ์‹คํ–‰๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” Tigervnc๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  VirtualGL ๋ฐฑ์—”๋“œ๋กœ ์„ค์ •ํ•œ ์„œ๋ฒ„๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. vnc ํด๋ผ์ด์–ธํŠธ์— ์žˆ๋Š” ๋™์•ˆ ์‚ฌ์šฉ์ž ์ง€์ • ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•ฑ์„ ์‹คํ–‰ํ•˜์—ฌ OpenGL์„ ๊ฐ€๋กœ์ฑ„๊ณ  VirtualGL๋กœ ๊ต์ฒดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ œ ๊ฒฝ์šฐ์—๋Š” ํ•ด๋‹น ์Šคํฌ๋ฆฝํŠธ๊ฐ€ vnc3d๋ผ๊ณ  ํ•˜๊ณ  ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

vnc3d jupyter notebook

์ด ์„ค์ •์€ ์šฐ๋ฆฌ์—๊ฒŒ ์™„๋ฒฝํ•˜๊ฒŒ ์ž‘๋™ํ•˜๋ฉฐ ์„ฑ๊ฐ€์‹  ์œ ์ผํ•œ ์ ์€ OpenGL์„ ๋‹ค๋ฃฐ ๋•Œ๋งˆ๋‹ค ์ด vnc3d ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋ช…๋ น ์•ž์— ์ถ”๊ฐ€ํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๊ธฐ์–ตํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค...

@prabhuramachandran , Jupyter ์‚ฌ์šฉ์ž์—๊ฒŒ๋Š” ์ด๊ฒƒ์ด ์ง๊ด€์ ์ด์ง€ ์•Š๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋˜๋Š” ์ตœ์†Œํ•œ ์˜ฌ๋ฐ”๋ฅธ ๋ Œ๋”๋ง์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ์ด๋ฅผ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•จ( mlab.clf() )์„ ๋ช…์‹œ์ ์œผ๋กœ ๋ฌธ์„œํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. 3D ์—”์ง„(Jupyter์šฉ) ์ค‘ ์–ด๋Š ๊ฒƒ๋„ ์ด๋Ÿฐ ์ข…๋ฅ˜์˜ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

@prabhuramachandran , Jupyter ์‚ฌ์šฉ์ž์—๊ฒŒ๋Š” ์ด๊ฒƒ์ด ์ง๊ด€์ ์ด์ง€ ์•Š๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์ €๋„ ๊ฐ™์€ ๋Š๋‚Œ์ž…๋‹ˆ๋‹ค.

@thoth291 -- VirtualGL ์„ค์ •์— ๋Œ€ํ•œ ์ •๋ณด ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋งค์šฐ ํฅ๋ฏธ๋กญ๊ณ  ์œ ์šฉํ•ด ๋ณด์ž…๋‹ˆ๋‹ค. mlab.clf() ์™€ ๊ด€๋ จํ•˜์—ฌ ํ˜ผ๋ž€์Šค๋Ÿฌ์šด ๋™์ž‘์ธ์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์ง€๋งŒ ์ด๊ฒƒ์„ ๋ฌธ์„œํ™”ํ•˜๊ฒŒ ๋˜์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ mlab ๋ช…๋ น์„ ์‚ฌ์šฉํ•œ ๋‹ค์Œ mlab.savefig ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ๋งค์šฐ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๊ฐ™์€ ํšจ๊ณผ๋ฅผ ๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋งˆ๋„ ํ˜ผ๋ž€์Šค๋Ÿฌ์šด ๊ฒƒ์€ ์‚ฌ์šฉ์ž๊ฐ€ ํ•œ ์…€์—์„œ plt.plot() ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ณ  ๋‹ค์Œ ์…€ ์ด์ „์— clf() ๋ฅผ ์ˆ˜ํ–‰ํ•  ํ•„์š”๊ฐ€ ์—†๋Š” ๋…ธํŠธ๋ถ ์‚ฌ์šฉ์˜ ๊ด€์ ์—์„œ ๋ณผ ๋•Œ ์ด๋ก€์ ์ด๋ผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋Š” ์ผ์€ ์žฅ๋ฉด์ด PNG ๋˜๋Š” X3D ์ถœ๋ ฅ ์…€๋กœ ๋ณ€ํ™˜๋œ ํ›„ mlab.clf() ๋ฅผ ์ž๋™์œผ๋กœ ํ˜ธ์ถœํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋„์›€์ด ๋ ๊นŒ์š”?

๋„ค, ํ—ท๊ฐˆ๋ฆฌ๋Š” ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์ˆ˜ํ–‰ํ•  ์ž‘์—…์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ์„ ๋•Œ init_notebook ํ˜ธ์ถœ์— ์ƒˆ ์ธ์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋งŽ์€ mlab ์‚ฌ์šฉ์ž๊ฐ€ ๊ทธ๋ฆผ์„ ์ธํ„ฐ๋ฆฌ๋น™ํ•˜๋Š” ๊ฒƒ์ด ๊ดœ์ฐฎ์„ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ์ƒํ•  ์ˆ˜ ์žˆ์ง€๋งŒ(์ ์ฐจ์ ์œผ๋กœ ์žฅ๋ฉด์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋„๋ก) ๊ธฐ๋ณธ ๋™์ž‘์€ ๊ฐ ์…€์— ๋Œ€ํ•ด ๋…๋ฆฝ์ ์ธ ๊ทธ๋ฆผ์„ ๊ฐ–๋Š” ๊ฒƒ์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š” ์—ฌ๋Ÿฌ๋ถ„,

์ด ๋‹ซํžŒ ๋ฌธ์ œ์— ์ถ”๊ฐ€ํ•ด์„œ ์ฃ„์†กํ•˜์ง€๋งŒ ํ”„๋กœ์ ํŠธ์— ํ”ผ๋“œ๋ฐฑ์„ ์ค„ ์ˆ˜ ์žˆ๋Š” ์ข‹์€ ๊ธฐํšŒ๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค.
๋ฐฉ๊ธˆ x3d๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ jupyter ๋…ธํŠธ๋ถ ํ†ตํ•ฉ์„ ํ…Œ์ŠคํŠธํ–ˆ์œผ๋ฉฐ ๋ช‡ ๊ฐ€์ง€ ๋”ธ๊พน์งˆ ํ›„์— ์ž‘๋™ํ•˜๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  @thoth291 ๊ณผ ๊ฐ™์€ ๋Š๋‚Œ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. Mayavi๊ฐ€ ์•”๋ฌต์ ์œผ๋กœ ์ƒˆ ์…€์— ๋Œ€ํ•œ ์ƒˆ ๊ทธ๋ฆผ์„ ์ƒ์„ฑํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด %matplotlib ์ธ๋ผ์ธ ๋ฐฑ์—”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” matplotlib์˜ ๊ธฐ๋ณธ๊ฐ’์ด๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์„ ์˜ˆ์ƒํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ๋ฐ˜๋Œ€์˜ ๊ฒฝ์šฐ๋„ ์ฃผ์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. %matplotlib ๋…ธํŠธ๋ถ ๋ฐฑ์—”๋“œ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๋ช…์‹œ์ ์œผ๋กœ ๊ทธ๋ฆผ์„ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ ๊ทธ๋ฆฌ๊ธฐ ์ž‘์—…์€ ์ด์ „์— ์—ด๋ฆฐ ๊ทธ๋ฆผ์œผ๋กœ ์ˆ˜ํ–‰๋˜๋ฉฐ, ๋•Œ๋•Œ๋กœ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋†€๋ผ์šด ๊ฒฐ๊ณผ๋ฅผ ์ œ๊ณตํ•จ).

์š”์•ฝํ•˜์ž๋ฉด ๋‹ค๋ฅธ matplotlib ๋ฐฑ์—”๋“œ๋Š” ์ƒˆ ๊ทธ๋ฆผ ์ƒ์„ฑ๊ณผ ๊ด€๋ จํ•˜์—ฌ ๋‹ค๋ฅด๊ฒŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž์˜ ์ž…์žฅ์—์„œ๋Š” ์ˆซ์ž๊ฐ€ ์…€์— ๋ฌถ์—ฌ ์žˆ์œผ๋ฉด ๋” ์‰ฌ์šธ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ %matplotlib ๋…ธํŠธ๋ถ ์ œ์•ˆ์„ ๋”ฐ๋ฅด๋ฉด ๋‹ค์Œ ์›Œํฌํ”Œ๋กœ๋ฅผ ๋”ฐ๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

fig = mlab.figure() # create new figure
s = mlab.test_triangular_mesh() # draw something on it
fig # display figure

์ด๊ฒƒ์€ ์‹ค์ œ๋กœ ์ž‘๋™ํ•˜๋ฏ€๋กœ jupyter ๋…ธํŠธ๋ถ์„ ๋ฌธ์„œํ™”ํ•˜๋Š” ํŒ ๋ฐ ํŠธ๋ฆญ ์„น์…˜(http://docs.enthought.com/mayavi/mayavi/tips.txt)๊ณผ ํ•จ๊ป˜ ์ด ์ž‘์—… ๋ฐฉ์‹์œผ๋กœ ์˜ˆ์ œ ๋…ธํŠธ๋ถ์˜ ํ˜•์‹์„ ๋‹ค์‹œ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. HTML).

์–ด์จŒ๋“  ์ด ๋ฐฑ์—”๋“œ๊ฐ€ ์กด์žฌํ•œ๋‹ค๋Š” ๊ฒƒ์ด ๋Œ€๋‹จํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค๊ณ  ๋ง๋ถ™์ด๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. @prabhuramachandran @GaelVaroquaux ์˜ ๋…ธ๊ณ ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค!

์นœ์• ํ•˜๋Š”,
ํ”Œ๋กœ๋ฆฌ์•ˆ

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰