python - python - 如何在特定位置的x轴上设置刻度
问题描述
在我的 x 轴上,我有几天(例如 0-5000 天)。现在我想通过除以 365 天将其划分为年份,这样从 0-365 会说 2016、366 - 2*365: 2017 等。
最好的方法是什么?
有没有类似的东西ax.tickValues(xrange(0,5000,365))
?
解决方案
以下是您如何做到这一点的一个示例。想法如下:首先生成要显示的刻度标签(年份),从2016
. 这里int(np.ceil(5000/365))
只是给你在轴上显示的年数。接下来,您生成放置这些刻度的位置。目前我使用 0-365、365-730 等的中心作为刻度的位置,因为您希望 0-365 标记为 2016 等等。
您可以针对您的问题调整以下解决方案。
from matplotlib.ticker import AutoMinorLocator
fig, axes = plt.subplots(figsize=(10, 6))
x = range(3000)
plt.plot(x,x)
tcks = [2016+i for i in range(int(np.ceil(3000/365)))]
locs = [365*i for i in range(int(np.ceil(3000/365)))]
plt.xticks(locs, tcks)
axes.xaxis.set_minor_locator(AutoMinorLocator(12))
推荐阅读
- vhdl - 这些代码有什么区别吗?
- c++ - 初始化多通道 OpenCV Mat
- laravel - 如何将 v-model 传递给另一个 v-model
- python-3.x - Hackerrank 列出问题 ~ 标准测试用例有效,但其他测试用例无效
- tensorflow - 如何使用 keras/tensorflow 发现方程变量的值?
- c++ - 表达式:Visual Studio 中的向量下标超出范围错误
- javascript - Ember 3 计算属性 getter setter
- rest - 如何使用 Aqueduct 为 MySQL 创建一个 persistentStore?
- python - 如何将 word2vec 嵌入作为 Keras 嵌入层传递?
- python - Python管道中的视频和音频流到ffmpeg