Mam prosty zestaw danych wartości X i Y, które wykreślam w matplotlib. Zmienna niezależna w moich danych to czas trwania/timedelta (np. 60 sekund, 2 godziny, 24 godziny, 10 dni), które w moich danych wejściowych są zawsze reprezentowane jako liczba całkowita sekund. Moje pytanie brzmi, czy matplotlib ma jakiś sposób inteligentnego ustawiania etykiet osi czasu w ludzkiej czytelnej formie?inteligentne etykiety osi matplotlib dla timedelta
Na przykład na małym końcu skali pożądane byłoby, aby pokazać 30 sekund po prostu jako "30 sekund". Na dużym końcu skali lepiej byłoby pokazać "10 dni" zamiast 864000 sekund. Gdzieś pomiędzy, lepiej byłoby, gdyby etykiety były czytane w "minutach" i "godzinach". Czy matplotlib ma jakiś zautomatyzowany sposób wnioskowania czegoś w przybliżeniu ludzkiego czytelnego dla czasów trwania rzędu kilku rzędów wielkości?
Bez względu na to, jakie podejście zastosuję, należy uogólnić na zbiory danych obejmujące różne ramy czasowe, a nie wykresy dostosowane indywidualnie do jednego zestawu danych wejściowych.
Dodatkowo, jeśli chcesz zmodyfikować xticks, aby pokazać się co minutę: 'ax.xaxis.set_major_locator (plt.MultipleLocator (1 * 60)) –