我有一个简单的数据集,其中包含X和Y值,我正在matplotlib中绘制它。我的数据中独立变量是持续时间/时间差(例如60秒、2小时、24小时、10天),在我的输入数据中始终表示为整数秒数。我的问题是,matplotlib是否有任何智能设置持续时间轴标签的方法,以便以人类可读的形式显示?
例如,在小尺度上,仅将30秒显示为“30秒”是可取的。在大尺度上,最好显示“10天”,而不是864000秒。在中间某个位置,最好使用“分钟”和“小时”来读取标签。Matplotlib是否有自动推断跨越几个数量级的持续时间的近似人类可读性的方法?
理想情况下,我使用的任何方法都应该适用于跨越不同持续时间尺度的数据集,而不是针对一个输入数据集进行个别定制的图表。
例如,在小尺度上,仅将30秒显示为“30秒”是可取的。在大尺度上,最好显示“10天”,而不是864000秒。在中间某个位置,最好使用“分钟”和“小时”来读取标签。Matplotlib是否有自动推断跨越几个数量级的持续时间的近似人类可读性的方法?
理想情况下,我使用的任何方法都应该适用于跨越不同持续时间尺度的数据集,而不是针对一个输入数据集进行个别定制的图表。
ax.xaxis.set_major_locator(plt.MultipleLocator(1*60))
。 - eldad-a