python畫圖之plt.plot


(43條消息) matplotlib.pyplot.plot()參數詳解_ims-的博客-CSDN博客_matplotlib plot

【python】Matplotlib作圖常用marker類型、線型和顏色 - 大大西瓜吃不飽 - 博客園 (cnblogs.com)

plt.plot()函數詳細介紹

import matplotlib.pyplot as plt
help(plt.plot)

 

plt.plot(x, y, format_string, **kwargs)

參數 說明
x X軸數據,列表或數組,可選
y Y軸數據,列表或數組
format_string 控制曲線的格式字符串,可選
**kwargs 第二組或更多(x,y,format_string),可畫多條曲線
format_string 由顏色字符、風格字符、標記字符組成
  • 顏色字符
    • 'b' 藍色 'm' 洋紅色 magenta
    • 'g' 綠色 'y' 黃色
    • 'r' 紅色 'k' 黑色
    • 'w' 白色 'c' 青綠色 cyan
    • '#008000' RGB某顏色 '0.8' 灰度值字符串
    • 多條曲線不指定顏色時,會自動選擇不同顏色
  • 風格字符
    • '‐' 實線
    • '‐‐' 破折線
    • '‐.' 點划線
    • ':' 虛線
    • '' ' ' 無線條
  • 標記字符
    • '.' 點標記
    • ',' 像素標記(極小點)
    • 'o' 實心圈標記
    • 'v' 倒三角標記
    • '^' 上三角標記
    • '>' 右三角標記
    • '<' 左三角標記
    • ``'.'`` point marker
      ``','`` pixel marker
      ``'o'`` circle marker
      ``'v'`` triangle_down marker
      ``'^'`` triangle_up marker
      ``'<'`` triangle_left marker
      ``'>'`` triangle_right marker
      ``'1'`` tri_down marker
      ``'2'`` tri_up marker
      ``'3'`` tri_left marker
      ``'4'`` tri_right marker
      ``'s'`` square marker
      ``'p'`` pentagon marker 五角星形
      ``'*'`` star marker
      ``'h'`` hexagon1 marker  六邊形
      ``'H'`` hexagon2 marker
      ``'+'`` plus marker
      ``'x'`` x marker
      ``'D'`` diamond marker
      ``'d'`` thin_diamond marker
      ``'|'`` vline marker
      ``'_'`` hline marker

       

       

b = np.arange(5) plt.plot(b,b*1.0,'g.-',b,b*1.5,'rx',b,b*2.0, 'b') plt.show() 
 

 

 

**kwargs : 第二組或更多(x,y,format_string)

color : 控制顏色, color='green'
linestyle : 線條風格, linestyle='dashed'
marker : 標記風格, marker='o'
markerfacecolor: 標記顏色, markerfacecolor='blue'
markersize: 標記尺寸, markersize=20

假如希望標記的顏色和線條的顏色不同,那么就這樣用:

plt.plot(x,y,'g-')
plt.plot(x,y,'r.')
plt.show()

 

即,把plt.show()寫在最后一句就行了。

 

坐標軸的設置:

(46條消息) Matplotlib數據可視化——設置坐標軸,原點,圖例_量子孤島的博客-CSDN博客_matplotlib坐標原點

今天突破了導軌和轉台的調試程序,學習會Python娛樂一下
matplotlib庫和MATLAB的數據可視化功能幾乎是相同,只是因為人工智能的火爆以及使用方便深受大家喜愛。

1.基本使用
1.1figure圖像
繪制單一函數的圖像

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 1, 30)
y = 3*x + 1
plt.plot(x, y)
plt.show()

繪制兩個函數

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-3, 3, 50) # 注意linspace不是linespace
y1 = 2*x+1
y2 = x**2+1 # 乘方注意和C的區別
# 繪制第一個函數
plt.figure()
plt.plot(x, y1)
# 繪制第二個函數
plt.figure(num=3, figsize=(6, 6))
plt.plot(x, y2)

plt.show()


繪制在同一坐標系中

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-3,3,50)
y1 = 2*x+1
y2 = x**2

#繪制在同一個figure中
plt.figure()
plt.plot(x, y1)
plt.plot(x, y2, color='violet', linewidth=3.0, linestyle='--') # 指定顏色,線寬和線型
plt.show()


1.2 坐標軸的設置
截取x,y的某一區間進行展示
設置x,y的標簽
設置某一軸的刻度間隔划分
設置坐標值對應的相應含義並正則化設置字體格式
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-3,3,50)
y1 = 2*x+1
y2 = x**2

#繪制在同一個figure中
plt.figure()
plt.plot(x,y1)
plt.plot(x,y2,color='red',linewidth = 2.0,linestyle = '--')#指定顏色,線寬和線型

#截取x,y的某一部分
plt.xlim((-1,2))
plt.ylim((-2,3))
#設置x,y的坐標描述標簽
plt.xlabel("I am x")
plt.ylabel("I am y")
#設置x刻度的間隔
new_ticks = np.linspace(-1,2,5)
plt.xticks(new_ticks)
plt.yticks([-2, -1.5, 0, 1.5, 3],
[r'$Really\ bad\ \alpha$', r'$bad$', r'$normal$', r'$good$', r'$very\ good$'])#r表示正則化,$$表示用數學字體輸出

plt.show()

 


移動坐標軸的位置
隱藏上下左右的某一個軸
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-3,3,50)
y1 = 2*x+1
y2 = x**2

#繪制在同一個figure中
plt.figure()
plt.plot(x,y1)
plt.plot(x,y2,color='red',linewidth = 2.0,linestyle = '--')#指定顏色,線寬和線型

#截取x,y的某一部分
plt.xlim((-1,2))
plt.ylim((-2,3))
#設置x,y的坐標描述標簽
plt.xlabel("I am x")
plt.ylabel("I am y")
#設置x刻度的間隔
new_ticks = np.linspace(-1,2,5)
plt.xticks(new_ticks)
plt.yticks([-2, -1.5, 0, 1.5, 3],
[r'$Really\ bad\ \alpha$', r'$bad$',
r'$normal$', r'$good$', r'$very\ good$'])
#r表示正則化,$$表示用數學字體輸出
# gca = 'get current axis'
ax = plt.gca()#獲取當前坐標的位置
#去掉坐標圖的上和右 spine翻譯成脊梁
ax.spines['right'].set_color('None')
ax.spines['top'].set_color('None')
#指定坐標的位置
ax.xaxis.set_ticks_position('bottom') # 設置bottom為x軸
ax.yaxis.set_ticks_position('left') # 設置left為x軸
ax.spines['bottom'].set_position(('data',0))#這個位置的括號要注意
ax.spines['left'].set_position(('data',0))
plt.show()

 

1.3設置legend圖例
最簡單的方法就是在plot中打上label然后用legend( )方法實現

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-3,3,50)
y1 = 2*x+1
y2 = x**2

#繪制在同一個figure中
plt.figure()
plt.plot(x,y1,label='山高月小')
plt.plot(x,y2,color='red',linewidth = 2.0,linestyle = '--',label='水落石出')#指定顏色,線寬和線型

plt.legend()
plt.show()

如圖所示,中文出現亂碼,上網查了一下,需要在開頭加上

plt.rcParams['font.sans-serif']=['SimHei'] #用來正常顯示中文標簽
plt.rcParams['axes.unicode_minus']=False #用來正常顯示負號
1
2
這時顯示正常了

更加高級的方法

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif']=['SimHei'] #用來正常顯示中文標簽
plt.rcParams['axes.unicode_minus']=False #用來正常顯示負號

x = np.linspace(-3,3,50)
y1 = 2*x+1
y2 = x**2

#繪制在同一個figure中
plt.figure()
l1, = plt.plot(x,y1,label='山高月小')#放在handles中l1一定要加,
l2, = plt.plot(x,y2,color='red',linewidth = 2.0,linestyle = '--',label='水落石出')

plt.legend(handles=[l1, l2,],labels=['小舟從此逝','江海寄余生'],loc='best')
plt.show()



如果只打印l1的圖例,則修改

plt.legend(handles=[l1,],labels=['小舟從此逝',],loc='best')
1

未完待續~~
————————————————
版權聲明:本文為CSDN博主「量子孤島」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/fly_wt/article/details/84147063

 


免責聲明!

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



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