繁体   English   中英

如何删除具有不连续x轴的图形的y轴?

[英]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()

使用baxaxs属性:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM