matplotlib---設置坐標軸


import matplotlib.pyplot as plt
import numpy as np

# 一維數組, 元素為從-3到3之間均勻地產生50個點
x = np.linspace(-3, 3, 50)

y1 = 2 * x + 1
y2 = x ** 2


# num=3表示圖片上方標題, figsize設置figure大小
plt.figure(num=3, figsize=(8, 5))
plt.plot(x, y1)

# 設置紅色虛線寬度為1.0
plt.plot(x, y2, color='red', linewidth=1, linestyle='--')

# ## 設置坐標軸 ## #
# 設置x和y軸的范圍
plt.xlim((-1, 2))
plt.ylim((-2, 3))

# 設置坐標軸含義, 中文需要加fontproperties屬性
plt.xlabel('價格', fontproperties='SimHei')
plt.ylabel('利潤', fontproperties='SimHei')

# 設置x軸和y軸的刻度
new_ticks = np.linspace(-1, 2, 5)
plt.xticks(new_ticks)

"""
設置對應坐標用漢字或英文表示, 后面的fontproperties表示中文不亂碼,
$$表示將英文括起來, r表示正則[配, 可以變為好看的字體
顯示特殊字符, 比如阿爾法, 用轉義符\alpha, 前面的\表示空格轉義
"""
plt.yticks([-2, -1.8, -1, 1.22, 3.], ['非常糟糕', '糟糕', r'$good\ \alpha$', r'$really\ good$', '超級好'],
           fontproperties='SimHei')

# 設置邊框/坐標軸
# gca = 'get current axis/獲取當前軸線'
ax = plt.gca()
# 取消右邊和上邊軸, spines就是四個邊框
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')

# matplotlib並沒有設置默認的x軸和y軸, 設置默認軸
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')

# 設置坐標原點
# 將(0, -1)設置為坐標原點
# x軸放置到y軸-1點處
ax.spines['bottom'].set_position(('data', -1))
# 將y軸放置到x軸0點處
ax.spines['left'].set_position(('data', 0))
# 使用set_position之后中文顯示不出來
plt.yticks([-2, -1.8, -1, 1.22, 3.], ['非常糟糕', '糟糕', r'$good\ \alpha$', r'$really\ good$', '超級好'],
           fontproperties='SimHei')

plt.show()


免責聲明!

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



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