Я пытаюсь построить график, но невозможно правильно прочитать данные в текстовой форме: я получаю сообщение «Ошибка значения: невозможно преобразовать строку в float» ,Ошибка значения: numpy.loadtxt не удалось преобразовать строку в float
from matplotlib import pyplot as plt
import numpy as np
y,x = np.loadtxt('C:\\Users\\Sarah\\Downloads\\XRDdata.txt', unpack = True, delimiter = ';')
plt.plot(x,y)
plt.title('Diffractogramme de la substance KNO3')
plt.ylabel('Intensité (u.a.)')
plt.xlabel('Angle 2θ (°)')
plt.show()
Мои данные выглядит следующим образом:
19.04;24.5
19.37;11.57
23.57;100
23.84;55.4
27.74;1.7
29.06;5.69
29.44;65.53
32.38;33.95
32.44;7.54
33.09;19.97
33.68;36.61
33.87;48.58
34.06;24.59
37.35;8.61
38.01;4.57
38.63;9.22
39.32;2.83
40.74;1.59
41.2;52.8
41.85;25.27
43.71;11.8
44.18;21.33
45.22;2.31
46.64;21.82
46.79;9.81
47.02;7.97
48.22;2.96
48.8;1.97
51.62;1.67
51.86;3.78
etc.
Как я могу заставить его работать? Благодарим вас за рассмотрение моих проблем с этой программой.
возможно, плохие данные где-то. Для получения дополнительной справки дайте ссылку на весь файл. –
Если вы попытаетесь загрузить только данные, которые вы предоставили в вопросе, он отлично работает. Поэтому причина ошибки должна быть где-то еще в файле данных, где у вас отсутствуют значения или верхний или нижний колонтитул, который не соответствует структуре данных '; '. Вы можете попытаться предоставить полные данные для тех, кто может проверить, указав ссылку на нее (возможно, загрузите ее на сайт pastebin.com или аналогичный). Вы также можете поэкспериментировать с ['np.genfromtxt'] (https://docs.scipy.org/doc/numpy/reference/generated/numpy.genfromtxt.html), который предоставляет гораздо больше опций, чем' loadtxt'. –
ImportanceOfBeingErnest
Существует одна проблема, не связанная с ошибкой: 'y, x = np.loadtxt (..., unpack = True, ...)' читает первый столбец в 'y', а второй - в' x', поэтому вы интенсивность смешивания с углом. Вместо этого используйте 'x, y = np.loadtxt ...'. – ImportanceOfBeingErnest