77572


**試したコード**

[code]

    import pandas as pd
    import matplotlib.pyplot as plt
    import seaborn as sns
    
    tips = sns.load_dataset('tips')
    tips['total_bill'].plot.bar()
    
[/code]

**結果**

[![画像の説明をここに入力](https://i.stack.imgur.com/yOkgH.png)](https://i.stack.imgur.com/yOkgH.png)

下記のように行数を制限すると読めています。

[code]

    tips['total_bill'][:10].plot.bar()
    
[/code]

**結果**  
[![画像の説明をここに入力](https://i.stack.imgur.com/9fEbO.png)](https://i.stack.imgur.com/9fEbO.png)

なにか良い方法はありますでしょうか？


CC BY-SA 4.0
2021-06-15T06:06:14.073
77567
2021-06-15T07:30:49.667
9008
question
python pandas matplotlib seaborn
プロットの横軸が詰まって読めない


例えばこんな感じで元のX軸ラベルを取得して、同数の空文字列配列に10個おきに値をコピーして再設定すれば、間引いて表示されるので見易くなるでしょう。

[code]

    ax = tips['total_bill'].plot.bar()
    xlabels = ax.get_xticklabels()
    
    newlabels = [''] * len(xlabels)
    for i in range(0,len(xlabels),10):
        newlabels[i] = xlabels[i]
    
    ax.set_xticklabels(newlabels)
    
[/code]


CC BY-SA 4.0
2021-06-15T07:17:47.287
77571
2021-06-15T07:17:47.287
26370
77567
answer


`MaxNLocator` を使う方法です。

[code]

    ax = tips['total_bill'].plot.bar()
    ax.xaxis.set_major_locator(plt.MaxNLocator(len(tips)//20+1))
    plt.show()
    
[/code]

[![figure](https://i.stack.imgur.com/43RwB.png)](https://i.stack.imgur.com/43RwB.png)


CC BY-SA 4.0
2021-06-15T07:30:49.667
77572
2021-06-15T07:30:49.667
77567
answer