Mac에서 Julia #12 그래프 그리기

15918 단어 JuliaMac
지난번에 계속 Julia에 관한 것입니다.

문서 에 따라 시험해 갑니다.

이번에는 그래프를 그려보고 싶습니다.

그래프 그리기



명령줄에서 그래프 그리기



커맨드 라인에서 그래프를 그려보고 싶지만 콘솔에서 어떻게 그릴 수 있을까?

Plots와 GR이라는 패키지를 사용합니다.
sh-3.2$ julia
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.0.0 (2018-08-08)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

julia> import Pkg

julia> Pkg.add("Plots")
  Updating registry at `~/.julia/registries/General`
  Updating git-repo `https://github.com/JuliaRegistries/General.git`
 Resolving package versions...
  Updating `~/.julia/environments/v1.0/Project.toml`
 [no changes]
  Updating `~/.julia/environments/v1.0/Manifest.toml`
 [no changes]

julia> Pkg.add("GR")
 Resolving package versions...
  Updating `~/.julia/environments/v1.0/Project.toml`
 [no changes]
  Updating `~/.julia/environments/v1.0/Manifest.toml`
 [no changes]

julia> using Plots

julia> Plots.gr()
Plots.GRBackend()

julia> f(x)=sin(x)
f (generic function with 1 method)

julia> plot(f)

julia>

뭔가 이미지가 나왔습니다! GKSTerm은 언제 설치되었는지 ...



조사한 결과 ~/.julia/packages/GR/fnyt8/deps/gr/Applications/GKSTerm.app로 설치되었습니다.

Jupyter notebook로 그래프 그리기



친숙한 명령으로 잘 작동했습니다.

먼저 Jupyter 노트북을 이동합니다.
julia> Pkg.add("IJulia")
 Resolving package versions...
  Updating `~/.julia/environments/v1.0/Project.toml`
 [no changes]
  Updating `~/.julia/environments/v1.0/Manifest.toml`
 [no changes]

julia> using IJulia

julia> IJulia.notebook()

명령행과 동일한 명령을 함께 실행합니다.



여기 잘 그릴 수있었습니다.

패키지 정보



Plots와 GR이라는 패키지는 무엇입니까?

Plots 패키지



플롯

Tutorial 는 이쪽입니다.

구체적으로 그래프를 그린다는 패키지입니까.

샘플은 이런 느낌
julia> using Plots

julia> x = 1:10; y = rand(10);

julia> plot(x,y)



y를 배열로 하면 2개의 그래프도 그릴 수 있습니다. 그 밖에도 프로퍼티를 추가한 샘플입니다.
julia> x = 1:10; y = rand(10,2);

julia> plot(x,y,title="Two Lines",label=["Line 1" "Line 2"],lw=3)



기존 이미지에 속성을 추가해 봅니다.
julia> xlabel!("My x label日本語")



X축에 라벨이 나왔습니다, 단지 디폴트라면 일본어 폰트가 아닌 것 같게 문자화했습니다.

이미지 저장


julia> savefig("myplot.png")

GKSTerm 화면이 사라지고 이미지가 저장되었습니다.



왠지 글꼴이 다르네요.

Lorenz Attractor



토 CS. 나무 아 p ts. 오 rg 에서는 더 굉장한 그래프 샘플이 있습니다.
# define the Lorenz attractor
mutable struct Lorenz
    dt; σ; ρ; β; x; y; z
end

function step!(l::Lorenz)
    dx = l.σ*(l.y - l.x)       ; l.x += l.dt * dx
    dy = l.x*(l.ρ - l.z) - l.y ; l.y += l.dt * dy
    dz = l.x*l.y - l.β*l.z     ; l.z += l.dt * dz
end

attractor = Lorenz((dt = 0.02, σ = 10., ρ = 28., β = 8//3, x = 1., y = 1., z = 1.)...)


# initialize a 3D plot with 1 empty series
plt = plot3d(1, xlim=(-25,25), ylim=(-25,25), zlim=(0,50),
                title = "Lorenz Attractor", marker = 2)

# build an animated gif by pushing new points to the plot, saving every 10th frame
@gif for i=1:1500
    step!(attractor)
    push!(plt, attractor.x, attractor.y, attractor.z)
end every 10



왠지 대단합니다.

GR 패키지



플롯의 백엔드로 실제 이미지를 생성하는 것 같습니다. 시각화 라이브러리라고 합니까?

오모토는 여기 GR Framework 인가?

Julia Package GR 도 문서화되어 있습니다.
julia> Pkg.add("GR")
  Updating registry at `~/.julia/registries/General`
  Updating git-repo `https://github.com/JuliaRegistries/General.git`
 Resolving package versions...
  Updating `~/.julia/environments/v1.0/Project.toml`
 [no changes]
  Updating `~/.julia/environments/v1.0/Manifest.toml`
 [no changes]

julia> using GR

julia> histogram(randn(10000))



오늘은 이 근처에서.

좋은 웹페이지 즐겨찾기