[英]Matplotlib 3D scatter plot no facecolor
我一直在努力尋找如何在僅帶有標記edgecolor而沒有標記facecolor的matplotlib中制作3d散點圖的方法。 像matlab一樣的空心標記。
解釋性圖片: http : //i.stack.imgur.com/LnnOa.jpg
到目前為止,我所能做的就是這樣: http : //ceng.mugla.edu.tr/sharedoc/python-matplotlib-doc-1.0.1/html/_images/scatter3d_demo.png
根據我要可視化的樣本數量,這遠非理想。
有人設法做到這一點嗎?
您可以分別設置edgecolor
和facecolor
,如下所示:
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
def randrange(n, vmin, vmax):
return (vmax-vmin)*np.random.rand(n) + vmin
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
n = 100
for c, m, zl, zh in [('r', 'o', -50, -25), ('b', '^', -30, -5)]:
xs = randrange(n, 23, 32)
ys = randrange(n, 0, 100)
zs = randrange(n, zl, zh)
ax.scatter(xs, ys, zs, facecolor=(0,0,0,0), s=100, marker=m, edgecolor=c)
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')
plt.show()
有幾種方法可以將面部顏色設置為透明,請參見此處 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.