Pertanyaan Atur interval x-sumbu (tik) untuk grafik Pandas DataFrame


Saya mencoba mengatur kutu (langkah waktu) sumbu x pada grafik matplotlib saya dari Pandas DataFrame. Tujuan saya adalah menggunakan kolom pertama dari DataFrame untuk digunakan sebagai kutu, tetapi saya belum berhasil sejauh ini.

Upaya saya sejauh ini sudah termasuk:

Mencoba 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]])

Mencoba 2:

ax.xaxis.set_ticks(data_df[header_names[0]])

header_names hanya daftar nama-nama judul kolom dan dataframe adalah sebagai berikut:

    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    

Dan inilah data dalam format 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

Dan di sini adalah implementasi membaca dan merencanakan grafik:

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)

Grafik saat ini terlihat seperti:

Sumbu x saat ini adalah jumlah baris dalam dataframe (mis. 12) daripada nilai aktual dalam kolom pertama.

Apakah ada cara untuk menggunakan data dari kolom pertama dalam dataframe untuk ditetapkan sebagai tanda centang / interval / langkah waktu dari sumbu x?


4
2017-12-15 19:14


asal


Jawaban:


Ini bekerja untuk saya:

data_df.plot(x='Compression Velocity', y='Compression Force', xticks=d['Compression Velocity'])

enter image description here


9
2017-12-15 19:46