我正在从 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()
我想要的输出是将 X 轴上的所有标签与线上的相对标记点对齐。
答案 0 :(得分:1)
您似乎在使用 y 值 (df.Score
) 作为 x-ticks 的位置。
我猜你的意思
ax.set_xticks(df['Split'])