Tracé à partir d'une trame de données de pandas avec un index timedelta

Bella

J'essaie de tracer des données à partir d'une trame de données de pandas avec un index timedelta et je souhaite personnaliser les graduations temporelles et les étiquettes sur mon axe des x. Cela devrait être simple, mais cela s'avère être un travail difficile.

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.dates as dates

## I have a df similar to this
timestamps = pd.date_range(start="2017-05-08", freq="10T", periods=6*6)
timedeltas = timestamps - pd.to_datetime("2017-05-08")
yy = np.random.random((len(timedeltas),10))
df = pd.DataFrame(data=yy, index=timedeltas)  # Ok, this is what I have

## Now I want to plot this but I want detailed control of the plot so I use matplotlib instead of df.plot
fig,axes=plt.subplots()
axes.plot(df.index.values, df.values)
#axes.plot_date(df.index, df.values, '-')

axes.xaxis.set_major_locator(dates.HourLocator(byhour=range(0,24,2)))
axes.xaxis.set_minor_locator(dates.MinuteLocator(byminute=range(0,24*60,10)))
axes.xaxis.set_major_formatter(dates.DateFormatter('%H:%M'))

plt.show()

Comme vous pouvez le voir, les tiques n'apparaissent même pas. Comment puis-je ajouter des graduations et des libellés majeurs toutes les deux heures et des graduations mineures toutes les 10 minutes, par exemple ?

Xukrao

Bien que je ne sache pas exactement quel est le problème racine, il semble qu'il soit lié aux versions de package utilisées. Lorsque j'exécute votre exemple avec une ancienne distribution python (matplotlib 1.5.1, numpy 1.11.1, pandas 0.18.1 et python 2.7.12), j'obtiens un tracé sans ticks comme vous l'avez décrit.

Cependant, je peux obtenir un tracé avec les bonnes ticks

tracer avec les bonnes coches

en exécutant le code ci-dessous avec une distribution python récente (matplot 2.0.1, numpy 1.12.1, pandas 0.19.1 et python 3.6.1).

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.dates as dates

timestamps = pd.date_range(start="2017-05-08", freq="10T", periods=6*6)
timedeltas = timestamps - pd.to_datetime("2017-05-08")
yy = np.random.random((len(timedeltas),10))
df = pd.DataFrame(data=yy, index=timedeltas)

fig,axes=plt.subplots()
axes.plot_date(df.index, df.values, '-')

axes.xaxis.set_major_locator(dates.HourLocator(byhour=range(0,24,2)))
axes.xaxis.set_minor_locator(dates.MinuteLocator(byminute=range(0,24*60,10)))
axes.xaxis.set_major_formatter(dates.DateFormatter('%H:%M'))

plt.show()

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

Créer un tracé de ligne à partir d'une trame de données avec un index à deux colonnes

Tracé de séries chronologiques Pandas à partir d'une trame de données multi-index

Construire une trame de données pandas avec un index donné à partir de deux séries

Créer un index à partir d'une trame de données pandas multi-index

construire une trame de données multi-index pandas à partir d'un dictionnaire imbriqué

Le tracé n'a pas de ligne continue lors d'un tracé multiligne à partir d'une trame de données de pandas

Tracer un barplot à partir d'une trame de données Pandas avec des points

Désempiler une trame de données avec un index dupliqué dans Pandas

Remplir une trame de données Pandas avec des données d'une liste dans un ordre unique d'index ?

Créer une trame de données pandas à partir d'un fichier .txt avec des données par ligne

Comment faire apparaître un tracé / tracé 3D à partir d'une trame de données?

Pandas - Créez une trame de données avec une seule ligne à partir du dictionnaire avec un tableau d'entiers

Tracer un barplot et une ligne à partir d'une trame de données pandas avec un axe y différent

Comment obtenir des valeurs de colonne à partir d'une autre trame de données avec un index datetime différent

Comment créer une trame de données à partir d'un dictionnaire avec un index auto-incrémenté

Rajoutez des entiers dans un index basé sur la trame de données pandas à partir d'une autre trame de données

Tracer une dépendance partielle avec un modèle construit à partir de la trame de données pandas

Python Pandas crée une trame de données à partir d'un fichier avec des fractionnements de nouvelle ligne?

Comment ajouter mes données à une trame de données python pandas à partir d'un dictionnaire ?

Pouvez-vous extraire des index de données sur un seuil à partir d'un tableau numpy ou d'une trame de données pandas

Ajout d'une colonne à la trame de données pandas à l'aide d'un dictionnaire avec index

Obtenir une trame de données pandas à partir d'un dict avec des tuples comme clés

Comment créer une trame de données pandas à partir de json imbriqué avec un dictionnaire

itérer sur la trame de données pandas à partir d'un index de ligne spécifique

Ajout d'un index de temps à une trame de données de pandas de google finance

Essayer de rechercher une valeur à partir d'une trame de données pandas dans une plage de deux lignes dans la trame de données d'index

Renommer un sous-ensemble d'index à partir d'une trame de données

Pandas comment copier une colonne dans une autre trame de données avec un index similaire

Ajouter une annotation de texte au tracé matplotlib à partir d'un cadre de données pandas

TOP liste

  1. 1

    Microsoft.WebApplication.targets

  2. 2

    Exporter la table de l'arborescence vers CSV avec mise en forme

  3. 3

    Spring @RequestParam DateTime format comme ISO 8601 Date Heure facultative

  4. 4

    Comment analyser un hachage Ruby plat en un hachage imbriqué?

  5. 5

    Passer la taille d'un tableau 2D à une fonction ?

  6. 6

    Comment créer une nouvelle application dans Dropbox avec des autorisations complètes

  7. 7

    Algorithme: diviser de manière optimale une chaîne en 3 sous-chaînes

  8. 8

    Laravel SQLSTATE [HY000] [1049] Base de données inconnue 'previous_db_name'

  9. 9

    comment supprimer "compte de connexion google" à des fins de développement - actions sur google

  10. 10

    php ajouter et fusionner des données de deux tables

  11. 11

    Créer un système Buzzer à l'aide de python

  12. 12

    Existe-t-il un moyen de voir si mon bot est hors ligne ?

  13. 13

    Comment changer la couleur de la police dans R?

  14. 14

    Déplacement des moindres carrés d'ajustement pour les déplacements de points ayant des problèmes

  15. 15

    impossible d'obtenir l'image d'arrière-plan en plein écran dans reactjs

  16. 16

    Comment vérifier si un utilisateur spécifique a un rôle? Discord js

  17. 17

    comment afficher un bouton au-dessus d'un autre élément ?

  18. 18

    Comment choisir le nombre de fragments et de répliques Elasticsearch

  19. 19

    Comment ajouter une entrée à une table de base de données pour une combinaison de deux tables

  20. 20

    optimiser les opérations du serveur avec elasticsearch: traitement des filigranes de disque bas

  21. 21

    Comment analyser un fichier avec un tableau d'objets JSON en utilisant Node.js?

chaudétiquette

Archive