python庫之matplotlib學習---關於坐標軸


首先定·定義x, y創建一個figure

1 import numpy as np
2 import matplotlib.pyplot as plt
3 x = np.linspace(-1, 1, 10)
4 y1 = 2*x
5 y2 = x*x
6 plt.figure()

使用plt.plot()畫圖

plt.plot(x, y1)
plt.plot(x, y2, color="blue", linestyle="--", linewidth=1.0)

使用plt.xlabel()以及plt.ylabel()對坐標軸進行標注

plt.xlabel("x label")
plt.ylabel("y label")

使用xticks()以及ysticks()設置坐標軸刻度

x_stick = np.linspace(-1, 1, 5)
plt.xticks(x_stick)
plt.yticks([1, 2, 3, 4], ["$bad\ xixi$", "$ordinary$", "$good$", "$best$"])

使用plt.gca()獲取坐標軸信息

ax = plt.gca()

我們可以對坐標軸的進行各種設置(包含將坐標軸交點設為(0,0)的方法

#使用spines設置邊框,共有("left","right","top","bottom")四種選項,使用set_color()設置顏色
ax.spines["right"].set_color("none")
ax.spines["top"].set_color("none")
#將左邊框放到x=0的位置,將下邊框放大y=0的位置
ax.spines["bottom"].set_position(("data", 0))
ax.spines["left"].set_position(("data", 0))

 使用xaxis.set_ticks_position()以及yaxis.set_ticks_position()設置x或y坐標刻度或名稱的位置

# 所有位置:top,bottom,both,default,none
ax.xaxis.set_ticks_position('top')
ax.xaxis.set_label_position('top')
# 所有位置:left,right,both,default,none
ax.yaxis.set_ticks_position('right')
ax.yaxis.set_label_position('right')

使用plt.show()畫圖

plt.show()

所有代碼

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-1, 1, 10)
y1 = 2*x
y2 = x*x
plt.figure()
plt.plot(x, y1)
plt.plot(x, y2, color="blue", linestyle="--", linewidth=1.0)

plt.xlabel("x label")
plt.ylabel("y label")

x_stick = np.linspace(-1, 1, 5)
plt.xticks(x_stick)
plt.yticks([1, 2, 3, 4], ["$bad\ xixi$", "$ordinary$", "$good$", "$best$"])

ax = plt.gca()
#使用spines設置邊框,共有("left","right","top","bottom")四種選項,使用set_color()設置顏色
ax.spines["right"].set_color("none")
ax.spines["top"].set_color("none")
#將底部邊框放大y=0的位置
ax.spines["bottom"].set_position(("data", 0))
ax.spines["left"].set_position(("data", 0))
# 所有位置:top,bottom,both,default,none
ax.xaxis.set_ticks_position('top')
ax.xaxis.set_label_position('top')
# 所有位置:left,right,both,default,none
ax.yaxis.set_ticks_position('right')
ax.yaxis.set_label_position('right')

plt.show()

結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM