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))