SymPy - การพล็อต

SymPy ใช้ไลบรารี Matplotlib เป็นแบ็กเอนด์ในการแสดงพล็อต 2-D และ 3-D ของฟังก์ชันทางคณิตศาสตร์ ตรวจสอบให้แน่ใจว่า Matplotlib พร้อมใช้งานในการติดตั้ง Python ปัจจุบัน ถ้าไม่ติดตั้งเหมือนกันโดยใช้คำสั่งต่อไปนี้ -

pip install matplotlib

การสนับสนุนการพล็อตถูกกำหนดไว้ในโมดูล sympy.plotting ฟังก์ชันต่อไปนี้มีอยู่ในโมดูลการพล็อต -

  • plot - พล็อตเส้น 2D

  • plot3d - พล็อตเส้น 3 มิติ

  • plot_parametric - พล็อตพาราเมตริก 2D

  • plot3d_parametric - พล็อตพาราเมตริก 3D

ฟังก์ชัน plot () ส่งคืนอินสแตนซ์ของคลาส Plot พล็อตรูปอาจมีนิพจน์ SymPy อย่างน้อยหนึ่งรายการ แม้ว่ามันจะสามารถใช้ Matplotlib เป็นแบ็กเอนด์ได้ แต่ก็อาจใช้แบ็กเอนด์อื่น ๆ เช่น texplot, pyglet หรือ Google charts API ได้เช่นกัน

plot(expr, range, kwargs)

โดยที่ expr คือนิพจน์ symPy ที่ถูกต้อง หากไม่ได้กล่าวถึงช่วงจะใช้ค่าเริ่มต้นเป็น (-10, 10)

ตัวอย่างต่อไปนี้แปลงค่า x2 สำหรับแต่ละค่าในช่วง (-10,10) -

>>> from sympy.plotting import plot 
>>> from sympy import * 
>>> x=Symbol('x') 
>>> plot(x**2, line_color='red')

ในการวาดหลายพล็อตสำหรับช่วงเดียวกันให้ใส่หลาย ๆ นิพจน์ก่อนช่วงทูเพิล

>>> plot( sin(x),cos(x), (x, -pi, pi))

คุณยังสามารถระบุช่วงแยกต่างหากสำหรับแต่ละนิพจน์

plot((expr1, range1), (expr2, range2))

รูปต่อไปนี้จะแปลง sin (x) และ cos (x) ในช่วงต่างๆ

>>> plot( (sin(x),(x, -2*pi, 2*pi)),(cos(x), (x, -pi, pi)))

อาร์กิวเมนต์คำสำคัญที่เป็นทางเลือกต่อไปนี้อาจถูกระบุในฟังก์ชัน plot ()

  • line_color - ระบุสีของเส้นพล็อต

  • title - สตริงที่จะแสดงเป็นชื่อเรื่อง

  • xlabel - สตริงที่จะแสดงเป็นป้ายกำกับสำหรับแกน X

  • ylabel - สตริงที่จะแสดงเป็นป้ายกำกับสำหรับแกน y

>>> plot( (sin(x),(x, -2*pi, 2*pi)),(cos(x), (x, -pi, pi)), line_color='red', title='SymPy plot example')

ฟังก์ชัน plot3d () แสดงพล็อตสามมิติ

plot3d(expr, xrange, yrange, kwargs)

ตัวอย่างต่อไปนี้วาดพล็อตพื้นผิว 3 มิติ -

>>> from sympy.plotting import plot3d 
>>> x,y=symbols('x y') 
>>> plot3d(x*y, (x, -10,10), (y, -10,10))

เช่นเดียวกับพล็อต 2 มิติพล็อตสามมิติยังสามารถมีได้หลายพล็อตซึ่งแต่ละอันมีช่วงที่แตกต่างกัน

>>> plot3d(x*y, x/y, (x, -5, 5), (y, -5, 5))

ฟังก์ชัน plot3d_parametric_line () แสดงผลพล็อตเส้นพาราเมตริก 3 มิติ

>>> from sympy.plotting import plot3d_parametric_line 
>>> plot3d_parametric_line(cos(x), sin(x), x, (x, -5, 5))

ในการวาดพล็อตพื้นผิวพาราเมตริกให้ใช้ฟังก์ชัน plot3d_parametric_surface ()

plot3d_parametric_surface(xexpr, yexpr, zexpr, rangex, rangey, kwargs)

>>> from sympy.plotting import plot3d_parametric_surface 
>>> plot3d_parametric_surface(cos(x+y), sin(x-y), x-y, (x, -5, 5), (y, -5, 5))