代码如下:
fig, ax1 = plt.subplots(figsize=(20, 10))
pds, ns, ss, avgs = polar
ax1.plot(pds, avgs, color="purple", linestyle="-")
ax1.tick_params(axis='y', labelcolor="k")
ax1.set_ylabel("polar field strength")
ax2 = ax1.twinx()
for i, (cmd, ffmd, md, c) in enumerate(zip(cmds, ffmds, mds, cycles)):
p = ax2.plot(c[0], c[1], label="SC" + str(25 - len(cycles) + i + 1))
color = p[-1].get_color()
ax2.axvline(x=cmd, color=color, linestyle=":")
ax2.axvline(x=md, color=color, linestyle = '--')
ax2.axvline(x=ffmd, color=color, linestyle = '-')
sc25 = cycles[-1]
p = ax2.plot(sc25[0][:-6], sc25[1][:-6], label="SC25")
color = p[-1].get_color()
ax2.axvline(x=cmds[-1], color=color, linestyle=":")
ax2.tick_params(axis='y', labelcolor="k")
ax2.set_ylabel("SSN")
这将按预期工作,产生以下情节:
然而,我更希望属于ax1
的紫色图仅限于轴的一部分,以免不必要地把图弄得乱七八糟。在这种情况下,例如,将整个范围限制在轴的现在由-100到-50覆盖的部分,将紫色图的整个范围放在那里是很好的。有什么建议吗?
1条答案
按热度按时间zazmityj1#
考虑到紫色图是ax1中唯一的一个,你可以使用y限制,以便将紫色图放置在你想要的位置。例如:
您可以更进一步,将y刻度限制在相关范围内。例如: