Ligne de terrain avec des points de données dans les pandas
À l'aide de pandas
je peux facilement faire une ligne de la parcelle:
import pandas as pd
import numpy as np
%matplotlib inline # to use it in jupyter notebooks
df = pd.DataFrame(np.random.randn(50, 4),
index=pd.date_range('1/1/2000', periods=50), columns=list('ABCD'))
df = df.cumsum()
df.plot();
Mais je ne peux pas comprendre comment aussi tracer les données comme des points sur les lignes, comme dans cet exemple:
Cette matplotlib exemple semble le suggérer le sens, mais je ne trouve pas comment le faire en utilisant les pandas de tracé, des possibilités. Et je suis spécialement intéressé à apprendre comment le faire avec les pandas parce que je suis toujours à travailler avec dataframes.
Toute indices?
- Veuillez vérifier le montage dans ma réponse, il peut être très utile si vous avez du mal avec le choix des points à certaines dates.
- Excellent, @ViníciusAguiar, très belle astuce.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le
style
kwarg à ladf.parcelle
de commande. À partir de la docs:Donc, vous pouvez soit définir un style de trait pour toutes les lignes, ou un différent pour chaque ligne.
par exemple, cela fait quelque chose de similaire à ce que vous avez demandé:
Pour définir un marqueur différent et le style de trait pour chaque ligne, vous pouvez utiliser une liste:
Vous pouvez également passer le
markevery
kwarg surmatplotlib
's commande plot, à ne dessiner des marqueurs à un intervalle donnéVous pouvez utiliser
markevery
argument endf.plot()
, comme suit:markevery
accepter une liste de points spécifiques(ou les dates), si c'est ce que vous voulez.Vous pouvez également définir une fonction pour aider à trouver le bon emplacement: