ใน R ไดรเวอร์กราฟิกที่ดีที่สุดสำหรับการใช้กราฟใน Microsoft Word คืออะไร


10

ฉันใช้ R เพื่อสร้างกราฟที่เรียบร้อยที่ฉันใช้ในเอกสาร Microsoft Office ตามหน้านี้คุณภาพที่ดีที่สุดนั้นมาพร้อมกับไดรเวอร์ PDF น่าเสียดายที่ Word ไม่รองรับการนำเข้าตัวเลข PDF ฉันควรใช้อะไร


1
คุณสามารถใส่ตัวเลข PDF ลงใน Word ใช้ "แทรกวัตถุ" หมายเหตุด้านข้าง: หากคุณไม่เคยใช้ LaTeX มาก่อนฉันขอแนะนำให้ลองใช้แทน MS Word
mark999

1
@ mark999: ขอบคุณสำหรับคำแนะนำของคุณ ฉันลองมัน แต่น่าเสียดายที่ฉันไม่สามารถรับอะไรได้ดีไปกว่าไอคอน pdf ในเอกสาร ฉันต้องใช้ Word ในบริบทนี้เพราะฉันทำงานกับคนอื่นที่ใช้ Word LaTeX นั้นดี แต่มันไม่ใช่สำหรับทุกโครงการหรือทุกคน
static_rtti

4
@ mark999 LaTeX ไม่ได้เป็นตัวเลือกสำหรับการทำงานร่วมกันกับผู้ที่ไม่ใช่คนทางคณิตศาสตร์ ตามที่ Gavin Simpson อธิบายกราฟิกคุณภาพสูงสามารถรวมอยู่ในเอกสาร Word ได้โดยเลือกรูปแบบที่เหมาะสม
whuber

3
@ mark999 น่าเสียดายที่ฉันต้องเห็นด้วยกับเสียงหวีด LaTeX ไม่ได้เป็นตัวเลือกที่อยู่นอกเขตข้อมูลเพียงไม่กี่แห่งและแม้แต่คนที่มีความรู้คณิตศาสตร์ค่อนข้างมากยังคงใช้ Word เป็นค่าเริ่มต้น ฉันคิดว่ามันชั่วขณะหนึ่งแล้วก็ตกเพราะมันเป็นปัญหามากกว่าที่มันคุ้มค่าสำหรับการร่วมมือ
Fomite

1
@whuber ฉันเห็นด้วยกับคุณและ EpiGrad ฉันเห็นด้วยกับคุณบางส่วน ฉันอาจจะ 90% ของการเขียนของฉันใน LaTeX และส่วนที่เหลือใน MS Word (ฉันใช้ Word เฉพาะเมื่อไม่มีทางเลือก) static_rtti: ฉันไม่รู้ว่าเกิดอะไรขึ้นกับคุณเพราะฉันใส่ไฟล์ pdf ลงในเอกสาร Word โดยไม่มีปัญหา
mark999

คำตอบ:


4

หากคุณกำลังทำงานบนพีซีมันค่อนข้างสะดวกในการแทรกตัวเลขลงในเอกสาร Office ในรูปแบบ emf ผ่านคลิปบอร์ด

emf เป็นรูปแบบกราฟิกแบบเวกเตอร์ของ Windows และช่วยให้คุณแก้ไขตัวเลขด้วยเครื่องมือ MS Office มันไม่สมบูรณ์แบบ แต่เป็นวิธีที่รวดเร็วในการสร้างรายงานแบบง่าย

หากเอกสารของคุณมีความซับซ้อนการจัดการรูปแบบ MS Word นั้นแย่มาก


12

ขึ้นอยู่กับว่าคุณจะใช้เอกสาร Word ของคุณอย่างไรและคุณต้องการรวมตัวเลขประเภทใดในเอกสาร

หากตัวเลขเป็นพล็อต R มาตรฐานที่มีจำนวนจุด / ข้อมูลในระดับปานกลางรูปแบบที่ใช้เวกเตอร์จะให้การทำสำเนาที่ดีที่สุดและช่วยให้สามารถปรับขนาดภาพได้ง่ายในขณะที่มีขนาดไฟล์เล็ก กำไรต่อหุ้นผ่านpostscript(...., onefile = FALSE, paper = "special")ในกรณีเช่นนี้จะเป็นรูปแบบที่ดีที่สุดหากคุณแสดงผลเป็น PDF หรือพิมพ์บนเครื่องพิมพ์เลเซอร์ที่รู้คำลงท้าย น่าเสียดายที่ Word ใช้ปลั๊กอินบุคคลที่สามเพื่อโหลดตัวเลข EPS ซึ่งสร้างภาพตัวอย่างบิตแมปแบบความละเอียดต่ำที่แสดงบนหน้าจอเมื่อพิมพ์ออกมาคุณจะได้รับ EPS คุณภาพสูง

หากแปลงนั้นสามารถพิจารณา rasters (พล็อตพื้นผิวหรือพล็อตภาพ [heatmaps] ที่มีจำนวน "พิกเซล" สูง) หรือถ้าพล็อตมีจำนวนจุดมากการเก็บข้อมูลเวกเตอร์สำหรับพล็อตนั้นจะส่งผลให้มีขนาดใหญ่ ขนาดไฟล์และค่าใช้จ่ายในการประมวลผลสูงในการโหลดลงใน Word และเก็บไว้ในหน่วยความจำขณะที่คุณกำลังทำงานกับเอกสาร ในกรณีเช่นนี้ฉันจะใช้ TIFF ความละเอียดสูงหรือ PNG ผ่านtiff()หรือpng()ตามลำดับ ดูไฟล์ช่วยเหลือเพื่อขอความช่วยเหลือในการกำหนดขนาดของภาพเป็นพิกเซลและความละเอียด อุปกรณ์เหล่านี้จะแสดงผลเป็นภาพบิตแมปซึ่งหากได้รับขนาด / ความละเอียดที่เพียงพอจะช่วยลดปริมาณการ rescaling ได้บ้าง แต่จะมีแนวโน้มที่จะถูกจัดเก็บอย่างมีประสิทธิภาพมากขึ้นเมื่อจำนวนจุดข้อมูลหรือเซลล์มีขนาดใหญ่มาก

โปรดพิจารณาด้วยว่าอุปกรณ์บางอย่างไม่สนับสนุนความโปร่งใสส่วนใหญ่เป็นเพราะรูปแบบไฟล์พื้นฐานไม่อนุญาต postscript()ไม่สนับสนุนความโปร่งใสpdf()และpng()ทำ cairo_ps()ไม่สนับสนุนความโปร่งใส แต่ในการทำเช่นนั้นจะสร้างภาพบิตแมปในรูปแบบ EPS ซึ่งอาจไม่ใช่สิ่งที่คุณต้องการ

โปรดทราบว่าหากบันทึกเอกสารของคุณเป็น PDF ตัวเลขบิตแมปจะลดลงไปในระดับหนึ่ง ฉันลืมวิธีที่ Word ควบคุมสิ่งนี้ แต่มีการตั้งค่าสองแบบในกล่องโต้ตอบบันทึกเมื่อเลือกประเภท PDF และหนึ่งในนั้นจะลดขนาดรูปภาพลงเพื่อสร้างขนาดไฟล์ที่เล็กลง สิ่งนี้จะเกี่ยวข้องกับการสูญเสียคุณภาพดังนั้นโปรดระมัดระวังตัวเลือกที่คุณเลือก สิ่งนี้ไม่เฉพาะเจาะจงกับ Word - OpenOffice.org และ LibreOffice มีคุณสมบัติเหมือนกัน แต่ให้การควบคุมที่ดียิ่งขึ้นว่าภาพถูกบีบอัดหรือไม่และถูกบีบอัดหรือไม่ สิ่งนี้เกิดขึ้นเพราะ PDF ถูกออกแบบมาสำหรับทั้งบนหน้าจอและในการทำสำเนาเครื่องพิมพ์ คุณไม่จำเป็นต้องใช้ความละเอียดสูงในภาพหากปรากฏบนหน้าจอสำหรับเว็บ รูปภาพที่มีความละเอียดสูงกว่าจะทำให้ไฟล์มีขนาดใหญ่ขึ้นดังนั้นจึงสามารถตั้งค่าปลายทางที่ต้องการของ PDF ได้


1
ขอบคุณเคล็ดลับดี PostScript ดูเหมือนจะใช้ Word ในการพิมพ์เป็นอย่างดี น่าเสียดายที่การแสดงตัวอย่างที่ไม่ดีบนหน้าจอเป็นปัญหาที่ไม่สำคัญ ในสภาพแวดล้อมของฉันเอกสาร Word จำนวนมากถูกส่งไปและอ่านบนหน้าจอ
ปีเตอร์เอลลิส

7

หากคุณอยู่ใน Windows win.metafileลอง มันเป็นรูปแบบเวกเตอร์ถ้าฉันจำได้อย่างถูกต้องและมันเล่นได้ดีกับ Word


5

กราฟิก R ใน windows นั้นค่อนข้างยุ่งยาก ปัญหาที่ใหญ่ที่สุดที่ฉันมีคือการลดรอยหยักไม่ทำงานอย่างถูกต้องใน Windows ด้วยเหตุผลบางอย่างฉันต้องใช้ปลั๊กอินอุปกรณ์ไคโรเพื่อจัดรูปแบบให้เรียบร้อย

ฉันได้ลองทั้งไคโรและ cairoDevice แล้วและตอนนี้ฉันก็พบว่า cairoDevice นั้นง่ายและน่าเชื่อถือที่สุดมีโพสต์ StackOverflowเกี่ยวกับเรื่องนี้

ในการใช้แพ็คเกจ cairoDevice สิ่งที่คุณต้องมีคือ:

# Create the device
Cairo_png(filename="my_file_name.png",
    width=16,
    height=16,
    pointsize=18)
# Do a plot
plot(x, y)
# Saves the file
dev.off()

นอกจากนี้คุณยังสามารถบันทึกในรูปแบบ PDF / svg จากนั้นใช้Inkscapeเพื่อแก้ไขกราฟเปลี่ยนแบบอักษรและอื่น ๆ จากนั้นส่งออกเป็นรูปแบบ png


ใช่. อุปกรณ์ png ของไคโรคือสิ่งที่ฉันได้พบว่าสร้างแผนการที่ดูดีที่สุดสำหรับการดูบนหน้าจอในเอกสาร Word บนเครื่องที่capabilities("cairo")เป็นTRUEคุณสามารถผลัดกันเพียงแค่ใช้png(..., type="cairo")หรือบางทีอาจจะสิ่งที่ต้องการpng(..., type="cairo", res=200)ที่จะได้รับผลลัพธ์ที่คล้าย
Josh O'Brien

1
@ JoshO'Brien - จุดดี ฉันนับตั้งแต่คำตอบดั้งเดิมของฉันเขียนบทความในบล็อกสองเรื่องนี้: gforge.se/2013/02/exporting-nice-plots-in-rและgforge.se/2013/03/exporting-plain-lattice-or-ggplot
Max Gordon

สุดยอดขอบคุณสำหรับลิงค์ ยังไงก็เถอะฉันพลาดunits="in"ตัวเลือกจนกระทั่งฉันอ่านมัน อยากให้ผมรู้จักกันเกี่ยวกับว่าปีหรือสองปีหรือ 10 ที่ผ่านมา! เนื่องจากคุณเป็นคำตอบที่ดีที่สุดที่นี่อาจจะคุ้มค่าที่จะแก้ไขหรือเพิ่มการอัปเดตด้านบนเกี่ยวกับtype="cairo"ตัวเลือกด้วยอุปกรณ์ในตัว - โดยเฉพาะอย่างยิ่งได้รับประโยชน์แม้เทียบกับฟังก์ชั่นแพคเกจไคโร ...
Josh O ' Brien

3

PDF, ps, SVG หรือ eps เป็นอุปกรณ์กราฟิกแบบเวกเตอร์ JPG, TIFF, PNG, ... ฯลฯ เป็นกราฟิกแรสเตอร์ เมื่อพูดถึงกราฟิกแรสเตอร์การแลกเปลี่ยนจะอยู่ระหว่างขนาดและคุณภาพ ด้วยการปรับความกว้างความสูงและการจัดรูปแบบอื่น ๆ คุณสามารถคงคุณภาพของกราฟิกแรสเตอร์ไว้ได้ คุณสามารถใช้รูปแบบ PNG หรือ JPG เพื่อแทรกภาพ

รูปภาพ SVG อาจแทรกในเอกสาร MSWORD คุณสามารถตรวจสอบสิ่งนี้ได้


โปรดทราบว่าอุปกรณ์ svg ของ R บางครั้งจะให้ภาพแรสเตอร์เมื่อคุณไม่คาดหวัง
โทมัสเลวี

2

วิธีที่ง่ายที่สุดในการย้าย.pngไฟล์คือฉัน แต่คำพูดแสดงให้เห็นว่าเบลอค่อนข้างน้อยในกรณีของฉัน ย้อนกลับไปเมื่อฉันใช้ Eviews ฉันลองใช้.epsซึ่งทำให้เกิดปัญหาของตัวเอง แต่คุณภาพดีขึ้น ฉันคิดว่าในท้ายที่สุดคุณต้องเลือกระหว่างปีศาจน้อยกว่าสองตัว


ฉันคิดว่าเบลอนั้นเกิดจากอัลกอริธึมการปรับขนาด Word คุณอาจได้ผลลัพธ์ที่ดีขึ้นในการปรับขนาดโปรแกรมแก้ไขภาพก่อนที่จะแทรกดังนั้นมันจะแสดงที่ 100% โดย Word
James

หรือสร้างไฟล์ png ตามขนาดที่ต้องการตั้งแต่แรก ค่าเริ่มต้นคือwidth = 480, height = 480, units = "px", pointsize = 12,แต่คุณสามารถเปลี่ยนสิ่งเหล่านี้ในสคริปต์ R ของคุณ
Henry

2

นี้ไม่ได้โดยตรงตอบคำถามของคุณ แต่คุณจะได้รับการบูรณาการที่ดีระหว่าง R และ MS Word โดยใช้แพคเกจการ R R2wdหรือซอฟต์แวร์เชิงพาณิชย์อนุมานสำหรับ R สิ่งเหล่านี้ให้การรวมโดยตรงกับ Sweave ของ R และ MS Word กำจัดการตัดและวางหรือบันทึกและโหลดและทำให้ง่ายต่อการปรับปรุงแปลงในเอกสารจากบรรทัดคำสั่ง ฉันไม่ได้ใช้สิ่งเหล่านี้ แต่ฉันใช้ Sweave และแนะนำการเขียนโปรแกรมตามตัวอักษรซึ่งได้รับการสนับสนุนโดยเครื่องมือเหล่านี้ทั้งหมด

Sweave เป็นเครื่องมือการตั้งโปรแกรมการรู้หนังสือที่ใช้กันอย่างแพร่หลายในหมู่ผู้ใช้ R มันคือ LaTeX + R และเป็นวิธีการเขียนบทความและบทความในวารสารหลายเล่ม

เครื่องมือ Word + R ให้คำมั่นว่าจะมีส่วนต่อประสานที่น้อยลงสำหรับผู้ใช้ใหม่ LaTeX มีช่วงการเรียนรู้ที่ชันกว่า Word

อย่างไรก็ตามที่ $ 199 / ปีการอนุมานสำหรับ R ทำให้ผู้อื่นสามารถทำซ้ำการวิเคราะห์ของคุณซึ่งแตกต่างจาก Sweave ซึ่งเป็นส่วนหนึ่งของฐาน R

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.