Bonjour,
J'ai un fichier filexy.xlsx avec une colonne 'angle' (les x) et une colonne 'counts' (les y .. c'est un diffractogramme).
Pour faire le graphe je fais:On voit bien l'abscise allant de 0 à 50 avec le graphe commençant à 5.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 import numpy as np import pandas as pd import matplotlib.pyplot as plt from scipy.signal import find_peaks filexy = pd.read_excel('filexy.xlsx') x = filexy['angle'] y = filexy['counts'] plt.figure(figsize=(16,8)) plt.plot(x,y, c='b')
Puis, pour trouver les pics:Puis, pour afficher le graphe + le peak-picking, si je fais ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 peaks, _ = find_peaks(y, prominence=50)ca affiche bien le peak-picking sur la courbe, mais mon abscisse est perdue au profit du nombre de points selon x
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 # afficher le graphe avec les pics trouvés (peak-picking) plt.figure(figsize=(16,8)) plt.plot(y) plt.plot(peaks, y[peaks], "vr")
=> Comment faire pour afficher le graphe comme il faut avec les peak-picking ET l'abscisse de 0 à 50?
Merci pour toute aide.
PS:
J'ai bien essayé des trucs mais j'arrive à:
un graphe écrasé de 0 à 50 et le peak-picking étalé jusqu'a 3184 (nombre de valeurs),
des problèmes de tableaux de dimensions non concordantes,
des peak-pickings a ras du sol,
des graphes sans le peak-picking visible..
Bref il me serait bien utile que vous puisiez m'expliquer ce que je fais mal
(et que j'arrête de faire n'importe quoi par manque de compréhension des retours de find_peaks()..entre autre
Partager