Matlab의 scatter/scatter3을 파이썬으로
MATLAB에서 말하는 scatter나 scatter3 상당의 것.
matplotlib을 사용하여 할 수 있습니다.
2D/3D의 차이는 axis를 2D로 만드는지 3D로 만드는지를 바꾸는 것만으로, 나머지는 거의 함께.
2차원의 경우
import numpy as np
import matplotlib.cm as cm
import matplotlib.pyplot as plt
x = np.random.rand(500, 2)
y=((x-0.5)**2).sum(axis=1)**0.5
fig = plt.figure(figsize=(6.4,4.8),dpi=72)
# figsizeはインチ単位。デフォルト(6.4,4.8)
# dpiはデフォルト 100
#2d散布図
ax = fig.add_subplot(1, 1, 1, title='Title', xlabel='X', ylabel='Y')
#titleなどはあとからax.set_title() ax.set_xlabel などで変更可
sc = ax.scatter(x[:, 0], x[:, 1], vmin=0, vmax=1, c=y, cmap=cm.jet)
#カラーバー
cb=fig.colorbar(sc)
plt.show()
fig.savefig('2d.png')
결과
3차원의 경우
#カラーバー
cb=fig.colorbar(sc)
plt.show()
fig.savefig('/Users/miyawaki/Desktop/2d.png')
import numpy as np
import matplotlib.cm as cm
from matplotlib import pyplot as plt
from mpl_toolkits.mplot3d.axes3d import Axes3D
x = np.random.rand(500, 3)
y=((x-0.5)**2).sum(axis=1)**0.5
fig = plt.figure(figsize=(6.4,4.8),dpi=72)
# figsizeはインチ単位。デフォルト(6.4,4.8)
# dpiはデフォルト 100
#3D散布図
ax = Axes3D(fig)
sc=ax.scatter(x[:, 0], x[:, 1], x[:, 2], c=y, cmap=cm.jet)
#タイトルと軸ラベル
ax.set_title("Title", fontsize=8)
ax.set_xlabel("X", fontsize=7)
ax.set_ylabel("Y", fontsize=7)
ax.set_zlabel("Z", fontsize=7)
#tick labelのフォントサイズ
plt.tick_params(labelsize = 6)
#カラーバー 0.6倍に縮小
cb=fig.colorbar(sc,shrink = 0.6)
#水平にするときはorientationにhorizontalを追加
#cb=fig.colorbar(sc,shrink = 0.6, orientation="horizontal")
#カラーバーのlabel、tick label
cb.set_label("Color", fontsize=7)
cb.ax.tick_params(labelsize=6)
plt.show()
fig.savefig('3d.png')
결과
…미조정은 맛있게 조사합시다.
Reference
이 문제에 관하여(Matlab의 scatter/scatter3을 파이썬으로), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/HiroMiyawaki/items/f3087ecf047d17fad003
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import numpy as np
import matplotlib.cm as cm
import matplotlib.pyplot as plt
x = np.random.rand(500, 2)
y=((x-0.5)**2).sum(axis=1)**0.5
fig = plt.figure(figsize=(6.4,4.8),dpi=72)
# figsizeはインチ単位。デフォルト(6.4,4.8)
# dpiはデフォルト 100
#2d散布図
ax = fig.add_subplot(1, 1, 1, title='Title', xlabel='X', ylabel='Y')
#titleなどはあとからax.set_title() ax.set_xlabel などで変更可
sc = ax.scatter(x[:, 0], x[:, 1], vmin=0, vmax=1, c=y, cmap=cm.jet)
#カラーバー
cb=fig.colorbar(sc)
plt.show()
fig.savefig('2d.png')
#カラーバー
cb=fig.colorbar(sc)
plt.show()
fig.savefig('/Users/miyawaki/Desktop/2d.png')
import numpy as np
import matplotlib.cm as cm
from matplotlib import pyplot as plt
from mpl_toolkits.mplot3d.axes3d import Axes3D
x = np.random.rand(500, 3)
y=((x-0.5)**2).sum(axis=1)**0.5
fig = plt.figure(figsize=(6.4,4.8),dpi=72)
# figsizeはインチ単位。デフォルト(6.4,4.8)
# dpiはデフォルト 100
#3D散布図
ax = Axes3D(fig)
sc=ax.scatter(x[:, 0], x[:, 1], x[:, 2], c=y, cmap=cm.jet)
#タイトルと軸ラベル
ax.set_title("Title", fontsize=8)
ax.set_xlabel("X", fontsize=7)
ax.set_ylabel("Y", fontsize=7)
ax.set_zlabel("Z", fontsize=7)
#tick labelのフォントサイズ
plt.tick_params(labelsize = 6)
#カラーバー 0.6倍に縮小
cb=fig.colorbar(sc,shrink = 0.6)
#水平にするときはorientationにhorizontalを追加
#cb=fig.colorbar(sc,shrink = 0.6, orientation="horizontal")
#カラーバーのlabel、tick label
cb.set_label("Color", fontsize=7)
cb.ax.tick_params(labelsize=6)
plt.show()
fig.savefig('3d.png')
결과
…미조정은 맛있게 조사합시다.
Reference
이 문제에 관하여(Matlab의 scatter/scatter3을 파이썬으로), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/HiroMiyawaki/items/f3087ecf047d17fad003텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)