Я пытаюсь установить тики (временные шаги) оси x на моем графике matplotlib в Pandas DataFrame. Моя цель - использовать первый столбец DataFrame для использования в качестве тиков, но до сих пор я не был успешным.Установите интервалы оси x (для галочки) для графика Pandas DataFrame
Мои попытки до сих пор включали:
Попытка 1:
#See 'xticks'
data_df[header_names[1]].plot(ax=ax, title="Roehrig Shock Data", style="-o", legend=True, xticks=data_df[header_names[0]])
Попытка 2:
ax.xaxis.set_ticks(data_df[header_names[0]])
header_names
это просто список имен заголовков столбцов и dataframe является, как следует:
Compression Velocity Compression Force
1 0.000213 6.810879
2 0.025055 140.693200
3 0.050146 158.401500
4 0.075816 171.050200
5 0.101011 178.639500
6 0.126681 186.228800
7 0.150925 191.288300
8 0.176597 198.877500
9 0.202269 203.937000
10 0.227466 208.996500
11 0.252663 214.056000
44 +44516410617451515053691368888
А вот данные в формате CSV:
Compression Velocity,Compression Force
0.0002126891606,6.810879
0.025055073079999997,140.6932
0.050145696,158.4015
0.07581600279999999,171.0502
0.1010109232,178.6395
0.12668120459999999,186.2288
0.1509253776,191.2883
0.1765969798,198.8775
0.2022691662,203.937
0.2274659662,208.9965
0.2526627408,214.056
А вот реализация чтения и построения графика:
data_df = pd.read_csv(file).astype(float)
fig = Figure()
ax = fig.add_subplot(111)
ax.set_xlabel("Velocity (m/sec)")
ax.set_ylabel("Force (N)")
data_df[header_names[1]].plot(ax=ax, title="Roehrig Shock Data", style="-o", legend=True)
Текущий график выглядит так:
ось x в настоящее время представляет собой количество строк в фрейме данных (например, 12), а не фактические значения в первом столбце.
Есть ли способ использовать данные из первого столбца в dataframe для установки в качестве тиков/интервалов/шагов времени оси x?
Пробовали ли вы 'df.plot (х = 'Column_you_want_as_x', у = 'Column_you_want_as_y', xticks = d [ 'Column_you_want_as_x'])' ? – BrenBarn
Я не пробовал передавать все 3 в качестве параметров одновременно, но, к сожалению, это тоже не сработало. Спасибо за предложение. –
Он работает для меня, но я не знаю, установлены ли мои данные по-другому, потому что вы не предоставляете данные образца. Можете ли вы предоставить самодостаточный примерный код и примеры данных, демонстрирующих проблему? – BrenBarn