我有一个矩阵H,可以有3个方向的参数。我想用一组参数来绘制特征值(把它看作函数)&它旁边还有一组参数-仍然在同一个图中-函数有另一组参数。 这在物理学中经常使用,即在绘制能带结构时。 它看起来像:
这不仅仅是将0改为Gamma,将2pi(晶格常数=1)改为X,而是在一个图中相邻地进行多个pliplot。在
编辑:
我没有测量数据-->;这都是计算出来的。我有一个np矩阵(哈密顿-8x8)这取决于7个参数,这里我唯一改变的是方向。 g=伽马,X。。。是位置(我知道它们的方向。) 每个绘图都是这样生成的:
fig4=plt.figure()
LG=fig4.add_subplot(111)
for val in np.linspace(-np.pi/a, 0, 1000):
LG.scatter([val]*8, H(val, val , val, -15.2, -s*10.25, 19.60, -5.30))
plt.grid()
plt.title(r"$L-\Gamma$")
plt.xlabel(r"$k$ in high symmetry points")
plt.xticks([-C*0.5, 0.], ["L", "$\Gamma$"])
plt.ylabel("energy/eV")
plt.show()
我把物理学也包括进去了,这样医生就更容易理解了。如果这里的人不多:
我有一个函数plot1和plot2&我想在一个y轴相同但x轴不同的图形中水平追加plot2。如图所示(从g-X是一个函数,从X到W是另一个函数,依此类推)。在
编辑2:TobyD&pathoren的回答使我们能够在一个函数中的每个参数旁边画出一个带有几个参数的函数。 我认为我的问题在原则上是可以解决的,但是因为我没有函数,只有一个矩阵,并且想要计算特征值,并且有不止一个方向的参数,这就很复杂了。我设法制作了一个我只想水平切割在一起的图(但不像绘画,而是有一个x轴的描述)。在
编辑3:谢谢你的帮助。最简单的方法就是改变论点x+something,x-something,现在我有了更多的方法,最终可以证明它是有用的。在
下面是一个脚本,其中函数
f
接受3个参数a, b, c
。x值被分成三个不同的区域,x1, x2, x3
,对应的函数值f1, f2, f3
。在某些断点(由x_ticks
定义)有一些线被绘制,并且xtick只针对这些点显示。xlabel由x_ticklabels
设置,仅在x_ticks
-位置。在让我看看我是否理解你在找什么。在
试试这样的方法:
式中,n是要绘制的不同参数集的数量,width_n是每个参数集的宽度,以您根据规范化选择的任何单位表示。在
子批次调整将子批次之间的间距设置为0。GridSpec为您提供了对每个大小的更细粒度的控制。{spec}我们不需要手动摆弄cdy}标志。在
然后,可以在轴的元素中为每个参数集绘制函数,并指定所需的范围。基本上,将轴的每个元素视为希望合并在一起的图形之一。在
使用与@pathoren相同的示例:
^{pr2}$请注意,用于更改子批次属性(如xtick)的函数略有不同。使用
axes[2].set_xlim
可以确保最后一个图很好地被切掉。在相关问题 更多 >
编程相关推荐