如何在Matplotlib中为共享x轴使用相同的标签?

时间:2017-03-07 09:09:43

标签: matplotlib

我试图将两个单独的数字转换成一个共享x轴的数字。但是有一些我不知道的东西。对于样式和刻度,我通常使用代码

plt.xlabel(r'$\mathrm{2\theta\ (deg)}$')
plt.ylabel(r'$\mathrm{Intensity\ (a.u)}$')
plt.xlim(15,80)

plt.legend(loc=4,prop={'size':10})
params = {'legend.fontsize': 18,
      'axes.labelsize': 18,
      'axes.titlesize': 18,
      'xtick.labelsize' :12,
      'mathtext.fontset': 'cm',
      'mathtext.rm': 'serif', }
matplotlib.rcParams.update(params)

plt.tick_params(
axis='both', which='both',   
right='off', left='off',    
top = 'off', bottom = 'off',
labelleft='off')    

现在,我需要将它应用于此共享数字。这些包括以下内容:

  • 图中没有蜱虫。
  • 将共享轴标签。
  • 最好在循环中加载文本文件。

这些改进我需要知道什么?

enter image description here

import matplotlib.pyplot as plt
from numpy import loadtxt
import matplotlib

f = plt.figure()
plt.subplots_adjust(hspace=0.001)

data = loadtxt("ES1.txt",float)

POS = data[:,0]
ESD = data[:,1]

ax1 = plt.subplot(311)
ax1.plot(POS, ESD, color="blue")


data = loadtxt("ES2.txt",float)

POS = data[:,0]
ESD = data[:,1]


ax2 = plt.subplot(312, sharex=ax1)
ax2.plot(POS, ESD, color="red")


yticklabels = ax1.get_yticklabels() + ax2.get_yticklabels()
plt.setp(yticklabels, visible=False)


plt.savefig('shared_xrd' + '.png', dpi=600,  bbox_inches='tight')  

1 个答案:

答案 0 :(得分:1)

以下代码可能更像您想要的。

body.active {
    overflow: hidden;
    position: fixed;
}

/* Menu */
@media screen and (max-width: 792px) {
    .aanmelden {
        display: none;
    }

    ul {
        display: none;
    }

    .menuToggle {
        display: block;
    }

    #nav {
        margin: 0;
        position: absolute;
        top: 110px;
        background: #e74a2b;
        height: 100%;
        width: 100%;
        max-height: 0;
        overflow: hidden;
        -webkit-transition: width 0.3s; /* Safari */
        transition:max-height 0.3s;
    }

    #nav.active {
        max-height: calc(100% - 110px);
    }

    ul {
    display: block;
    z-index: 5;
    position: relative;
    width: 100%;
    padding: 0;
    margin: 0;
    }

    ul li {
        float: left;
        width: 100%;
        border-bottom: 1px solid rgba(255,255,255,0.4);
    }

    ul li a:hover {
        color: #2c2c2c;
    }

    ul li a {
        float: left;
        width: 100%;    
        color: white;
        padding: 15px 20px;
    }
}

enter image description here