Как узнать размер шариков, напечатанных Mayavi? - PullRequest
0 голосов
/ 03 июня 2019

Я пытаюсь построить какое-то трехмерное облако точек с помощью Mayavi, вот так

    mlb.figure(bgcolor=(0,0,0))
    mlb.points3d(*my_points[:, 0, :].T, scale_factor=5.0, color=(1,0,0))
    mlb.points3d(*their_points[:, 0, :].T, scale_factor=5.0, color=(0,1,0))
    mlb.show()

При игре с scale_factor шары, представляющие каждую точку на графике, различаются по размеру.

Я хотел бы знать / определить этот размер.

Понятия не имею, что на самом деле означает "5.0".

Как это можно сделать?

1 Ответ

2 голосов
/ 03 июня 2019

От официальной документации к пунктам3d :

scale_factor: масштабирование, примененное к глифам. размер глифа по умолчанию рассчитывается из интервала между глифами. Укажите поплавок дать максимальный размер глифа в единицах рисования

Если вы добавите mlb.axes() перед mlb.show(), это должно иметь больше смысла.

Вы должны передать переменную, которая используется для явного масштабирования, в качестве четвертого параметра s в points3d(x, y, z, s, ...).

Мы не знаем, что делает ваш *their_points[:, 0, :].T, какие у него форма и размеры, но это наверняка может испортить масштабирование, если выбрано неправильное измерение. Попробуйте нарезать x, y, z, s и передать их явно.

...