我正在使用 QuTiP 在 Python 中绘制 Bloch 球体。如果我在 Bloch 球体上有几个点,那么我可以使用命令将它们与一条线连接起来
b.add_points(pnts,meth='l')|
我想知道如何更改连接这些点的线的线宽。
没有直接的方法可以做到这一点,因为默认情况下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()
输出图在这里: