Python
 Computer >> コンピューター >  >> プログラミング >> Python

Matplotlibの目盛りの間にx-tickラベルを中央揃え


2つの目盛りの間にラベルを配置するには、次の手順を実行できます-

  • サンプルデータをロードします、r。
  • 配列のコピーを作成し、指定したタイプにキャストします。
  • subplots()を使用して、図とサブプロットのセットを作成します メソッド。
  • 日付とサンプルデータをプロットします。
  • set_major_locator()を使用して、メジャー/マイナーティッカーのロケーターを設定します およびset_minor_locator() メソッド。
  • set_major_locator()を使用してメジャー/マイナーフォーマッターのロケーターを設定します およびset_minor_formatter() メソッド。
  • 次に、目盛りラベルを中央に配置します。
  • 図を表示するには、 show()を使用します メソッド。

import numpy as np
import matplotlib.cbook as cbook
import matplotlib.dates as dates
import matplotlib.ticker as ticker
import matplotlib.pyplot as plt
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
with cbook.get_sample_data('aapl.npz') as fh:
   r = np.load(fh)['price_data'].view(np.recarray)
r = r[-250:]
date = r.date.astype('O')
fig, ax = plt.subplots()
ax.plot(date, r.adj_close)
ax.xaxis.set_major_locator(dates.MonthLocator())
ax.xaxis.set_minor_locator(dates.MonthLocator(bymonthday=15))
ax.xaxis.set_major_formatter(ticker.NullFormatter())
ax.xaxis.set_minor_formatter(dates.DateFormatter('%b'))
for tick in ax.xaxis.get_minor_ticks():
   tick.tick1line.set_markersize(0)
   tick.tick2line.set_markersize(0)
   tick.label1.set_horizontalalignment('center')
imid = len(r) // 2
ax.set_xlabel(str(date[imid].year))
plt.show()

出力

Matplotlibの目盛りの間にx-tickラベルを中央揃え


  1. Matplotlibのサブプロットの目盛りラベルの密度を下げる方法は?

    matplotlibのサブプロットの目盛りラベルの密度を下げるために、密度に最小値を割り当てることができます。 ステップ 変数、密度を初期化します 。 numpyを使用してxおよびyデータポイントを作成します。 plot()を使用してxおよびyデータポイントをプロットします メソッド。 xticks()を使用して、X軸の現在の目盛りの位置とラベルを取得または設定します メソッド。 図を表示するには、 show()を使用します メソッド。 例 import numpy as np from matplotlib import pyplot as plt pl

  2. Matplotlibで凡例マーカーとラベルの間のスペースを調整するにはどうすればよいですか?

    凡例マーカーとラベルの間のスペースを調整するために、凡例メソッドでlabelspacingを使用できます。 ステップ label1で線をプロットします 、 label2 およびlabel3 。 スペース変数を初期化して、凡例マーカーとラベルの間のスペースを増減します。 凡例を使用する ラベル間隔を使用するメソッド 引数で。 図を表示するには、 show()を使用します メソッド。 例 from matplotlib import pyplot as plt plt.rcParams["figure.figsize"] = [7.00, 3.5