Прямого способа сделать это нет, так как по умолчанию при создании графика не передается параметр linewidth
, но вы всегда можете построить линии вручную.Точки должны быть переданы в виде списка numpy.ndarray
объектов.
Единственный улов - чтобы соответствовать тому, что делает класс Bloch
, вам необходимо убедиться, что соглашение, которое вы используетеопределить точки это то же самое.Похоже, что метод l
построит соединение только первых трех точек, которые вы вводите.
Следующий скрипт воспроизводит это поведение, используя функцию, аналогичную той, которая определена в Bloch
:
import matplotlib.pyplot as plt
import qutip
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
pts = [np.array([[0, 1, 0], [0, 0, 1], [1, 0, 0]])]
fig, ax = plt.subplots(figsize=(5, 5), subplot_kw=dict(projection='3d'))
ax.axis('square')
b = qutip.Bloch(fig=fig, axes=ax)
for p in pts:
b.axes.plot(p[1], -p[0], p[2],
alpha=1, zdir='z', color='r',
linewidth=5)
b.render(fig=fig, axes=ax)
plt.show()
Здесь выводится цифра: