在Bloch sph上绘图时如何更改线宽

2024-09-28 20:39:27 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

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


Tags: 命令add绘制pointsbloch球体methqutip
1条回答
网友
1楼 · 发布于 2024-09-28 20:39:27

没有一种直接的方法可以做到这一点,因为默认情况下,在进行此绘图时不传递任何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

相关问题 更多 >