วิธีพิมพ์ไฟล์ SVG ใน R
เผยแพร่แล้ว: 2023-02-26เมื่อพูดถึงการพิมพ์ ไฟล์ SVG ใน R กระบวนการนี้ค่อนข้างง่าย สิ่งที่คุณต้องทำคือใช้ฟังก์ชันที่เหมาะสมและทำตามคำแนะนำ ในบทความนี้ เราจะแสดงวิธีพิมพ์ไฟล์ SVG ใน R
svglite เปิดใช้งานการสร้างไฟล์ SVG จาก กราฟิก R รูปแบบกราฟิกแบบเวกเตอร์คือรูปแบบที่เข้ารหัสคำแนะนำสำหรับการปรับขนาดกราฟิกในลักษณะที่ไม่ขึ้นกับขนาด
การพิมพ์ผลลัพธ์ของ R ทำได้หลายวิธี วิธีหนึ่งที่ใช้บ่อยที่สุดสำหรับการพิมพ์เอาต์พุตใน R คือผ่าน print() ในส่วนเอาต์พุต สิ่งนี้ยังเป็นจริงหากเขียน โปรแกรม R บนคอนโซลทีละบรรทัด และเอาต์พุตถูกพิมพ์ตามปกติโดยไม่จำเป็นต้องใช้ฟังก์ชันใดๆ
สามารถพิมพ์ไฟล์ Svg ได้หรือไม่
ไฟล์พิมพ์ สามารถใช้เพื่อสร้างเสื้อผ้าและงานฝีมือได้ แต่ไฟล์เหล่านี้ไม่ได้ออกแบบมาสำหรับใช้งานบนอุปกรณ์พกพา ดังนั้นจึงไม่เหมาะสำหรับงานประจำวัน
ข้อกำหนดนี้จัดทำขึ้นเป็นครั้งแรกในรูปแบบร่างการทำงานในเอกสารนี้ กราฟิกแบบเวกเตอร์ ที่ปรับขนาดได้ (SVG) เป็นตัวอย่างของสภาพแวดล้อมการพิมพ์ที่สามารถสร้างขึ้นได้ คุณไม่สามารถใช้เอกสารนี้เป็นมาตรฐานเพื่อความมั่นคง เอกสารนี้อาจไม่เหมือนกับเอกสารอื่น ไม่ใช่นโยบายของ W3C ที่จะรับรองการเผยแพร่เอกสารนี้ กำหนดวิธีการใช้คุณสมบัติ SVG 1.2 เพื่อพิมพ์โดยใช้ข้อกำหนดการพิมพ์ SVG เป้าหมายหลักของเอกสารนี้คือการเรียกร้องความคิดเห็นสาธารณะ
หากต้องการแสดงความคิดเห็น โปรดส่งอีเมล [email protected] นอกจากนี้ยังมีส่วนที่อุทิศให้กับข้อกำหนดเฉพาะ เอกสารนี้แสดงให้เห็นว่าอุปกรณ์การพิมพ์ SVG ควรทำอย่างไรเมื่อพิมพ์ไฟล์ SVG 1.0 เป้าหมายของอุปกรณ์คือการจัดเตรียมการแมปขนาดโดยตรงระหว่างหน้าจอและเครื่องพิมพ์โดยการปรับขนาดรูปภาพในลักษณะที่สามารถแสดงแผนที่นั้นได้ ผู้ขายมีอิสระในการพัฒนาส่วนขยายการควบคุมงานที่จะช่วยให้โครงการปูกระเบื้องขนาดใหญ่เกิดขึ้นได้ รูปภาพในหลายๆ หน้าไม่ควรถือเป็นส่วนขยาย เนื่องจากนี่เป็นเพียงส่วนหนึ่งของส่วนขยายของผู้ให้บริการ ใน SVG 1.2 มีการใช้กลไกการกำหนดขอบเขตโดยใช้องค์ประกอบของหน้า
สำหรับเอาต์พุตบนอุปกรณ์การพิมพ์ SVG องค์ประกอบของหน้าจะจำกัดจำนวนหน้าจริงที่จะดำเนินการ หากองค์ประกอบที่ล้อมรอบมีส่วน defs วัตถุที่กำหนดไว้เหล่านี้จะสามารถเข้าถึงได้สำหรับการอ้างอิงภายในส่วน defs เท่านั้น ข้อเสนอในการรวมการกำหนดขอบเขตหน้าเข้ากับการกำหนดขอบเขต CSS ได้รับการเสนอโดย คณะทำงาน SVG สิ่งอำนวยความสะดวกหน้าหลักช่วยให้คุณค้นหาเนื้อหาส่วนกลางและเนื้อหาเฉพาะหน้าได้ ขอแนะนำเป็นอย่างยิ่งว่าเอกสารที่ใช้ CSS จะกำหนดสไตล์ทั้งหมดเพื่อใช้ในเอกสารทั้งหมดก่อนองค์ประกอบของหน้าใดๆ หน้าที่สตรีมได้แสดงว่าเอกสารได้รับการออกแบบมาเพื่อรองรับการแสดงผลแบบโปรเกรสซีฟ ไฟล์ไม่มีการอ้างอิงไปข้างหน้า (ตามที่ระบุไว้ในองค์ประกอบการใช้งาน)
ถ้าทรัพยากรไม่ได้กำหนดไว้ที่จุดใดๆ ในเอกสาร จะถือว่าไม่มีอยู่จริง หากไม่มีแอตทริบิวต์ที่สามารถสตรีมได้ อาจจำเป็นต้องบัฟเฟอร์ส่วนอื่นของเอกสาร ส่งผลให้เอกสารไม่สามารถสตรีมได้ สามารถสร้างและพิมพ์เอกสาร SVG โดยอ้างอิงไฟล์ภายนอก เช่น รูปภาพ JPEG หรือ ไฟล์ SVG ภายนอก สามารถใช้ภาพที่รวมไว้เพื่อส่งเอกสารไปยังอุปกรณ์การพิมพ์ SVG โดยอ้างอิงถึงภาพที่อ้างอิง ในการกำหนดค่าด้วยการส่งสัญญาณแบบทิศทางเดียว อุปกรณ์เครื่องพิมพ์อาจดีกว่าที่จะออกคำขอดึงข้อมูลสำหรับเนื้อหาที่อ้างอิง MIME แบบมัลติเพล็กซ์เป็นเทคนิคการเข้ารหัส MIME ที่อนุญาตให้มีการแทรกหลายไฟล์ในข้อความ MIME เดียว ด้วยเหตุนี้ การควบคุมงานพิมพ์ในภาษาคำอธิบายหน้าจึงสามารถแบ่งออกเป็นหลายส่วน MIME
งานที่รวมอยู่ในชุดจะแสดงอยู่ในภาพด้านล่าง สามารถใช้แอตทริบิวต์ svg ภายนอกขององค์ประกอบ svg เพื่อระบุขนาดของหน่วยต่าง ๆ ที่หลากหลายในบรรทัดเดียว หน้าที่พิมพ์จะแสดงรูปภาพ เช่นเดียวกับที่โปรแกรมแสดงภาพตามหน้าจอแสดงขนาดหรือเปอร์เซ็นต์ที่สมบูรณ์ของวิวพอร์ตปัจจุบัน ในกรณีที่ไม่มีแอตทริบิวต์ความกว้างหรือความสูง อุปกรณ์การพิมพ์ SVG จะเลือกขนาดกระดาษเริ่มต้นสำหรับอุปกรณ์เครื่องพิมพ์ตามค่าเริ่มต้น ข้อมูลรูปภาพใด ๆ ที่ไม่เข้าเกณฑ์สำหรับพื้นที่การพิมพ์ 2 นิ้วคูณ 3 นิ้วจะถูกตัดออก ในเวอร์ชันถัดไป SVG 1.2 คาดว่าจะรวมความสามารถในการใช้สีที่มีชื่อหรือสีพิเศษ เป้าหมายหลักของส่วนนี้คือการอธิบายไวยากรณ์และความหมายของ 'ชื่อสี' ในสภาพแวดล้อมการแสดงผล SVG นอกจากนี้ยังช่วยอธิบายว่าเนื้อหาเดิมถูกส่งไปยังอุปกรณ์การพิมพ์ SVG อย่างไร สมาชิกของคณะทำงาน W3C SVG ได้มีส่วนร่วมในข้อกำหนดนี้
รูปภาพ Svg: วิธีการพิมพ์โดยไม่สูญเสียคุณภาพ
วิธีที่ดีที่สุดคือบันทึกไฟล์เป็น PNG ก่อน หากคุณต้องการพิมพ์ ภาพ SVG เป็นขนาดใหญ่ เนื่องจากไฟล์ PNG เป็นไฟล์ที่ไม่มีการสูญเสียคุณภาพของภาพจึงไม่สูญเสียไปเมื่อปรับขนาด นอกจากนี้ เนื่องจากมีขนาดให้เลือกมากมาย ไฟล์ PNG จึงสามารถพิมพ์ในรูปแบบใดก็ได้โดยไม่สูญเสียคุณภาพ
ฉันจะอ่านไฟล์ Svg ใน R ได้อย่างไร
หากต้องการอ่านไฟล์ SVG ใน R คุณสามารถใช้ฟังก์ชัน readSVG จากแพ็คเกจ cairoDevice ฟังก์ชันนี้จะอ่านไฟล์ SVG และส่งคืนรายการที่มี องค์ประกอบ SVG จากนั้นคุณสามารถใช้ฟังก์ชันพล็อตเพื่อพล็อตไฟล์ SVG
R สามารถบันทึกเป็น Svg ได้หรือไม่
ฟังก์ชัน svg ใน R ใช้เพื่อบันทึกพล็อตเป็น Scalable Vector Graphics (SVG) คุณสามารถเปลี่ยนความสูง ความกว้าง และขนาดพอยต์ได้ด้วยอาร์กิวเมนต์ความสูง ความกว้าง และขนาดพอยต์ รวมถึงอาร์กิวเมนต์ต่อต้านนามแฝงด้วยอาร์กิวเมนต์ต่อต้านนามแฝง
Svg เป็นไฟล์เวกเตอร์หรือแรสเตอร์หรือไม่?
ความแตกต่างที่สำคัญระหว่าง SVG และ PNG คือ PNG เป็นแบบเวกเตอร์ นอกจากนี้ยังใช้อัลกอริธึมทางคณิตศาสตร์ในการแสดงภาพ ทำให้คุณสามารถปรับขนาดเป็นขนาดใดก็ได้โดยไม่ส่งผลเสียต่อคุณภาพของภาพ
สิ่งสำคัญคือต้องเข้าใจวิธีใช้ประเภทไฟล์กราฟิกเพื่อสร้างประสบการณ์ที่สนุกสนาน Anders Paulsen จาก Acro Media อธิบายความแตกต่างระหว่างเวกเตอร์และแรสเตอร์ ไฟล์เวกเตอร์ประกอบด้วยเส้นทางที่ซับซ้อนของจุดและเส้นที่ช่วยให้สามารถสร้างภาพได้ ตารางพิกเซลเล็ก ๆ ที่เรียกว่าพิกเซลใช้เพื่อสร้างกราฟิกแอสเตอร์ ไฟล์กราฟิกออนไลน์จำนวนมากเป็นแบบแรสเตอร์และมีความละเอียดหน้าจอ 72dpi โดยปกติแล้วขนาดไฟล์ที่ใหญ่กว่านั้นจำเป็นสำหรับสื่อสิ่งพิมพ์ ซอฟต์แวร์กราฟิกมีการพัฒนามาเป็นเวลานาน ส่งผลให้เส้นแบ่งระหว่างโปรแกรมไม่ชัดเจน เมื่อคุณไม่แน่ใจ ให้ปรึกษานักออกแบบกราฟิก
การแปลงกราฟิกแบบเวกเตอร์เป็นบิตแมปเรียกว่าการเรนเดอร์ กราฟิกบนหน้าจอจะปรากฏขึ้นเมื่อเสร็จสิ้น SVG สามารถแสดงได้อย่างคมชัดโดยแอปพลิเคชันใด ๆ ที่สามารถแสดงไฟล์ภาพเวกเตอร์ได้ นอกจากนี้ ขนาดไฟล์ SVG อาจเล็กกว่าไฟล์ JPG
R อ่านไฟล์ Svg
ไฟล์ SVG เป็น ไฟล์กราฟิกแบบเวกเตอร์ที่ปรับขนาดได้ รูปแบบไฟล์ดั้งเดิมสำหรับ Adobe Illustrator คือ .ai อย่างไรก็ตาม โปรแกรมอื่นๆ จำนวนมากสามารถเปิดและแก้ไขไฟล์ SVG ได้ เช่น Adobe Photoshop, Sketch, Affinity Designer และ Inkscape
R บันทึก Svg
ไม่มีฟังก์ชันในตัวสำหรับบันทึกพล็อตเป็นไฟล์ svg ใน R อย่างไรก็ตาม มีสองสามวิธีในการดำเนินการนี้ให้สำเร็จ วิธีหนึ่งคือการใช้ฟังก์ชัน cairo_pdf จากแพ็คเกจไคโร ฟังก์ชันนี้จะสร้างไฟล์ pdf ซึ่งสามารถแปลงเป็นไฟล์ svg โดยใช้โปรแกรมเช่น Inkscape อีกวิธีคือใช้ฟังก์ชัน ggsave จากแพ็คเกจ ggplot2 ฟังก์ชันนี้สามารถบันทึกพล็อตเป็นไฟล์ svg ได้โดยตรง
บทช่วยสอนนี้จะสอนวิธีบันทึกพล็อตใน R ในรูปแบบกราฟิกเวกเตอร์และรูปแบบภาพต่อต้านนามแฝงโดยใช้ R บานหน้าต่างพล็อตสามารถใช้เพื่อส่งออกพล็อตใน RStudio ในส่วนนี้ เราจะแสดงวิธีส่งออก แปลง R โดยใช้โค้ดเพียงอย่างเดียว คุณต้องเปิดอุปกรณ์กราฟิกด้วยฟังก์ชัน PDF ก่อนจึงจะสามารถบันทึกพล็อตเป็น PDF ใน R ได้ นอกจากนี้ คุณยังสามารถเปลี่ยนสีพื้นหลังและขนาดของกระดาษหรือจุดเพื่อให้เหมาะกับความต้องการของคุณมากขึ้น เมื่อใช้ฟังก์ชัน jpeg คุณสามารถบันทึกแปลงเป็น JPEG คุณสามารถบันทึกรูปภาพลงในไฟล์กราฟิกเครือข่ายพกพาได้โดยใช้ฟังก์ชัน PNG ด้วยฟังก์ชัน tiff คุณสามารถบันทึกพล็อตเป็น TIFF (Tagged Image File Format) หากต้องการระบุประเภทการบีบอัด ซึ่งตั้งค่าเป็นไม่มีตามค่าเริ่มต้น ให้ใช้อาร์กิวเมนต์การบีบอัดในฟังก์ชันนี้ วิธีนี้จะอนุญาตให้แยกแต่ละพล็อตในไฟล์แยกต่างหากโดยการรวมหลาย ๆ พล็อตภายในลูป และแต่ละพล็อตจะมีชื่อเฉพาะ
คุณจะบันทึกรูปภาพใน R ได้อย่างไร
หากคุณเรียกใช้ R ผ่าน R Studio วิธีที่สะดวกที่สุดในการบันทึกภาพของคุณคือการคลิกที่ปุ่ม "ส่งออก" ในแผงพล็อต (เช่น พื้นที่ที่พล็อตปรากฏ) หากคุณเลือกตัวเลือกนี้ คุณจะเห็นเมนูที่มีตัวเลือกต่างๆ เช่น "บันทึกพล็อตเป็น PDF" และ "บันทึกพล็อตเป็นรูปภาพ"