import matplotlib.pyplot as plt
import quitp
# needs Axes3D object to activate the '3d' projection
from mpl_toolkits.mplot3d import Axes3D
fig, ax = plt.subplots(figsize=(5, 5), subplot_kw=dict(projection='3d'))
ax.axis('square') # to get a nice circular plot
b1 = qutip.Bloch(fig=fig, axes=ax)
b1.add_states(qutip.sigmax()/2)
b1.zlabel = ['z', '']
b1.render(fig=fig, axes=ax) # render to the correct subplot
# set title for the axis
ax.set_title('TITLE goes here', y=1.1, fontsize=20)
# You can anything else you want to the axis as well!
ax.annotate('TEXT', xy=(0.1, 0.9), xytext=(0.1, 0.7), xycoords='axes fraction',
fontsize=15, color='r', ha='center',)
plt.show()
您需要在Matplotib中将Bloch球体渲染为三维图形中的轴。 下面是一个如何做到这一点的例子:
以下是输出:
理想情况下,一旦我们在对
Bloch
的调用中设置了fig
和ax
,它就应该自动绘制到正确的轴上,但是render
函数默认设置为fig=None, axis=None
。这可能是个小虫子。你知道吗相关问题 更多 >
编程相关推荐