如何从熊猫数据框中(正确)绘制线图?

时间:2020-12-19 11:08:45

标签: pandas dataframe matplotlib

我正在从 Pandas 数据框中绘制线图。然而,标签重叠在 X 轴的右侧而不是线上的相对点标记。缺少什么?

这里是完整的代码和图片

#importing pandas package
import pandas as pd
import matplotlib.pyplot as plt
import csv
import seaborn as sns
# making data frame from csv file
dataset = pd.read_csv('curve.csv.csv')

df = pd.DataFrame(dataset.sort_values('Split')[['Split', 'Score']]) 
df.reset_index(drop=True, inplace=True)

print(df)



ax = df.plot.line(x='Split',y='Score',color='green',marker=".")
ax.set_xlim((0, 1))
ax.grid(True)
# set the tick marks for x axis
ax.set_xticks(df.Score)
ax.set_xticklabels(['.005','.010','.015','.020','.040','.060','.080','1','15','20','25','30','35','40','45','50','55','60'
                    ,'65','70','75','80','85','90','95'])

ax.grid(True, linestyle='-.')
ax.tick_params(labelcolor='r', labelsize='medium', width=3)

plt.show()

Image_plot

我想要的输出是将 X 轴上的所有标签与线上的相对标记点对齐。

1 个答案:

答案 0 :(得分:1)

您似乎在使用 y 值 (df.Score) 作为 x-ticks 的位置。

我猜你的意思

ax.set_xticks(df['Split'])