合并具有共享x轴的matplotlib子图 |
您所在的位置:网站首页 › memm模型 › 合并具有共享x轴的matplotlib子图 |
我有两个图表,其中两个具有相同的x轴,但具有不同的y轴标度. 具有常规轴的图是具有描绘衰减的趋势线的数据,而y半对数缩放描绘了拟合的准确性. fig1 = plt.figure(figsize=(15,6)) ax1 = fig1.add_subplot(111) # Plot of the decay model ax1.plot(FreqTime1,DecayCount1, '.', color='mediumaquamarine') # Plot of the optimized fit ax1.plot(x1, y1M, '-k', label='Fitting Function: $f(t) = %.3f e^{%.3f\t} \ %+.3f$' % (aR1,kR1,bR1)) ax1.set_xlabel('Time (sec)') ax1.set_ylabel('Count') ax1.set_title('Run 1 of Cesium-137 Decay') # Allows me to change scales # ax1.set_yscale('log') ax1.legend(bbox_to_anchor=(1.0, 1.0), prop={'size':15}, fancybox=True, shadow=True)
现在,我正试着像这个链接http://matplotlib.org/examples/pylab_examples/subplots_demo.html提供的示例一样努力实现两者. 特别是这一个 在查看示例的代码时,我对如何植入3件事情感到有点困惑: 1)以不同方式缩放轴 2)保持指数衰减图的图形大小相同,但是线图具有较小的y尺寸和相同的x尺寸. 例如: 3)保持函数的标签仅出现在衰减图中. 非常感激任何的帮助. 1> Serenity..: 查看其中的代码和注释: import matplotlib.pyplot as plt import numpy as np from matplotlib import gridspec # Simple data to display in various forms x = np.linspace(0, 2 * np.pi, 400) y = np.sin(x ** 2) fig = plt.figure() # set height ratios for sublots gs = gridspec.GridSpec(2, 1, height_ratios=[2, 1]) # the fisrt subplot ax0 = plt.subplot(gs[0]) # log scale for axis Y of the first subplot ax0.set_yscale("log") line0, = ax0.plot(x, y, color='r') #the second subplot # shared axis X ax1 = plt.subplot(gs[1], sharex = ax0) line1, = ax1.plot(x, y, color='b', line) plt.setp(ax0.get_xticklabels(), visible=False) # remove last tick label for the second subplot yticks = ax1.yaxis.get_major_ticks() yticks[-1].label1.set_visible(False) # put lened on first subplot ax0.legend((line0, line1), ('red line', 'blue line'), loc='lower left') # remove vertical gap between subplots plt.subplots_adjust(hspace=.0) plt.show() |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |