调整 x 轴标签并防止它们在 Pandas / matplotlib 中被截断

Swi*_*Run 1 python matplotlib pandas

我正在尝试在每个 x 轴点上添加标签。使用当前代码,较长的 x 轴标题上的标签会被截断,并且只有这么多的 x 轴点才会获得一个标签。

如何使图像画布更大而不截断 x 轴标签?

如何强制在 x 轴上标记每个点?

import pandas as pd
import matplotlib.pyplot as plt
import sys

def plotcsv(csvpath):
    pdata = pd.read_csv(csvpath)
    pdata = pdata.set_index('Build') #Adds build column for names of x axis points

    try: # sometimes there's an extra column if there were extra commas in the csv
        pdata = pdata.drop(pdata.columns[4], axis = 1)
    except:
        pass

    p = pdata.plot(title="Power vs Build", rot=-10)
    p.set_ylabel("W")
    # print(pdata.index)
    # print(pdata['Build'])
    # plt.xticks(pdata.index, rotation=90) # Doesn't work
    plt.savefig(csvpath + '.png')
Run Code Online (Sandbox Code Playgroud)

小智 6

plt.tight_layout()只需在保存绘图之前添加即可。

这是有关此主题的matplotlib 文档。