Как я могу добавить метку x в этот участок, который охватывает мою общую ось x? - PullRequest
0 голосов
/ 08 июня 2018

Как я могу добавить метку X, которая охватывает мои 2 субплота?Во-вторых, как мне отрегулировать индекс оси X с помощью подзаговоров b / c xticks или set_xticklabels, кажется, не отображаются должным образом?Я могу предоставить наборы данных, если это поможет.Я думал, что правильно использовал команду subplot.

Example of current final figure.

x1 = np.r_[50:64]
x2 = np.r_[89:103]
fig, (ax1, ax2) = plt.subplots(1, 2, sharey=True)

#Left plot
ax1.plot(x1,left[0],color='red',marker="o",label=r'$\alpha$PV Ca$^{2+}$',linestyle='dashed',markersize=6)
ax1.plot(x1,left[1],color='blue',marker="o",label=r'$\alpha$PV Mg$^{2+}$',linestyle='dashed',markersize=6)
ax1.plot(x1,left[2],color='red',marker="o",label=r'$\alpha$PV S55D/E59D Ca$^{2+}$',linestyle='solid',linewidth='6',markersize=10)
ax1.plot(x1,left[3],color='blue',marker="o",label=r'$\alpha$PV S55D/E59D Mg$^{2+}$',linestyle='solid',linewidth='6',markersize=10)
ax1.plot(x1,left[4],color='red',marker="o",label=r'$\alpha$PV D94S/G98E Ca$^{2+}$',linestyle='solid',linewidth='1',markersize=6)
ax1.plot(x1,left[5],color='blue',marker="o",label=r'$\alpha$PV D94S/G98E Mg$^{2+}$',linestyle='solid',linewidth='1',markersize=6)
#Right plot
ax2.plot(x2,right[0],color='red',marker="o",label=r'$\alpha$PV Ca$^{2+}$',linestyle='dashed',markersize=6)
ax2.plot(x2,right[1],color='blue',marker="o",label=r'$\alpha$PV Mg$^{2+}$',linestyle='dashed',markersize=6)
ax2.plot(x2,right[2],color='red',marker="o",label=r'$\alpha$PV S55D/E59D Ca$^{2+}$',linestyle='solid',linewidth='6',markersize=10)
ax2.plot(x2,right[3],color='blue',marker="o",label=r'$\alpha$PV S55D/E59D Mg$^{2+}$',linestyle='solid',linewidth='6',markersize=10)
ax2.plot(x2,right[4],color='red',marker="o",label=r'$\alpha$PV D94S/G98E Ca$^{2+}$',linestyle='solid',linewidth='1',markersize=6)
ax2.plot(x2,right[5],color='blue',marker="o",label=r'$\alpha$PV D94S/G98E Mg$^{2+}$',linestyle='solid',linewidth='1',markersize=6)


ax1.legend(fontsize=14,handlelength=2,loc="best")
ax1.set_ylabel('Contribution Energy (kcal/mol)', fontsize=25)
ax1.tick_params(axis='both', which='major', labelsize=28, length=9, width=4)
ax2.tick_params(axis='x', which='major', labelsize=28, length=9, width=4)
plt.tight_layout()
plt.suptitle('\u03B1PV WT and Mutants',fontsize=35)
plt.subplots_adjust(top=.90)

1 Ответ

0 голосов
/ 08 июня 2018

Вы можете использовать параметр x при настройке xlabel.Вот пример:

gs = gridspec.GridSpec(1,2)
fig = plt.figure(figsize=(10, 5))
ax = fig.add_subplot(gs[:, 0])
ax2 = fig.add_subplot(gs[:, 1])
data = [1,2,3,4,5]
ax.plot(data,data)
ax2.plot(data,data)
ax.set_xlabel("xLabelAcrossTwoSubPlot",x=1.1,fontsize=20)

enter image description here

Также, если вы хотите явно контролировать галочки, вот как это сделать:

### control ticks
ts = data[:]
ax.set_xticks(ts)
ax.set_xticklabels([ '#%d'%k for k in ts])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...