D3 Js: การใช้ตัวแปรเพื่อสร้างการแสดงข้อมูลเชิงโต้ตอบ

เผยแพร่แล้ว: 2022-12-31

D3.js เป็นไลบรารี JavaScript สำหรับจัดการเอกสารตามข้อมูล D3 ช่วยให้คุณทำให้ข้อมูลมีชีวิตชีวาโดยใช้ HTML, SVG และ CSS การเน้นที่มาตรฐานเว็บของ D3 ช่วยให้คุณใช้ความสามารถเต็มรูปแบบของเบราว์เซอร์สมัยใหม่โดยไม่ต้องผูกมัดตัวเองกับเฟรมเวิร์กที่เป็นกรรมสิทธิ์ การรวมส่วนประกอบการแสดงภาพที่ทรงพลังและวิธีการจัดการ DOM ที่ขับเคลื่อนด้วยข้อมูล ปรัชญาหลักของ D3 คือการจัดการเอกสารควรขับเคลื่อนด้วยข้อมูล ซึ่งหมายความว่า เช่นเดียวกับโค้ดอื่นๆ การแสดงภาพของคุณควรสร้างขึ้นจากข้อมูลที่สามารถเปลี่ยนแปลง อัปเดต และจัดการได้ตามต้องการ นอกจากนี้ เนื่องจากข้อมูลเป็นแรงผลักดันที่อยู่เบื้องหลังการแสดงภาพของคุณ จึงควรส่งผ่านชุดข้อมูลต่างๆ ไปยังการแสดงภาพของคุณได้ง่ายโดยไม่ต้องเขียนโค้ดใหม่ วิธีที่ดีที่สุดวิธีหนึ่งในการบรรลุเป้าหมายเหล่านี้คือการใช้ตัวแปร ตัวแปรช่วยให้คุณสามารถจัดเก็บข้อมูลและจัดการข้อมูลได้ตามต้องการ ใน D3 โดยทั่วไปจะใช้ตัวแปรเพื่อเก็บข้อมูลที่จะใช้ในการสร้างหรือแก้ไขเอกสาร ตัวอย่างเช่น คุณสามารถใช้ตัวแปรเพื่อจัดเก็บข้อมูลเกี่ยวกับความกว้างของคอนเทนเนอร์ SVG ความสูงของแท่งในแผนภูมิแท่ง หรือสีของเส้นในกราฟเส้น ในบทช่วยสอนนี้ เราจะกล่าวถึงวิธีการใช้ตัวแปรใน D3 เราจะพูดถึงวิธีการสร้างตัวแปร วิธีกำหนดค่าให้กับตัวแปร และวิธีใช้ตัวแปรในโค้ดของคุณ นอกจากนี้ เราจะดูตัวอย่างการใช้ตัวแปรเพื่อสร้างการแสดงภาพแบบไดนามิกและเชิงโต้ตอบ

การใช้กราฟิกแบบเวกเตอร์ที่ปรับขนาดได้ (SVG) ช่วยให้คุณสร้างผลลัพธ์การแสดงภาพแบบโต้ตอบที่สมจริงยิ่งขึ้น แต่ละองค์ประกอบของไฟล์ SVG มีชุดคุณสมบัติของตัวเอง ซึ่งรวมถึงคุณสมบัติทางเรขาคณิตและรูปแบบ เนื่องจาก SVG มีอยู่ใน DOM เราจึงสามารถใช้ attr() และ append() เช่นเดียวกับที่เราใช้กับองค์ประกอบ HTML ตัวอย่างต่อไปนี้ประกอบด้วยองค์ประกอบรูปสี่เหลี่ยมผืนผ้า พร้อมด้วยพิกัด x และ y ตลอดจนความกว้างและความสูงของสี่เหลี่ยมผืนผ้า เราใช้ attr() เพื่อเพิ่มแอตทริบิวต์ x1, y1, x2, y2 และ stroke ให้กับ SVG อันเป็นผลมาจากขั้นตอนนี้ ดังที่เราเห็นจากภาพ เราสามารถรับเส้นไล่ระดับสีได้เมื่อเราใช้เส้นเดียวกันแต่มีพิกัด y ต่างกัน องค์ประกอบที่มีข้อความอยู่ที่ด้านขวาของหน้าจอใน SVG

เพื่อแสดงข้อความของเราเป็นสีขาวเหนือวงรีสีดำ จึงมีการเพิ่มเส้นขีดลงในข้อความของเรา การใช้ CSS เป็นวิธีเดียวที่จะใช้คุณสมบัติเหล่านี้ทั้งทางตรงและทางอ้อม เป็นผลให้สามารถใช้ D3 เพื่อสร้าง องค์ประกอบ SVG

D3 ใช้ Svg หรือไม่

D3 ใช้ Svg หรือไม่
ภาพที่ถ่ายโดย: googleusercontent.com

ใช่ D3 ใช้ SVG เพื่อสร้างการแสดงภาพ SVG เป็นรูปแบบกราฟิกเวกเตอร์ที่ใช้สร้าง กราฟิกสองมิติ D3 ใช้ SVG เพื่อสร้างแผนภูมิ กราฟ และการแสดงภาพอื่นๆ

เอกสารที่ขับเคลื่อนด้วยข้อมูลถูกสร้างขึ้นด้วยไลบรารี JavaScript D3 (เอกสารที่ขับเคลื่อนด้วยข้อมูล) ไลบรารีนี้สามารถใช้กับกราฟิก HTML, CSS และ .sva วิธีการประกาศใช้ใน D3 สำหรับการเลือกองค์ประกอบ DOM ซึ่งขึ้นอยู่กับชุดการเลือกโหนด เวอร์ชันแรกของ D3 เปิดตัวในปี 2554 และไลบรารีสำหรับเวอร์ชันนี้ยังอยู่ในระหว่างดำเนินการ เมื่อคุณผูกข้อมูลกับองค์ประกอบ องค์ประกอบสามารถสร้างแบบไดนามิกด้วยเนื้อหา ค่าแอตทริบิวต์ สไตล์ การเปลี่ยน การโต้ตอบแบบไดนามิก และคุณสมบัติอื่นๆ นอกจากนี้ยังมีวิธีการข้อมูลที่รวมอาร์เรย์ของข้อมูลเข้ากับการเลือกองค์ประกอบและส่งคืนการเลือกเสมือนสามรายการ ฟังก์ชันข้อมูลใช้พิกัดเพื่อกำหนดจุดศูนย์กลางขององค์ประกอบ เช่นเดียวกับรัศมี

เมื่อเราอัปเดตองค์ประกอบที่เรามีอยู่แล้วและแนบมากับข้อมูล เราจะใช้การเลือกอัปเดต หากต้องการใช้วิธีนี้ องค์ประกอบ DOM ที่มีอยู่จะต้องอัปเดตด้วยข้อมูลใหม่ และไม่ต้องเพิ่มหรือลบองค์ประกอบใหม่ ใช้ในกรณีที่มีรายการน้อยกว่าที่มีอยู่ใน DOM อยู่ในชุดข้อมูล หลังจากนั้น สามารถใช้วิธีการลบของ D3 เพื่อลบองค์ประกอบดังกล่าวได้

Canvas เป็นตัวเลือกสำหรับ D3 v4 เนื่องจากรองรับการแสดงแผนภูมิ ขณะที่ข้อมูลได้รับการประมวลผล แผนภูมิจะปรากฏโดยอัตโนมัติในโหมดทันทีโดยใช้โมเดลกราฟิกโหมดทันที ซึ่งจะมีประโยชน์หากคุณต้องการสร้างแผนภูมิที่อัปเดตตามเวลาจริง
Canvas มีข้อเสียอย่างหนึ่งคือไม่ตอบสนองเท่า SVG Canvas เรนเดอร์เร็วกว่า SVG ถึง 10 เท่าในแง่ของจำนวนเลเยอร์และความซับซ้อนของแผนภูมิ
หากคุณต้องการสร้างแผนภูมิที่ใช้งานง่ายและแสดงผลได้อย่างรวดเร็ว คุณควรใช้ SVG Canvas เป็นตัวเลือกที่ดีกว่าถ้าคุณต้องการแผนภูมิที่ใช้งานง่ายและรวดเร็วซึ่งจะช่วยให้คุณสามารถจัดการข้อมูลได้มากขึ้น


เราสามารถจัดกลุ่มองค์ประกอบ Svg ใน D3js ได้หรือไม่

เราสามารถจัดกลุ่มองค์ประกอบ Svg ใน D3js ได้หรือไม่
ถ่ายภาพโดย: webflow.com

องค์ประกอบ The.g> SVG เป็นคอนเทนเนอร์สำหรับจัดกลุ่มองค์ประกอบ SVG อื่นๆ เด็กจะสืบทอดแอตทริบิวต์ขององค์ประกอบ เช่น องค์ประกอบย่อยขององค์ประกอบ "g" เมื่อผ่านการเปลี่ยนแปลง การใช้ D3 เราสามารถสร้างองค์ประกอบกลุ่มได้ หากคุณต้องการใช้การเลือกกับองค์ประกอบ ag ให้ใช้ตัวเลือกใดก็ได้

การแปลงการแปล ปรับขนาด หมุน และเอียง ได้รับการสนับสนุนทั้งหมดโดย เทคโนโลยีการแปลง SVG คุณสามารถระบุมากกว่าหนึ่งการแปลงสำหรับองค์ประกอบเดียวโดยใช้ช่องว่างเป็นตัวแยก หากมีการระบุค่ามากกว่าหนึ่งค่า การแปลงจะเกิดขึ้นตามลำดับที่ระบุไว้ นี่คือผลลัพธ์ของโค้ดด้านบน หากคุณต้องการสร้างภาพ SVG ให้ลดขนาดภาพลงและหมุนโดยใช้การแปลง ทำตามขั้นตอนด้านล่าง แอตทริบิวต์การแปลงถูกสร้างขึ้นด้วยตนเองโดยไลบรารีการจัดการการแปลงที่จัดทำโดย D3.js แทนที่จะสร้างโดยการแปลงเอง มีหลายวิธีที่สามารถจัดการกับการแปลงประเภทใดก็ได้ มีเมธอดในฟังก์ชัน transform() ที่แปล ปรับขนาด หมุน และอื่นๆ

Svg ใน D3 Js คืออะไร

SVG ใน D3.js เป็นไลบรารี JavaScript สำหรับสร้างกราฟิกแบบเวกเตอร์เชิงโต้ตอบ ช่วยให้คุณสร้างและจัดการ รูปร่างเวกเตอร์ ในเบราว์เซอร์ D3.js ใช้รูปแบบ Document Object Model (DOM) มาตรฐาน W3C และรูปแบบกราฟิกเวกเตอร์ที่ปรับขนาดได้ (SVG)

กราฟิกนี้สร้างขึ้นโดยใช้กราฟิกแบบเวกเตอร์ที่ปรับขนาดได้ (SVG) XML ซึ่งเป็น XML ชนิดหนึ่งใช้ในการสร้าง เส้น สี่เหลี่ยม วงกลม วงรี และอื่นๆ เป็นเพียงส่วนหนึ่งของรูปร่างที่สามารถนำมาใช้ได้ หากต้องการใช้ D3.js คุณต้องสร้างตัวอย่างก่อน ต่อไปนี้คือตัวอย่างวิธีสร้างสี่เหลี่ยมผืนผ้าอย่างง่ายโดยใช้ SVG บทช่วยสอนนี้จะแนะนำคุณเกี่ยวกับขั้นตอนการสร้างรูปสี่เหลี่ยมผืนผ้าที่สร้างขึ้นแบบไดนามิก วงกลมแตกต่างจากข้อความรูปแบบอื่นๆ ด้วยลักษณะเฉพาะของแท็กวงกลม

Svg โหนด () คืออะไร?

ไฟล์รูปแบบเวกเตอร์ภายนอกและภายในสามารถวางและแก้ไขได้ด้วยความช่วยเหลือของ โหนด SVG

ได้ คุณสามารถใช้ Svg ในเว็บไซต์ได้

เหตุใดฉันจึงไม่ใช้ HTML5 ในเว็บไซต์ของฉัน SVG สามารถใช้ในเว็บไซต์ได้เนื่องจากใช้งานง่าย แม้ว่าคุณจะสร้าง ไฟล์ SVG ในเว็บไซต์ได้ แต่คุณต้องรวมไฟล์เหล่านี้ก่อนจึงจะใช้งานได้

สร้าง Javascript องค์ประกอบ Svg

javascript สร้างองค์ประกอบ svg เป็นเครื่องมือที่มีประสิทธิภาพที่ช่วยให้คุณสร้างและจัดการองค์ประกอบ svg บนหน้าเว็บของคุณ เครื่องมือนี้ใช้งานง่ายและมีประโยชน์มากในการสร้างกราฟิกแบบกำหนดเองสำหรับหน้าเว็บของคุณ

รูปแบบไฟล์ .svg ช่วยให้ปรับขนาดรูปภาพและข้อมูลไดนามิกมากขึ้น วิธีการวาดและจัดแนวเหล่านี้อธิบายไว้ใน XML ซึ่งเป็นมาร์กอัปที่ใช้เพื่ออธิบายกระบวนการวาดและจัดแนวเส้นทาง หากคุณแทรกมาร์กอัปลงในไฟล์ HTML มาร์กอัปจะถูกแปลเป็นไอคอน คุณสมบัตินี้ยังช่วยให้สามารถแทรก ไอคอน SVG ลงในข้อมูลจากตำแหน่งระยะไกลได้แบบไดนามิกในขณะที่ยังดำเนินการอยู่ แท็ก XML สามารถสร้างและจัดรูปแบบได้ในลักษณะเดียวกับที่องค์ประกอบ HTML ทำได้ คุณสามารถเพิ่มฟังก์ชันในไฟล์ main.js เพื่อสร้าง XML เมื่อเราใส่กราฟิกที่สร้างขึ้นลงในแท็กสมอ มันจะทำหน้าที่เป็นกราฟิกแบบเลื่อน

หลังจากนั้น svg สามารถจัดการได้ในลักษณะเดียวกับองค์ประกอบอื่นๆ นอกเหนือจากสไตล์ คลาส และแอตทริบิวต์แล้ว คุณสามารถสร้างได้ สามารถจัดวางไอคอนในแต่ละโพสต์ได้อย่างสะดวก ทำให้สามารถใช้เป็นลิงก์ยึดเพื่อปรับปรุงการเลื่อน

นี่เป็นเพียงการทดสอบ

Asvg มีความกว้าง 500px และความสูง *br X1=100 y1=50 y2=200 **br**,**svg**,**br**