中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python和matplotlib如何繪圖

發布時間:2022-03-05 15:44:55 來源:億速云 閱讀:456 作者:小新 欄目:開發技術

這篇文章主要介紹了Python和matplotlib如何繪圖,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

圖標英文顯示設置:

正常以字符串形式傳進去字串,英文顯示格式不是很美觀,為了讓文字更美觀點,在書寫時以這種格式寫:

r'$string$'

在這里,如果需要特殊數學字符使用 \ 轉義,空格也需要轉義

比如:r'$This\ is\ the\ some\ text.\ \mu\ \sigma_i\ \alpha_t$'

Python和matplotlib如何繪圖

一、figure窗口及坐標軸設置 

plt.figure(figsize = (20, 8), dpi = 80)窗口,用于展示圖片

1、figure圖形的意思,這里指我們畫的圖,

2、通過實例化一個figure并且傳遞參數,能夠在后臺自動使用該figure實例;

3、在圖像模糊的時候可以傳入dpi參數,讓圖片更加清晰

4、figsize:指定圖片的大小

5、linewidth:指定顯示的線的寬度

6、linestyle:指定線條顯示的風格,如:虛線 line

ax = plt.gca()獲取當前圖形的坐標軸

gca == "get current axis" 獲取坐標軸

ax.spines['right'].set_color('none')圖形的邊框

spines通過在[]設置left\right\bottom\top來對4個邊框進行格式設置

set_color是設置顏色

ax.xaxis.set_ticks_position('bottom')設置用哪個刻度做軸使用bottom當作x軸
ax.spines['bottom'].set_position(('data', 0))設置坐標軸的位置設置x軸的位置是放在y軸的0刻度處
import numpy as np
from matplotlib import pyplot as plt
 
x = np.linspace(-3, 3, 50)
y1 = x*2+1
y2 = x**2
 
#創建一個窗口
plt.figure()
#同一窗口放置多張圖片
l1, = plt.plot(x, y1, label='up')
l2, = plt.plot(x, y2, color="red", linewidth=2.0, line, label='down')
#設置顯示圖例
plt.legend(handles=[l1, l2], labels=['aaa', 'bbb'], loc='best')
 
#設置坐標軸的取值范圍
plt.xlim((-1,2))
plt.ylim((-2,3))
 
#設置坐標軸的提示信息
plt.xlabel("I am x")
plt.ylabel("I am y")
 
#生成新的坐標點
new_ticks = np.linspace(-1, 2, 5) #將-1~2分為5份
#設置顯示出來的坐標單位
plt.xticks(new_ticks)
#人為指定坐標軸顯示的內容
#設置刻度上顯示的內容,但需要人為指定對應順序
plt.yticks([-2, -1.8, -1, 1.22, 3,], [r'$really\ bad$', r'$bad$', r'$normal$',
                            r'$good$', r'$really\ good$'])
 
# gca == "get current axis" 獲取坐標軸
ax = plt.gca()
#圖形的邊框
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
 
#改變坐標軸的位置
#設置用哪個刻度做軸
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
#橫坐標設置為y軸的0
ax.spines['bottom'].set_position(('data', 0)) #outward, axes
ax.spines['left'].set_position(('data', 0))
plt.show()

Python和matplotlib如何繪圖

 二、為特殊點加注解(Annotation)

使用text()會將文本放置在軸域的任意位置。 文本的一個常見用例是標注繪圖的某些特征,而annotate()方法提供輔助函數,使標注變得容易。 annotate用于在圖形上給數據添加文本注解,而且支持帶箭頭的劃線工具,方便我們在合適的位置添加描述信息。在標注中,有兩個要考慮的點:由參數xy表示的標注位置和xytext的文本位置。 這兩個參數都是(x, y)元組。

參數說明:

Axes.annotate(s, xy, *args, **kwargs)

  • s:注釋文本的內容

  • xy:被注釋的坐標點,二維元組形如(x,y)

  • xytext:注釋文本的坐標點,也是二維元組,默認與xy相同

  • xycoords:被注釋點的坐標系屬性,允許輸入的值如下

屬性值含義
'figure points'以繪圖區左下角為參考,單位是點數
'figure pixels'以繪圖區左下角為參考,單位是像素數
'figure fraction'以繪圖區左下角為參考,單位是百分比
'axes points'以子繪圖區左下角為參考,單位是點數(一個figure可以有多個axex,默認為1個)
'axes pixels'以子繪圖區左下角為參考,單位是像素數
'axes fraction'以子繪圖區左下角為參考,單位是百分比
'data'以被注釋的坐標點xy為參考 (默認值)
'polar'不使用本地數據坐標系,使用極坐標系
  • textcoords :注釋文本的坐標系屬性,默認與xycoords屬性值相同,也可設為不同的值。除了允許輸入xycoords的屬性值,還允許輸入以下兩種:

屬性值含義
'offset points'相對于被注釋點xy的偏移量(單位是點)
'offset pixels'相對于被注釋點xy的偏移量(單位是像素)
  • arrowprops:箭頭的樣式,dict(字典)型數據,如果該屬性非空,則會在注釋文本和被注釋點之間畫一個箭頭。如果不設置'arrowstyle' 關鍵字,則允許包含以下關鍵字:

關鍵字說明
width箭頭的寬度(單位是點)
headwidth箭頭頭部的寬度(點)
headlength箭頭頭部的長度(點)
shrink箭頭兩端收縮的百分比(占總長)
?任何 matplotlib.patches.FancyArrowPatch中的關鍵字
import numpy as np
from matplotlib import pyplot as plt
 
x = np.linspace(-3, 3, 50)
y1 = x*2+1
plt.figure()
plt.plot(x, y1, label='up')
 
#添加注釋
x0 = 1
y0 = 2*x0 + 1
#使用散點方式,只顯示一個點, blue
plt.scatter(x0, y0, s=50, color='b')
#k--表示 black的 --
plt.plot([x0, x0], [0, y0], 'k--', lw=2.5)
 
ax = plt.gca()
ax.spines['top'].set_color('none')
ax.spines['right'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
ax.spines['bottom'].set_position(('data', 0))
ax.spines['left'].set_position(('data', 0))
 
#設置標注
#method 1
plt.annotate(r'$2x+1=%s$' % str(y0), xy=(x0, y0),
             xycoords='data', xytext=(+30, -30), textcoords='offset points',
             fontsize=16, arrowprops=dict(arrowstyle='->', connectionstyle='arc3, rad=.2'))
plt.text(-3.7, 3, r'$This\ is\ the\ some\ text.\ \mu\ \sigma_i\ \alpha_t$',
            fontdict={'size':16, 'color': 'r'})
 
plt.show()

Python和matplotlib如何繪圖

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Python和matplotlib如何繪圖”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巴中市| 聂拉木县| 永仁县| 旬阳县| 凤庆县| 黎川县| 德惠市| 弥渡县| 亳州市| 正安县| 达拉特旗| 上林县| 海盐县| 云安县| 安达市| 翁源县| 佳木斯市| 大埔县| 宁明县| 墨竹工卡县| 镇原县| 黄浦区| 太仓市| 永修县| 桦川县| 黎川县| 罗山县| 高淳县| 苗栗县| 阿拉尔市| 改则县| 连州市| 巴林右旗| 乌鲁木齐县| 威信县| 武隆县| 鄂尔多斯市| 两当县| 乌拉特后旗| 罗江县| 海宁市|