簡體   English   中英

Matplotlib:如何在圖上方設置刻度線標簽

[英]Matplotlib: how to set a tick label above a plot

不好
這是我使用matplotlib繪制的正弦和余弦圖。 但是刻度線標簽位於圖的下方,幾乎看不到。

我的python代碼是:

import numpy as np
import matplotlib.pyplot as plt

fig = plt.figure(figsize=(8,6), dpi=96)
plt.subplot(111)

X = np.linspace(-np.pi, np.pi, 256, endpoint=True)
C,S = np.cos(X), np.sin(X)

plt.plot(X, C, color="blue", linewidth=2.5, linestyle="-", label="consine")
plt.plot(X, S, color="red", linewidth=2.5, linestyle="-", label="sine")

plt.xlim(X.min()*1.1, X.max()*1.1)
plt.ylim(C.min()*1.1, C.max()*1.1)

plt.xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi],
          [r'$-\pi$', r'$-\frac{\pi}{2}$', r'$0$', r'$+\frac{\pi}{2}$', r'$+\pi$'])
plt.yticks([-1,  1],
          [r'$-1$', r'$+1$'])

ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))

plt.legend(loc='upper left', frameon=False)


for label in ax.get_xticklabels()+ax.get_yticklabels():
    label.set_fontsize(16)
    label.set_bbox(dict(facecolor='green', edgecolor='None', alpha=0.2))


plt.savefig("figures/exercise10.png", dpi=120)
plt.show()

那么,如何在情節上方設置刻度線標簽?

理想效果

謝謝!

可能您想設置標簽,並且將軸尖刺在線條的頂部。 使用"axes.axisbelow" rcParam可以輕松實現。

plt.rcParams["axes.axisbelow"] = False

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM