使用在次要情节设置等pandas.DataFrame.plot()
和GridSpec
中嵌套一个复杂的脚本,我有以下问题:X轴-Tick认证标签都消失与大熊猫到次要情节绘制,但仍保存
当我创建一个2 -cols 1行gridspec,tick标签都是正确的。然而,当我创建一个1行2行的gridspec时,只要我使用pandas.DataFrame.plot()
绘制到第一行(上排),第一行的x标记消失(滴答剩下)。
一旦我在下斧头上画东西,情况并非如此,最上面的蜱变化了,sharex
似乎不是问题。
然而,我的X-标签仍保存:
axes[0].get_xaxis().get_ticklabels()
Out[59]:
<a list of 9 Text major ticklabel objects>
这只是他们没有显示。我怀疑NullFormatter,但是这也不情况:
axes[0].get_xaxis().get_major_formatter()
Out[57]:
<matplotlib.ticker.ScalarFormatter at 0x7f7414330710>
我得到两个刻度和标签上的第一轴的顶部,当我做
axes[0].get_xaxis().tick_top()
然而,当我再回去tick_bottom()
,我只在底部有刻度线,而不是标签。
什么会导致我的存储标签不能显示,尽管是“正常”格式化程序?
这里有一个简单的例子:
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
from matplotlib import gridspec
df = pd.DataFrame(np.random.rand(100,2), columns=['A', 'B'])
figure = plt.figure()
GridSpec = gridspec.GridSpec(nrows=2, ncols=1)
[plt.subplot(gsSpec) for gsSpec in GridSpec]
axes = figure.axes
df.plot(secondary_y=['B'], ax=axes[0], sharex=False)
你介意创建[MCVE(http://stackoverflow.com/help/ mcve),以便更容易查看和调试您的问题吗? –
是的,真的需要一个mcve,我不能重现这种行为(我试过[this](https://gist.github.com/jmarrec/17df8922d268d63f32259f4bbe36ccfa),它的工作就像一个魅力) –
@JulienMarrec补充说 – FooBar