Построение точек в 3d из текстового файла с использованием Matplotlib или Octave - PullRequest
0 голосов
/ 01 сентября 2011

Привет У меня есть текстовый файл, содержащий три столбца чисел;один столбец для координат x, y, z группы точек.Все числа находятся в диапазоне от 0 до 1.

Я хочу построить все эти точки в единичном кубе [0,1] x [0,1] x [0,1].

Пожалуйста, дайте мне знать, как я могу это сделать в Octave или MatPlot lib, в зависимости от того, какое изображение получше.

1 Ответ

3 голосов
/ 02 сентября 2011

Если я правильно понимаю ваш вопрос, вот как он выглядит в Matplotlib:

3D scatter plot

Это код для создания этого сюжета:

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

np.random.seed(101)
x,y,z = np.random.rand(3,20)

fig = plt.figure()
# version 1.0.x syntax:
#ax = fig.add_subplot(111, projection='3d')
# version 0.99.x syntax: (accepted by 1.0.x as well)
ax = Axes3D(fig)

ax.scatter(x,y,z)

fig.savefig('scatter3d.png')

Как следует из кода, существуют небольшие различия в поведении matplotlib версии 0.99.1.1 и версии 1.0.1, как отмечено в этом SO вопрос / ответ . Я использую 0.99.1.1, и у меня были проблемы с использованием всех параметров, доступных для 2D scatter графиков, которые должны быть одинаковыми и для 3D графиков. Полный список функций разброса приведен здесь .

Приведенный выше код был получен в результате изучения учебника matplotlib по 3D-черчению.

...