У меня очень странное поведение в matplotlib + seaborn.
Пожалуйста, не обращайте внимания на эстетические особенности!
У меня есть файл .csv, строки которого имеют очень маленькие значения.
Чтение csv с пандами:
csvdata = pd.read_csv('csv.csv', sep=';', header=None, index_col=0)
idx = np.arange(1, 33)
y = csvdata.iloc[4,idx]
x = csvdata.iloc[0,idx]
Каждая строка этого файла - это мой "y" и имеет следующие значения:
0.000001479;0.000001562;1.47E-06;1.39E-06;1.35E-06;1.36E-06;1.33E-06;1.30E-06;1.25E-06;1.26E-06;0.000001249;1.23E-06;1.21E-06;1.19E-06;1.17E-06;1.18E-06;1.17E-06;1.12E-06;1.11E-06;1.10E-06;1.11E-06;1.10E-06;0.000001073;0.000001055;1.05E-06;1.05E-06;1.03E-06;1.02E-06;1.02E-06;1.01E-06;1.01E-06;1.01E-06
'х' это:
0.223214286;0.446428571;0.669642857;1;1;1;2;2;2;2;2;3;3;3;3;4;4;4;4;4;5;5;5;5;6;6;6;6;6;7;7;7
Когда я пытаюсь построить эту строку в matplotlib, она дает мне:
Как видно, график группирует множество значений. Я попытался установить значения оси x, чтобы сделать их правильными, поэтому я сделал:
fig = sb.plt.figure(figsize=(12, 5))
ax = fig.add_subplot(111)
ax.plot(x, y, '-o', color='orange', linewidth=3)
fmt = tkr.FormatStrFormatter('%1.1E')
ax.yaxis.set_major_formatter(fmt)
fmt = tkr.FormatStrFormatter('%1.2f')
ax.xaxis.set_major_formatter(fmt)
ax.xaxis.set_major_locator(tkr.MultipleLocator(.22))
И результат:
И я хочу (экспортировано из Excel):
Есть идеи, что вызывает эту проблему? На мой взгляд, это должно быть так же просто, как: plot (x, y), и matplotlib должен идентифицировать все значения на обеих осях...
Я что-то пропустил?
Заранее всем спасибо!
y
? Что у тебя здесьx
? я подозреваю, что проблема именно в этом - person tmdavison   schedule 18.12.2015x
значения после первых 3:1;1;1;2;2;2;2;2;3;3;3;3;4;4;4;4;4;5;5;5;5;6;6;6;6;6;7;7;7
- person tmdavison   schedule 18.12.2015