【发布时间】:2021-11-18 10:29:59
【问题描述】:
我想实现这段代码,涉及到一些数据的可视化。
特别是,我必须生成 10 个与下面的代码具有相同结构的图。它们之间的唯一区别是 x 的范围。
在情节 n.1 中,x 将位于 range(0, 100, 10) ---> 10 个子情节中,0 一直到 9。
在情节 n.2 中,x 将位于 range(100, 200, 10) ---> 其中 100 到 109 的 10 个子情节。
在情节 n.3 中,x 将位于 range(200, 300, 10) ---> 其中 200 到 209 的 10 个子情节。
以此类推,直到:
情节 n.10 x 将位于 range(900, 1000, 10) ---> 其中 900 到 909 为止,对于 10 个子情节。
fig, ((ax1,ax2, ax3, ax4, ax5), (ax6,ax7, ax8, ax9, ax10)) = plt.subplots(2,5, figsize =(40,20))
axs = [ax1,ax2, ax3, ax4, ax5, ax6,ax7, ax8, ax9, ax10]
for ax in axs:
ax.grid()
ax.set_xlabel('Time [s]', fontsize = 22)
ax.set_ylabel('$C_{vv}(t)$', fontsize = 22)
ax1.title.set_text('$l_0 = 6.00$ $\mu$m')
ax2.title.set_text('$l_0 = 8.67$ $\mu$m')
ax3.title.set_text('$l_0 = 11.33$ $\mu$m')
ax4.title.set_text('$l_0 = 14.00$ $\mu$m')
ax5.title.set_text('$l_0 = 16.67$ $\mu$m')
ax6.title.set_text('$l_0 = 19.33$ $\mu$m')
ax7.title.set_text('$l_0 = 22.00$ $\mu$m')
ax8.title.set_text('$l_0 = 24.67$ $\mu$m')
ax9.title.set_text('$l_0 = 27.33$ $\mu$m')
ax10.title.set_text('$l_0 = 30.00$ $\mu$m')
fig.suptitle('$\lambda = 0.23 $', fontsize = 30)
for x in range(100, 200, 10):
ax1.plot(VACF[x][:1000,0], VACF[x][:1000,1], alpha=0.5)
for x in range(101, 200, 10):
ax2.plot(VACF[x][:1000,0], VACF[x][:1000,1], alpha=0.5)
for x in range(102, 200, 10):
ax3.plot(VACF[x][:1000,0], VACF[x][:1000,1], alpha=0.5)
for x in range(103, 200, 10):
ax4.plot(VACF[x][:1000,0], VACF[x][:1000,1], alpha=0.5)
for x in range(104, 200, 10):
ax5.plot(VACF[x][:1000,0], VACF[x][:1000,1], alpha=0.5)
for x in range(105, 200, 10):
ax6.plot(VACF[x][:1000,0], VACF[x][:1000,1], alpha=0.5)
for x in range(106, 200, 10):
ax7.plot(VACF[x][:1000,0], VACF[x][:1000,1], alpha=0.5)
for x in range(107, 200, 10):
ax8.plot(VACF[x][:1000,0], VACF[x][:1000,1], alpha=0.5)
for x in range(108, 200, 10):
ax9.plot(VACF[x][:1000,0], VACF[x][:1000,1], alpha=0.5)
for x in range(109, 200, 10):
ax10.plot(VACF[x][:1000,0], VACF[x][:1000,1], alpha=1)
plt.show()
如何实现并使代码更短一些? 谢谢你的帮助
【问题讨论】:
-
希望答案是有帮助的。彻底回答问题很费时间。如果您的问题已解决,请接受解决方案。 ✔ 位于答案左上角的 ▲/▼ 箭头下方。如果出现更好的解决方案,则可以接受新的解决方案。如果您的声望超过 15,您还可以使用 ▲/▼ 箭头对答案的有用性进行投票。 如果解决方案无法回答问题,请发表评论。 What should I do when someone answers my question?。谢谢。
标签: python pandas matplotlib subplot