視覚化したい日時インデックスを持つシリーズがあるシナリオでは、 「yyyy-mm」や「2016 March」などの単純な形式を選択したにもかかわらず、グラフには、時、分、秒を含むタイムスタンプが表示されます。
この問題に対処し、目的の形式を実現するには、次の機能を活用できます。 matplotlib によって提供されます。特に、日時軸はフォーマッタを使用してカスタマイズできます。これらのフォーマッタを使用すると、X 軸の目盛りラベルをどのように表示するかを指定できます。
フォーマッタの使用方法を示す例を次に示します。
<code class="python">import numpy as np import pandas as pd import matplotlib.pyplot as plt import matplotlib.dates as mdates # Sample data with hourly timestamps N = 30 drange = pd.date_range("2014-01", periods=N, freq="H") np.random.seed(365) values = {'values':np.random.randint(1,20,size=N)} df = pd.DataFrame(values, index=drange) # Create a plot with incorrect formatting fig, ax = plt.subplots() ax.plot(df.index, df.values) ax.set_xticks(df.index) # Use formatters to achieve the desired formatting ax.xaxis.set_major_formatter(mdates.DateFormatter("%Y-%m")) ax.xaxis.set_minor_formatter(mdates.DateFormatter("%Y-%m")) plt.xticks(rotation=90) # Display the updated plot with the desired formatting plt.show()</code>
この例では、まず次のことを行います。時間ごとのタイムスタンプを含むサンプル データフレームを作成します。次に、matplotlib.dates の DateFormatter を使用して、X 軸の目盛りラベルが年と月のみを表す "%Y-%m" 形式になるように指定します。最後に、xticks を呼び出して目盛りラベルを回転させて読みやすくします。
このアプローチを実装すると、日時軸の形式を効果的にカスタマイズでき、希望の表示要件に合わせて調整できます。
以上がmatplotlib で日時軸を書式設定して年と月のみを表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。