回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我最近开始使用来自<a href="https://github.com/dunovank/jupyter-themes" rel="nofollow noreferrer">dunovank</a>的主题
喜欢简单的<a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.plot.html" rel="nofollow noreferrer">pandas.DataFrame.plot(</a>)开箱即用的样子:</p>
<p><strong><a href="https://pandas.pydata.org/pandas-docs/stable/user_guide/visualization.html" rel="nofollow noreferrer">Snippet 1</a>:</strong></p>
<pre><code># Theme from dunovank, exclude if not installed:
from jupyterthemes import jtplot
jtplot.style()
# snippet from pandas docs:
ts = pd.Series(np.random.randn(1000),index=pd.date_range('1/1/2000', periods=1000)).cumsum()
ax = ts.plot()
</code></pre>
<p><strong>输出1:</strong></p>
<p><a href="https://i.stack.imgur.com/okkCM.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/okkCM.png" alt="enter image description here"/></a></p>
<p>但我想增加一个交替的背景色(似乎在大通讯社很流行)。帖子<a href="https://stackoverflow.com/questions/9957637/how-can-i-set-the-background-color-on-specific-areas-of-a-pyplot-figure">How can I set the background color on specific areas of a pyplot figure?</a>很好地描述了如何做到这一点。对于数值x值来说,这非常简单:</p>
<p><strong>代码段2</strong>:</p>
^{pr2}$
<p><strong>输出2:</strong></p>
<p>{a6}</p>
<p>但当x轴是时间或日期格式时(至少对我来说),它会变得更混乱。这是因为我的两个例子中的轴是从这里来的</p>
<pre><code># in:
ax.lines[0].get_data()
# out:
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49],
dtype=int64)
</code></pre>
<p>致(简称):</p>
<pre><code># in:
ts.plot().lines[0].get_data()
# out:
.
.
Period('2002-09-15', 'D'), Period('2002-09-16', 'D'),
Period('2002-09-17', 'D'), Period('2002-09-18', 'D'),
Period('2002-09-19', 'D'), Period('2002-09-20', 'D'),
Period('2002-09-21', 'D'), Period('2002-09-22', 'D'),
Period('2002-09-23', 'D'), Period('2002-09-24', 'D'),
Period('2002-09-25', 'D'), Period('2002-09-26', 'D')], dtype=object)
</code></pre>
<p><code>ts.plot().lines[0].get_data()</code>返回x轴上的数据。但是,有没有一种方法可以找出matplotlib<strong><em>渲染每个“Jan”观察结果的垂直线的位置,这样我就可以更容易地为交替的黑色和灰色背景色找到合适的间隔?在</p>
<p><a href="https://i.stack.imgur.com/DMx7h.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/DMx7h.png" alt="enter image description here"/></a></p>
<p>谢谢你的建议!在</p>
<hr/>
<p><strong>编辑-还是有主题?</strong></p>
<p>或者有人知道某个地方是否有一个可以免费使用的主题?
我检查了所有matplotlib主题<code>import matplotlib.pyplot as plt; print(plt.style.available)</code>和{a8},但没有成功。在</p>
<hr/>
<p><strong>编辑2-来自ImportanceOfBeingErnest并激活chesterish主题的建议解决方案:</strong></p>
<p><a href="https://i.stack.imgur.com/flYxw.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/flYxw.png" alt="enter image description here"/></a></p>
<p>在我的拙见中,这是一个完美的时间序列图表设置(可能会放弃样条线)</p>