Water's Home

Just another Life Style

0%

Matplotlib 3D Example 2 : Python

3D Example 2

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

np.random.seed(42)

n_samples = 500
dim = 3

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

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 > 3 * 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(uppers[:, 0], uppers[:, 1], uppers[:, 2], c=’g’, marker=’^’)

plt.show()