2024-09-28 20:39:27 发布
网友
我使用QuTiP在Python中绘制Bloch球体。如果Bloch球体上有几个点,那么我可以使用命令用一条线连接它们
b.add_points(pnts,meth='l')|
我想知道如何更改连接这些点的线的线宽。你知道吗
没有一种直接的方法可以做到这一点,因为默认情况下,在进行此绘图时不传递任何linewidth参数,但是您始终可以手动绘制线。 这些点需要作为numpy.ndarray对象列表传入。你知道吗
linewidth
numpy.ndarray
唯一需要注意的是,为了与Bloch类的功能保持一致,您需要确保用于定义点的约定是相同的。似乎l方法只会绘制一个连接您输入的前三个点的图。你知道吗
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()
输出数据如下:
没有一种直接的方法可以做到这一点,因为默认情况下,在进行此绘图时不传递任何
linewidth
参数,但是您始终可以手动绘制线。 这些点需要作为numpy.ndarray
对象列表传入。你知道吗唯一需要注意的是,为了与
Bloch
类的功能保持一致,您需要确保用于定义点的约定是相同的。似乎l
方法只会绘制一个连接您输入的前三个点的图。你知道吗下面的脚本使用与
Bloch
中定义的函数类似的函数来重现此行为:输出数据如下:
相关问题 更多 >
编程相关推荐