Scatter Chart — Example for Python matplotlib 3D Chart Realize

import  matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D

np.random.seed(42)

n_sample = 500
dim = 3

samples = np.random.multivariate_normal(
    np.zeros(dim),
    np.eye(dim),
    n_sample
)

for i in range(samples.shape[0]):
    r = np.power(np.random.random(), 1.0 / 3.0)
    samples[i] *= r / np.linalg.norm(samples[i])
upper_samples = []
lower_samples = []
for x, y, z in samples:
    if z > x + 2*y - 1:
        upper_samples.append((x, y, z))
    else:
        lower_samples.append((x, y, z))
fig = plt.figure('3D scatter plot')
ax = fig.add_subplot(111, projection = '3d')
uppers = np.array(upper_samples)
lowers = np.array(lower_samples)

ax.scatter(uppers[:, 0], uppers[:, 1], uppers[:, 2], c = 'r', marker = 'o')
ax.scatter(lowers[:, 0], lowers[:, 1], lowers[:,2], c = 'g', marker = '^')
plt.show()
3D_scatter_plot.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容