การจัดกลุ่มองค์ประกอบ SVG เข้าด้วยกันใน D3 Js
เผยแพร่แล้ว: 2023-01-15D3.js เป็นไลบรารี JavaScript ที่ทรงพลังสำหรับจัดการเอกสารตามข้อมูล มักใช้สำหรับการสร้าง การแสดงข้อมูลเชิงโต้ตอบ บนเว็บ สิ่งที่ยอดเยี่ยมอย่างหนึ่งเกี่ยวกับ d3.js คือมีวิธีการสร้างและจัดการองค์ประกอบ SVG ที่หลากหลาย วิธีหนึ่งที่คุณสามารถจัดการองค์ประกอบ SVG คือการจัดกลุ่มเข้าด้วยกัน สิ่งนี้มีประโยชน์หลายประการ เช่น ทำให้ง่ายต่อการใช้สไตล์บางอย่างกับชุดขององค์ประกอบ หรือทำให้แอนิเมชั่นมีประสิทธิภาพมากขึ้น ในบทความนี้ เราจะมาดูวิธีจัดกลุ่มองค์ประกอบ SVG เข้าด้วยกันใน d3.js
กราฟิกแบบเวกเตอร์ที่ปรับขนาดได้ (SVG) ทำให้เห็นภาพสิ่งที่คุณต้องการได้ง่ายขึ้น และให้คุณควบคุมสิ่งที่จะทำให้สำเร็จได้มากขึ้น องค์ประกอบ SVG มีชุดคุณสมบัติของตัวเอง รวมถึงรูปทรงเรขาคณิตและรูปแบบ เช่นเดียวกับองค์ประกอบ HTML เราสามารถใช้ attr และต่อท้ายได้ทุกเมื่อที่ต้องการ เนื่องจาก SVG ถูกฝังอยู่ใน DOM ตัวอย่างต่อไปนี้ระบุพิกัดจุดกำเนิด ตลอดจนความกว้างและความสูงของสี่เหลี่ยมผืนผ้า ตลอดจนองค์ประกอบรูปสี่เหลี่ยมผืนผ้าที่มีพิกัด x และ y โดยการต่อท้ายองค์ประกอบเส้นใน SVG ของเราและใช้ฟังก์ชัน attr เราสามารถระบุแอตทริบิวต์ x1, y1, x2, y2 และเส้นขีด เมื่อพิกัด y ต่างกันระหว่างเส้น เราจะได้รับเกรเดียนต์ที่มีเส้นเดียวกัน คุณสามารถรวมองค์ประกอบใน SVG ได้ เช่น องค์ประกอบข้อความ
เมื่อเราเพิ่มเส้นขีดให้กับข้อความ เส้นนั้นจะปรากฏเป็นสีขาวใต้วงรีสีดำ CSS ใช้สำหรับคุณสมบัติต่อไปนี้ หรือสามารถนำไปใช้โดยตรง เป็นผลให้เราสามารถใช้ D3 เพื่อสร้างองค์ประกอบ SVG
เป็นไปได้ที่จะซ้อนกราฟิก SVG โดยใช้ รูปแบบ SVG มีความเป็นไปได้ที่องค์ประกอบ “*svg>” สามารถวางไว้ภายในองค์ประกอบอื่นได้
Svg ใน D3js คืออะไร?
SVG หรือกราฟิกแบบเวกเตอร์ที่ปรับขนาดได้เป็นวิธีมาตรฐานในการแสดงกราฟิกแบบเวกเตอร์สองมิติบนเว็บ D3.js เป็นไลบรารี JavaScript สำหรับจัดการเอกสารตามข้อมูล D3.js ใช้ SVG เพื่อสร้างการ แสดงภาพแบบโต้ตอบและตอบสนอง
พูดง่ายๆ กราฟิกแบบเวกเตอร์ก็คือ Scalable Vector Graphics (SVG) XML เป็นรูปแบบกราฟิกเริ่มต้น สามารถใช้วาดเส้น สี่เหลี่ยม วงกลม วงรี และอื่นๆ หากต้องการสร้างตัวอย่าง เพียงทำตามขั้นตอนด้านล่าง วิดีโอนี้กำหนดสี่เหลี่ยมผืนผ้าอย่างง่ายโดยการอธิบายความหมายของมัน สี่เหลี่ยมผืนผ้าที่อธิบายด้านล่างสามารถสร้างแบบไดนามิกได้ รายละเอียดลักษณะของวงกลมมีคำอธิบายโดยละเอียดด้านล่าง เช่นเดียวกับแท็กวงกลม
อะไรคือความสำคัญของ Svg และ Dom ใน D3?
SVG และ DOM เป็นสองเทคโนโลยีสำคัญที่ใช้ใน D3 SVG ใช้ในการสร้างกราฟิกแบบเวกเตอร์ที่สามารถปรับขนาดได้ทุกขนาดโดยไม่สูญเสียคุณภาพ DOM ใช้เพื่อสร้างและจัดการเอกสาร HTML และ XML เทคโนโลยีเหล่านี้ช่วยให้ D3 สร้างการแสดงข้อมูลเชิงโต้ตอบที่สามารถใช้กับหน้าเว็บใดก็ได้
D3 ใช้ Canvas หรือ Svg หรือไม่
D3 ใช้ทั้ง SVG และ Canvas เพื่อวาดกราฟิก SVG ใช้เพื่อวาดกราฟิกแบบเวกเตอร์ ในขณะที่ Canvas ใช้เพื่อวาดกราฟิกแบบพิกเซล
เนื่องจากผืนผ้าใบไม่มีสถานะ เราจึงไม่สามารถผูกข้อมูลกับรูปร่างภายในผืนผ้าใบได้ เนื่องจากผืนผ้าใบประกอบด้วยพิกเซล เราใช้ forEach ลูปเพื่อวาดแต่ละฟีเจอร์ (ซึ่งเทียบเท่ากับ D3) เพราะเราไม่จำเป็นต้องเพิ่มองค์ประกอบเข้าไป การผูกข้อมูลกับผืนผ้าใบสามารถทำได้โดยใช้องค์ประกอบจำลอง แต่จำเป็นต้องใช้วิธีการอื่น การผูกข้อมูล Canvas ต้องใช้ชุดขององค์ประกอบจำลอง แต่เมื่อผูกแล้ว คุณสามารถใช้การเปลี่ยนและรอบการอัปเดตได้ การแสดงภาพแสดงถึงโหนด faux เมื่อผืนผ้าใบมีการผูกข้อมูลไว้ เมื่อใช้วิธีนี้ ท รานซิชัน D3 สามารถทาสีซ้ำได้อย่างต่อเนื่องโดยที่ยังคงคุณสมบัติทั้งหมดขององค์ประกอบเทียมไว้ Canvas เป็นตัวแทนของพิกเซลมากกว่าองค์ประกอบ
เนื่องจากการกระทำของเมาส์ไม่สามารถรับผลกระทบจากรูปร่างที่แสดงได้ จึงโต้ตอบด้วยได้ยาก เมาส์สามารถโต้ตอบกับ Canvas ได้ แต่เหตุการณ์มาตรฐานจะถูกเรียกใช้เมื่อพิกเซลเฉพาะโต้ตอบกับมัน ประสิทธิภาพของ Canvas จะมีประสิทธิภาพมากขึ้นเมื่อจำนวนโหนดที่ให้บริการเพิ่มขึ้น โมดูลและวิธีการที่ใช้บ่อยที่สุด สามารถสร้างข้อมูลเส้นทางผ้าใบโดยใช้ ข้อมูลเส้นทาง SVG ได้เช่นกัน การเรียกใช้เมธอดคือเมธอดที่ใช้ในการทำงานเฉพาะอย่าง ในทางกลับกัน โมดูล เช่น d3-hierarchy จะไม่แสดงผลใดๆ แต่มีตัวเลือกให้ สามารถใช้ Canvas หรือ svg เพื่อแสดงผลข้อมูลได้ ต่อไปนี้เป็นโมดูลบางส่วนที่ฉันต้องการเน้น
ใครใช้ D3js บ้าง?
การจัดการเอกสารที่ขับเคลื่อนด้วยข้อมูลทำได้โดยใช้ js ซึ่งเป็นไลบรารี JavaScript ที่ใช้ในเอกสาร ในแอปพลิเคชันนี้ ข้อมูลสามารถแสดงเป็นภาพโดยใช้ HTML, CSS และ SVG ซึ่งสามารถดูได้ในเบราว์เซอร์สมัยใหม่ นอกจากนี้ยังมีแอนิเมชั่นและการโต้ตอบที่น่าทึ่งซึ่งมาพร้อมกับระบบมาตรฐาน
เป็นไลบรารี JavaScript ที่ให้เฟรมเวิร์กสำหรับสร้างการแสดงภาพ D3 ใช้ Document Object Model (DOM) เพื่อแปลงข้อมูลและ องค์ประกอบกราฟิก ให้เป็นการแสดงภาพ โมเดลเทมเพลต D3 ไม่เป็นไปตามโมเดลเทมเพลตที่ใช้โดยชุดเครื่องมือการแสดงภาพอื่นๆ หากคุณต้องการโปรดทำเช่นนั้น เชื่อมโยงกิจกรรมของเมาส์ สามารถแสดงข้อมูลไดนามิกหรือบางสิ่งที่ไม่สามารถทำได้ด้วยเครื่องมืออื่นโดยใช้ D3 อาจเป็นเรื่องยากสำหรับโปรแกรมเมอร์เว็บรายใหม่ที่จะเชี่ยวชาญ D3
เป้าหมายของบทความนี้คือการจัดเตรียมพื้นฐานความรู้ที่มั่นคงเพื่อช่วยให้คุณเข้าใจการ แสดงภาพ D3 ที่ซับซ้อน ยิ่งขึ้น คุณจะได้เรียนรู้วิธีสร้าง SVG, DOM, Method Chaining และแอปพลิเคชันสไตล์ CSS เราจะจัดหาแหล่งข้อมูลเพิ่มเติมหากคุณต้องการเรียนรู้เชิงลึกเพิ่มเติมเกี่ยวกับหัวข้อนี้
ก่อนที่คุณจะเริ่มทำงานเกี่ยวกับการออกแบบกราฟิกที่ขับเคลื่อนด้วยข้อมูล คุณควรพิจารณาปัจจัยสามประการนี้ก่อน คุณมีข้อมูลอะไรบ้าง? สิ่งที่คุณต้องการแสดงคืออะไร? คุณจะตั้งค่าการเชื่อมโยงข้อมูลได้อย่างไร ใน D3 คุณสามารถผูกข้อมูลกับ DOM แล้วใช้การแปลงที่ขับเคลื่อนด้วยข้อมูลกับเอกสาร D3.js ทำให้ง่ายต่อการรับข้อมูลที่คุณต้องการและแสดงในลักษณะที่คุณต้องการ คุณสามารถสร้างตาราง HTML แผนภูมิ SVG หรือแม้แต่แอปพลิเคชันเชิงโต้ตอบโดยใช้ D3.js
Svg องค์ประกอบ
องค์ประกอบ svg ใช้เพื่อจัดกลุ่มองค์ประกอบที่เกี่ยวข้องกัน องค์ประกอบย่อย ทั้งหมดขององค์ประกอบจะแสดงผลร่วมกัน องค์ประกอบนี้มักใช้เพื่อจัดกลุ่มรูปร่าง SVG เข้าด้วยกัน