如何在Bloch球上绘制时更改线宽

时间:2018-12-31 09:12:39

标签: python qutip

我正在使用QuTiP进行Python的Bloch球面绘制。如果我在Bloch球面上有几个点,那么可以使用命令

将它们与直线连接起来
b.add_points(pnts,meth='l')|

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

1 个答案:

答案 0 :(得分:0)

没有直接的方法,因为默认情况下,绘制此图时不会传递任何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()

输出图在这里:

enter image description here