1

我正在使用 QuTiP 在 Python 中绘制 Bloch 球体。如果我在 Bloch 球体上有几个点,那么我可以使用命令将它们与一条线连接起来

b.add_points(pnts,meth='l')|

我想知道如何更改连接这些点的线的线宽。

4

1 回答 1

1

没有直接的方法可以做到这一点,因为默认情况下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()

输出图在这里:

在此处输入图像描述

于 2019-01-19T18:16:29.887 回答