如何在使用QuTiP绘制Bloch球体时给出aplot标题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在使用QuTiP绘制Bloch球体时给出aplot标题相关的知识,希望对你有一定的参考价值。

我正在使用QuTiP绘制一个Bloch球体图。我想给它一个标题。我怎样才能做到这一点?我在Google上搜索但找不到答案。

答案

您需要将Bloch球体渲染到matplotlib中3D图形中的轴。以下是如何执行此操作的示例:

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()

这是输出:

enter image description here

理想情况下,一旦我们在调用fig时设置axBloch,它应该自动绘制到正确的轴,但render函数默认设置为fig=None, axis=None。这可能是一个小错误。

以上是关于如何在使用QuTiP绘制Bloch球体时给出aplot标题的主要内容,如果未能解决你的问题,请参考以下文章

如何在 3D 对象(如球体)上绘制文本

如何快速绘制三维球体呢?

使用CAD编辑器快速绘制三维球体

如何在 C++ 中按递增顺序绘制球体网格?

在 Matplotlib 中绘制一个 3d 立方体、一个球体和一个向量

OpenGL VBO:绘制球体