python - 如何绘制时间图表 (mm :ss) in Matplotlib (formatting output values)

标签 python time charts matplotlib plot

我正在 Python Matplotlib 中以 mm:ss.tttt 格式绘制时间线图。

我已经将这些值转换回千分之一秒,我可以创建一个漂亮的绘图。但这意味着 Y 轴显示的值是“832323”,而不是更容易阅读的“1:23.2323”。

有什么方法可以适本地格式化输出值吗?

最佳答案

在我写完这篇文章后不久,我自己就解决了这个问题。使用Matplotlibs的轴,set_major_formatter()函数。

我编写了一个快速格式化函数,它将获取千分之一秒的值并将其转回 mm:ss.tttt。然后将此格式化程序传递给轴定义。

导入“ticker”模块以及绘图内容:

import matplotlib.pyplot as plt                                                 
from matplotlib import ticker  

创建您自己的值格式化函数:

def format_10Kth_time(time, pos=None):                                          
    mins     = time // (10000 * 60)                                             
    secs     = (time - (mins * 10000 * 60)) // (10000)                          
    fracsecs = time % 10000                                                     
    return "%d:%02d.%d" % (mins, secs, fracsecs)

然后在我的绘图代码中,我这样做是为了改变 Y 轴格式:

plt.gca().yaxis.set_major_formatter(ticker.FuncFormatter(format_10Kth_time))
plt.plot(...) 
plt.show() 

关于python - 如何绘制时间图表 (mm :ss) in Matplotlib (formatting output values),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14679639/

相关文章:

python - 为什么 UniCurses for Python 不起作用?

python - 两个 Pandas 系列的散点图,按日期着色并带有图例

python - Python 中 iter 函数的第二个参数是什么?

python - 使用变量和时间戳的输出写入文件

java - 如何获取 MPAndroidChart 上的滚动偏移量?

python - 在 Jetson Nano Ubuntu 18 上安装 PyTorch

java - 如何在java中从两次获取分钟

haskell - 如何使用 Data.Time.UTCTime 添加分钟到当前时间?

d3.js - 使用 D3js v4 的多环 donut chart

javascript - 当工具提示组合来自多个系列的数据时,如何以编程方式显示我的图表工具提示? (同步图表)