Plates의surface plot에 매핑된 행렬 색상
Introduction
Juria에서 3D 서핑 그림을 만들고 행렬로 서핑의 색깔을 지정하다가 걸려 넘어졌을 때의 비망록.
Julia에서 Plats를 사용하면 보통 3D surface로 공을 그리고 z의 값에 따라 색을 비춘다. 왼쪽 그림에서 보듯이 본문의 목적은 공을 오른쪽 그림처럼 다른 행렬에 지정하는 것이다.
운영 환경
사이트 축소판 그림
다른 사이트에서도 같은 방법을 찾는 질문이 있었다. 결국 첫 번째 링크에 대한 대답은 답이 나왔다. Plaots를 사용하지 않고 PyPlat을 사용한 경우 세 번째 링크에 대한 대답이 있었다.
- Plots.jl - Map surface color to matrix
- Julia PyPlot: plot 3D surface with as face colors the norm of surface gradient
- gizmaa/Plot_Examples.md
소스 코드
여기 사이트(gizmaa/Plot_Examples.md)를 참고하여 구체 코드와 표면에 비치는 무작위 값 행렬을 준비하세요.using Plots
pyplot() # pyplotをバックエンドに指定
u = range(0.0,2pi,length=100);
v = range(0.0,pi,length=100);
lu = length(u);
lv = length(v);
x = zeros(lu,lv);
y = zeros(lu,lv);
z = zeros(lu,lv);
colors = zeros(lu,lv);
colortube = 0.001:0.001:1.0;
for uu=1:lu
for vv=1:lv
x[uu,vv]= cos(u[uu])*sin(v[vv]);
y[uu,vv]= sin(u[uu])*sin(v[vv]);
z[uu,vv]= cos(v[vv]);
end
end
for uu=1:lu
for vv=1:lv
colors[uu,vv]=rand(colortube);
end
end
플래시로 행렬을 파도타기 그림의 색으로 비추려면 키워드fill_z
에 행렬을 지정해야 한다고 합니다.# show results
plt = plot(x,y,z,
fill_z=abs.(colors),
st=:surface,
colorbar_title="Color",
)
display(plt)
그래서 상술한 오른쪽 그림의 줄거리가 생성되었다. 이fill_z
의 키워드를 찾기 위해 나는 매우 많은 신경을 썼다. facecolors
등등 나는 많은 시도를 했다.
키워드를 모를 경우 Plates를 사용하십시오.jl의 소스 코드만 볼 수 있습니까? 평소에 Doocumentation에 설치된 MATLAB의 사용자이기 때문에 다른 언어의 찾기 방법을 잘 모릅니다.
Plaots를 사용하여 만든 차트는 실행 중인 소스 파일과 같은 이름으로 저장된 다음 코드를 사용합니다.# save
runningfilename = splitext(splitpath(@__FILE__)[end])[1]
savefig(plt,runningfilename)
PyPlat의 경우
상기사이트 축소판 그림의 세 번째 종류와 같이 Pyplot의 경우 다음과 같이 그릴 수 있다. colors
의 모양은 내가 MATLAB에서 자주 사용하는 모양(망상망격의 지정)과 다르기 때문에 나는 사용하지 않는다.# reproduced from https://gist.github.com/gizmaa/7214002#3d-surf-plot
using PyPlot
#######
omit definition of u,v
#######
colors = zeros(lu,lv,3) ;
colortube = 0.001:0.001:1.0;
for uu=1:lu
for vv=1:lv
x[uu,vv]= cos(u[uu])*sin(v[vv]);
y[uu,vv]= sin(u[uu])*sin(v[vv]);
z[uu,vv]= cos(v[vv]);
end
end
for uu=1:lu
for vv=1:lv
for ii=1:3
colors[uu,vv,ii]=rand(colortube);
end
end
end
fig=surf(x,y,z,facecolors=colors);
gcf()
Reference
이 문제에 관하여(Plates의surface plot에 매핑된 행렬 색상), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Hinamoooon/items/b638b6a7ad29b68fb003
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
여기 사이트(gizmaa/Plot_Examples.md)를 참고하여 구체 코드와 표면에 비치는 무작위 값 행렬을 준비하세요.
using Plots
pyplot() # pyplotをバックエンドに指定
u = range(0.0,2pi,length=100);
v = range(0.0,pi,length=100);
lu = length(u);
lv = length(v);
x = zeros(lu,lv);
y = zeros(lu,lv);
z = zeros(lu,lv);
colors = zeros(lu,lv);
colortube = 0.001:0.001:1.0;
for uu=1:lu
for vv=1:lv
x[uu,vv]= cos(u[uu])*sin(v[vv]);
y[uu,vv]= sin(u[uu])*sin(v[vv]);
z[uu,vv]= cos(v[vv]);
end
end
for uu=1:lu
for vv=1:lv
colors[uu,vv]=rand(colortube);
end
end
플래시로 행렬을 파도타기 그림의 색으로 비추려면 키워드fill_z
에 행렬을 지정해야 한다고 합니다.# show results
plt = plot(x,y,z,
fill_z=abs.(colors),
st=:surface,
colorbar_title="Color",
)
display(plt)
그래서 상술한 오른쪽 그림의 줄거리가 생성되었다. 이fill_z
의 키워드를 찾기 위해 나는 매우 많은 신경을 썼다. facecolors
등등 나는 많은 시도를 했다.키워드를 모를 경우 Plates를 사용하십시오.jl의 소스 코드만 볼 수 있습니까? 평소에 Doocumentation에 설치된 MATLAB의 사용자이기 때문에 다른 언어의 찾기 방법을 잘 모릅니다.
Plaots를 사용하여 만든 차트는 실행 중인 소스 파일과 같은 이름으로 저장된 다음 코드를 사용합니다.
# save
runningfilename = splitext(splitpath(@__FILE__)[end])[1]
savefig(plt,runningfilename)
PyPlat의 경우
상기사이트 축소판 그림의 세 번째 종류와 같이 Pyplot의 경우 다음과 같이 그릴 수 있다. colors
의 모양은 내가 MATLAB에서 자주 사용하는 모양(망상망격의 지정)과 다르기 때문에 나는 사용하지 않는다.# reproduced from https://gist.github.com/gizmaa/7214002#3d-surf-plot
using PyPlot
#######
omit definition of u,v
#######
colors = zeros(lu,lv,3) ;
colortube = 0.001:0.001:1.0;
for uu=1:lu
for vv=1:lv
x[uu,vv]= cos(u[uu])*sin(v[vv]);
y[uu,vv]= sin(u[uu])*sin(v[vv]);
z[uu,vv]= cos(v[vv]);
end
end
for uu=1:lu
for vv=1:lv
for ii=1:3
colors[uu,vv,ii]=rand(colortube);
end
end
end
fig=surf(x,y,z,facecolors=colors);
gcf()
Reference
이 문제에 관하여(Plates의surface plot에 매핑된 행렬 색상), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Hinamoooon/items/b638b6a7ad29b68fb003
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# reproduced from https://gist.github.com/gizmaa/7214002#3d-surf-plot
using PyPlot
#######
omit definition of u,v
#######
colors = zeros(lu,lv,3) ;
colortube = 0.001:0.001:1.0;
for uu=1:lu
for vv=1:lv
x[uu,vv]= cos(u[uu])*sin(v[vv]);
y[uu,vv]= sin(u[uu])*sin(v[vv]);
z[uu,vv]= cos(v[vv]);
end
end
for uu=1:lu
for vv=1:lv
for ii=1:3
colors[uu,vv,ii]=rand(colortube);
end
end
end
fig=surf(x,y,z,facecolors=colors);
gcf()
Reference
이 문제에 관하여(Plates의surface plot에 매핑된 행렬 색상), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Hinamoooon/items/b638b6a7ad29b68fb003텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)