import matplotlib.pyplot as pltfrom mpl_toolkits.axes_grID1 import host_subplotimport mpl_toolkits.axisartist as AAhost = host_subplot(111)host.set_yticks(np.arange(-12,-3,1.0))par1 = host.twinx()par1.set_ylim( 2.7040e+3,1.3552e+7)par1.set_yscale('log')minorLocator_x1 = MultipleLocator(0.3333)minorLocator_y1 = MultipleLocator(0.5)host.xaxis.set_minor_locator(minorLocator_x1)host.yaxis.set_minor_locator(minorLocator_y2)
我可以使用以下方法修复镜像的次对数轴刻度:
host = host_subplot(111,axes_class=AA.Axes)
但是,这会产生另一个问题,即x轴刻度标签显示在图的内部,就像x轴标签一样.
关于如何规避问题的任何想法?
解决方法 我找到了解决问题的解决方法,但没有使用mpl_toolkits.axes_grID1中的host_subplot.相反,我使用matplotlib轴,如下所示:fig,ax1 = plt.subplots()ax1.set_xlim(-0.25,5.1)ax1.set_ylim(-3.75,-13)ax2=ax1.twinx()ax1.set_xlabel('X-label',Fontdict=Font)ax1.set_ylabel('Y1-label$',rotation='horizontal',Fontdict=Font)ax2.set_ylabel('Y2-label',Fontdict=Font)ax2.set_ylim(2.7040e+3,1.3552e+7)ax2.set_yscale('log')ax1.set_yticks(np.arange(-12,1.0))ml = MultipleLocator(0.5)minorLocator = MultipleLocator(0.3333)ax1.xaxis.set_minor_locator(minorLocator)ax1.yaxis.set_minor_locator(ml)
这产生了正确的情节.在我看来,之前的问题是第一种情况下的ticks(set_minor_locator)的模糊分配(不使用host_subplot中的axes_class = AA.Axes).
总结以上是内存溢出为你收集整理的python – Matplotlib寄生对数轴勾选不需要的镜像全部内容,希望文章能够帮你解决python – Matplotlib寄生对数轴勾选不需要的镜像所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)