[英]How to remove y axis of a figure with a discontinous x axis?
我正在尝试在断轴模块的帮助下 plot 一个带有不连续 x 轴的图(如下所示)。 https://pypi.org/project/brokenaxes/
但我不知道如何删除图中的y轴。 我尝试了其他问题的一些方法,但似乎与断轴模块不兼容。 有人可以帮忙吗?
代码显示在这里。
import matplotlib.pyplot as plt
from brokenaxes import brokenaxes
import numpy as np
import pandas as pd
fig = plt.figure(figsize=(7,3))
bax = brokenaxes(xlims=((2500, 4000), (600, 1800)), hspace=1000)
p1= pd.read_csv("p1_1.csv", header=None, skiprows=2)
p1=p1.values
p1=p1.transpose()
bax.plot(p1[0], p1[1])
bax.get_xaxis
bax.invert_xaxis()
bax.set_xlabel('Wavenumber ($cm^{-1}$)')
bax.text(0.05, 0.3, "s", fontsize=12)
fig.savefig("1.png", bbox_inches = "tight")
plt.show()
使用bax
的axs
属性:
bax.axs[0].yaxis.set_visible(False)
bax.axs[0].spines['left'].set_visible(False)
您可以通过数组BrokenAxes.axs[]
访问由断轴创建的各个子轴
出于某种原因,我不得不将轴转为不可见并移除脊柱,但这有效:
import matplotlib.pyplot as plt
from brokenaxes import brokenaxes
fig = plt.figure(figsize=(7,3))
bax = brokenaxes(xlims=((2500, 4000), (600, 1800)), hspace=1000)
#p1= pd.read_csv("p1_1.csv", header=None, skiprows=2)
#p1=p1.values
#p1=p1.transpose()
#bax.plot(p1[0], p1[1])
bax.invert_xaxis()
bax.set_xlabel('Wavenumber ($cm^{-1}$)')
bax.text(0.05, 0.3, "s", fontsize=12)
bax.axs[0].get_yaxis().set_visible(False)
bax.axs[0].spines['left'].set_visible(False)
plt.show()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.