私はseabornで一連の箱ひげ図をプロットしています
_sns.boxplot(full_array)
_
ここで、_full_array
_には200個の配列が含まれます。したがって、x軸には0から200までの200の箱ひげ図と目盛りがあります。
Xticksは互いに近すぎます。たとえば、ラベルを付けたxtickを20ごとに表示するなど、それらの一部のみを表示したいと思います。
言及したように私はいくつかの解決策を試しました here が機能しませんでした。
Xticksをサンプリングするたびに、0からNまでの番号が付けられており、単位間隔でティックのラベルが間違っています。
たとえば、ax.xaxis.set_major_locator(ticker.MultipleLocator(20))
という行では、ラベルが付けられたxtickを20ごとに取得しますが、ラベルは20、40、60、80ではなく1、2、3、4です...
手伝ってくれてありがとうございます。
シーボーンボックスプロットは、FixedLocatorとFixedFormatterを使用します。
print ax.xaxis.get_major_locator()
print ax.xaxis.get_major_formatter()
プリント
<matplotlib.ticker.FixedLocator object at 0x000000001FE0D668>
<matplotlib.ticker.FixedFormatter object at 0x000000001FD67B00>
したがって、ティックの値は固定フォーマッターによって設定されるため、ロケーターをMultipleLocator
に設定するだけでは不十分です。
代わりに、ScalarFormatter
を設定することをお勧めします。これにより、目盛りラベルがその位置の数値に対応するように設定されます。
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
import seaborn.apionly as sns
import numpy as np
ax = sns.boxplot(data = np.random.Rand(20,30))
ax.xaxis.set_major_locator(ticker.MultipleLocator(5))
ax.xaxis.set_major_formatter(ticker.ScalarFormatter())
plt.show()