我已经在图表的x-ticks上丢失了数字,我该如何回复它们?

这是我绘制残差图的代码;然而,我已经失去了我的X轴刻度数字,我不知道如何让他们回来......任何帮助将不胜感激。对不起,如果这个线程的格式不对,这是我的第一个。我已经在图表的x-ticks上丢失了数字,我该如何回复它们?

代码:

pyplot.figure() 

fig1 = plt.figure(1)

frame1=fig1.add_axes((.1,.3,.8,.6))

pyplot.errorbar(xval, yval, yerr=yerr, xerr=xerr, marker='o',markersize = 2, linestyle='None', color = 'black')

# Axis labels

pyplot.xlabel(' Height (m)')

pyplot.ylabel('Mass per second (kg.s-1)')

# Generate best fit line using model function and best fit parameters, and add to plot

fit_line=model_funct(xval, [a_soln, b_soln])

# Theoretical line

x = np.array(arange(0.07,0.15, 0.001))

y = (-2.61049E-05) + (0.005815772)*x

plt.plot(x, y, linestyle = '--', color ='r',linewidth = 0.7, label = 'Theoretical')

# Experimental line

s = (-4.43329E-05) + (0.006008837)*x

pyplot.plot(x, s,linewidth = 0.7, color = 'black', label = 'Experimental Chi Squared Fit')

# Set suitable axis limits: you will probably need to change these...

pyplot.xlim(0.08, 0.14)

pyplot.ylim(0.0004, 0.0008)

pyplot.legend(loc = 'upper left',prop={'size':10})

frame2=fig1.add_axes((.1,.1,.8,.2))

difference = y - s

pyplot.plot(x, difference, color = 'black')

frame2.set_ylabel('Residual')

plt.xlabel('Height (m)')

plt.yticks(numpy.arange(-0.000010, 0.000010, 0.00001))

plt.xticks(numpy.arange(0.08, 0.14, 0.01))

pyplot.ylim(-0.000010, 0.000010)

pyplot.xlim(0.08,0.14)

pyplot.grid()

pyplot.show()

回答:

相反牵伸装置中,可以考虑使用次要情节代替。正如我从代码中看到的那样,您试图使用不同高度比例的子图。有更好的方法来做到这一点,例如与gridspec

import numpy as np 

import matplotlib.pyplot as plt

import matplotlib.gridspec as gridspec

fig = plt.figure()

gs = gridspec.GridSpec(2, 1, height_ratios=[4, 1])

ax1 = plt.subplot(gs[0, 0])

plt.errorbar(xval, yval, yerr=yerr, xerr=xerr, marker='o', markersize = 2, linestyle='None', color='black')

#Axis labels

ax1.set_xlabel(' Height (m)')

ax1.set_ylabel(r'Mass per second (kg$\cdot$s$^{-1}$)')

#Generate best fit line using model function and best fit parameters, and add to plot

fit_line=model_funct(xval, [a_soln, b_soln])

#Theoretical line

x = np.arange(0.07, 0.15, 0.001)

y = (-2.61049E-05) + (0.005815772)*x

ax1.plot(x, y, linestyle = '--', color ='r',linewidth = 0.7, label = 'Theoretical')

#Experimental line

s = (-4.43329E-05) + (0.006008837)*x

ax1.plot(x, s,linewidth = 0.7, color = 'black', label = 'Experimental Chi Squared Fit')

#Set suitable axis limits: you will probably need to change these...

ax1.set_xlim(0.08, 0.14) #redundant by adding "sharex=ax1" 4 lines blelow

ax1.set_ylim(0.0004, 0.0008)

ax1.legend(loc = 'upper left',prop={'size':10})

ax2 = plt.subplot(gs[1, 0], sharex=ax1)

difference = y - s

plt.plot(x, difference, color = 'black')

ax2.set_ylabel('Residual')

ax2.set_xlabel('Height (m)')

ax2.set_yticks(np.arange(-0.000010, 0.000010, 0.00001))

ax2.set_xticks(np.arange(0.08, 0.14, 0.01))

ax2.set_ylim(-0.000010, 0.000010)

ax2.set_xlim(0.08,0.14)

ax2.grid()

plt.tight_layout()

plt.show()

我还添加了一些一致性您使用pyplotplt的方式,去掉了一些冗余。请通过代码并排查看编辑。

要回答您的问题,您的x轴刻度编号隐藏在较低的框架后面。由于您已将较高帧设置为0.8,较低帧设置为0.2,因此xticks没有空间。

这是至少要继续下去的东西。

回答:

底部“轴”(该图中的“副区”)被掩盖上述的轴的x标签。

您可以通过下方再次见到他们轴小

使用行frame2=fig1.add_axes((.1,.1,.8,.1))。 (注意到.2现在.1

你的代码不能运行自包含的,但是这可能是大概你追求的:

以上是 我已经在图表的x-ticks上丢失了数字,我该如何回复它们? 的全部内容, 来源链接: utcz.com/qa/258375.html

回到顶部