แพ็คเกจ ' ggpp ' จัดเตรียมชุดของบล็อคส่วนประกอบที่ขยายไวยากรณ์ของกราฟิกที่ใช้งานในแพ็คเกจ 'ggplot2' (>= 3.5.0) ส่วนขยายปรับปรุงการรองรับป้ายกำกับข้อมูลและคำอธิบายประกอบในแปลง ฟังก์ชันตำแหน่งใช้แนวทางใหม่ในการดันที่ใช้ได้กับเรขาคณิตใดๆ แต่มีประโยชน์อย่างยิ่งเมื่อใช้ร่วมกับ geom_text_s()
และ geom_label_s()
จากแพ็คเกจนี้และ geom_text_repel()
และ geom_label_repel()
จากแพ็คเกจ 'ggrepel' (>= 0.9.2) ดู: (https://ggrepel.slowkow.com) สำหรับคำแนะนำในการติดตั้งและข่าวสารเกี่ยวกับการเผยแพร่
Normalized Parent Coordinates (NPC) ได้รับการสนับสนุนโดยกำเนิดโดย 'ggplot2' >= 3.5.0 โดยใช้ฟังก์ชันเอกลักษณ์ของ R I()
วิธีการใหม่นี้ไม่จำเป็นต้องใช้รูปทรงพิเศษ เนื่องจากควรใช้ได้กับรูปทรงที่มีอยู่เกือบทุกรูปแบบ อย่างไรก็ตาม ในปัจจุบันวิธีนี้ใช้ได้เฉพาะเมื่อตัวแปรต่อเนื่องถูกแมปกับสุนทรียภาพ x และ/หรือ y หากกลไกนี้ขยายไปสู่ปัจจัยสนับสนุนและตัวแปรแยกอื่นๆ ในอนาคต รูปทรง _npc
ทั้งหมดจาก 'ggpp' อาจซ้ำซ้อน ในขณะเดียวกัน รูปทรงพิเศษเหล่านี้จาก 'ggpp' ยังคงเติมเต็มช่องว่าง แม้ว่าจะเล็กกว่า ในการสนับสนุนของ NPC โดย 'ggplot2'
ความแตกต่างระหว่างการสังเกตหรือข้อมูลที่แมปกับความสวยงามของ x และ y และป้ายกำกับข้อมูลก็คือ ป้ายกำกับข้อมูลเชื่อมโยงกับพิกัดของข้อมูล แต่โดยปกติแล้วตำแหน่งของป้ายข้อมูลนั้นมักจะอยู่ใกล้ๆ แต่ไม่ตรงกับตำแหน่งของข้อมูล กล่าวอีกนัยหนึ่ง ตำแหน่งของป้ายกำกับข้อมูลในพิกัด x และ y นั้นยืดหยุ่นได้ตราบใดที่สามารถอนุมานลิงก์ไปยังการสังเกตข้อมูลได้ ในกรณีของคำอธิบายประกอบ ตำแหน่งบนพื้นที่การลงจุดนั้นเป็นไปตามอำเภอใจ ซึ่งกำหนดโดยการพิจารณาการออกแบบกราฟิกที่มีอยู่ และข้อกำหนดในการไม่บดบังการสังเกตข้อมูล ในตารางด้านล่าง เราจะแสดงรายการรูปทรงเรขาคณิตที่กำหนดไว้ในแพ็คเกจ 'ggpp': 1) ไม่ว่าจะมีไว้สำหรับป้ายกำกับข้อมูล คำอธิบายประกอบ หรือข้อมูล 2) ความสวยงามและความสวยงามหลอกที่เป็นไปตามนั้น และ 3) ไม่ว่ารูปทรงเหล่านั้นจะสามารถเชื่อมต่อกับต้นฉบับได้หรือไม่ ตำแหน่งข้อมูลไปยังตำแหน่งที่ถูกแทนที่ การวาดส่วนหรือลูกศรที่เชื่อมต่อกันระหว่างตำแหน่งที่แทนที่และตำแหน่งเดิม ตำแหน่งของการสังเกตและป้ายกำกับที่แทนที่นั้น จำเป็นต้องมีการเปลี่ยนแปลงข้อมูลที่ส่งกลับโดยฟังก์ชันตำแหน่งด้วย (ดูหัวข้อถัดไป)
เรขาคณิต | การใช้งานหลัก | สุนทรียภาพ | เซ็กเมนต์ |
---|---|---|---|
geom_text_s() | ป้ายกำกับข้อมูล | x, y, ป้ายกำกับ, ขนาด, ตระกูล, หน้าแบบอักษร, สี, อัลฟ่า, กลุ่ม, มุม, vjust, hjust | ใช่ |
geom_label_s() | ป้ายกำกับข้อมูล | x, y, ฉลาก, ขนาด, ครอบครัว, ใบหน้าแบบอักษร, สี, เติม, อัลฟา, ความกว้างของเส้น, ประเภทของเส้น, กลุ่ม, vjust, hjust | ใช่ |
geom_text_pairwise() | ป้ายกำกับข้อมูล | x, xmin, xmax, y, ป้ายกำกับ, ขนาด, ครอบครัว, หน้าแบบอักษร, สี, อัลฟ่า, กลุ่ม, มุม, vjust, hjust | ฮอไรซ์ |
geom_label_pairwise() | ป้ายกำกับข้อมูล | x, xmin, xmax, y, ฉลาก, ขนาด, ครอบครัว, หน้าแบบอักษร, สี, เติม, อัลฟ่า, ความกว้างของเส้น, ประเภทเส้น, กลุ่ม, vjust, hjust | ฮอไรซ์ |
geom_point_s() | ป้ายกำกับข้อมูล | x, y, ขนาด, สี, เติม, อัลฟ่า, รูปร่าง, เส้นโครงร่าง, กลุ่ม | ใช่ |
geom_table() 1 | ป้ายกำกับข้อมูล | x, y, ป้ายกำกับ, ขนาด, ตระกูล, ใบหน้าแบบอักษร, สี, อัลฟ่า, กลุ่ม, มุม, vjust, hjust | ใช่ |
geom_plot() 1 , geom_grob() 1 | ป้ายกำกับข้อมูล | x, y, ป้ายกำกับ, กลุ่ม, มุม, vjust, hjust | ใช่ |
geom_margin_arrow() | ป้ายข้อมูล ป้ายขนาด ข้อมูล | xintercept, yintercept, ฉลาก, ขนาด, ครอบครัว, หน้าแบบอักษร, สี, อัลฟ่า, กลุ่ม, vjust, hjust | เลขที่ |
geom_margin_point() | ป้ายข้อมูล ป้ายขนาด ข้อมูล | xintercept, yintercept, ฉลาก, ขนาด, ครอบครัว, หน้าแบบอักษร, สี, อัลฟ่า, กลุ่ม, vjust, hjust | เลขที่ |
geom_margin_grob() | ป้ายข้อมูล ป้ายขนาด ข้อมูล | xintercept, yintercept, ฉลาก, ขนาด, ครอบครัว, หน้าแบบอักษร, สี, อัลฟ่า, กลุ่ม, vjust, hjust | เลขที่ |
geom_quadrant_lines() , geom_vhlines() | ป้ายข้อมูล ป้ายขนาด ข้อมูล | xintercept, yintercept, ฉลาก, ขนาด, ครอบครัว, หน้าแบบอักษร, สี, อัลฟ่า, กลุ่ม, vjust, hjust | เลขที่ |
รูปทรงเรขาคณิตที่กำหนดไว้ในแพ็คเกจ 'ggpp' มีเวอร์ชัน NPC 1 เวอร์ชันสำหรับรูปทรงเรขาคณิตเหล่านี้ เช่นเดียวกับ geom_text()
และ geom_label()
ซึ่งส่วนใหญ่ใช้สำหรับคำอธิบายประกอบพล็อต
ตรงกันข้ามกับฟังก์ชันตำแหน่งจาก 'ggplot2' ฟังก์ชันตำแหน่งทั้งหมดจากแพ็คเกจ 'ggpp' สามารถเก็บพิกัด x และ y ดั้งเดิมไว้ภายใต้ชื่ออื่นในออบเจ็กต์ data
เมื่อแทนที่ไปยังตำแหน่งใหม่ สิ่งนี้ทำให้พวกเขาเข้ากันได้กับ geom_text_s()
, geom_label_s()
, geom_point_s()
, geom_table()
, geom_plot()
และ geom_grob()
จากแพ็คเกจนี้ รูปทรงเหล่านี้ทั้งหมดสามารถวาดส่วนหรือลูกศรที่เชื่อมต่อตำแหน่งเดิมกับตำแหน่งที่แทนที่ได้ ยังคงเข้ากันได้แบบย้อนหลังและใช้ได้กับรูปทรงทั้งหมดที่มีพารามิเตอร์ position
ที่เป็นทางการ สิ่งนี้คล้ายกับวิธีการที่ใช้ในแพ็คเกจ 'ggrepel' (<= 0.9.1) แต่ใช้หลักการตั้งชื่อที่แตกต่างกันซึ่งช่วยให้ฟังก์ชันตำแหน่งใหม่ยังคงเข้ากันได้กับ 'ggplot2' แบบย้อนหลัง เริ่มต้นจากเวอร์ชัน 0.9.2 geometries geom_text_repel()
และ geom_label_repel()
จากแพ็คเกจ 'ggrepel' เข้ากันได้อย่างสมบูรณ์กับรูปแบบการตั้งชื่อใหม่นี้
ฟังก์ชันตำแหน่ง position_nudge_keep()
, position_nudge_to()
, position_nudge_center()
และ position_nudge_line()
ใช้รูปแบบการสะกิดที่แตกต่างกัน สองฟังก์ชันสุดท้ายทำให้สามารถใช้การดันที่แตกต่างกันโดยอัตโนมัติตามตำแหน่งสัมพัทธ์ของจุดข้อมูลโดยคำนึงถึงจุดหรือเส้นใดๆ หรือสัมพันธ์กับพหุนามหรือเส้นโค้งที่เรียบซึ่งติดตั้งอยู่ทันทีกับการสังเกต
ฟังก์ชันตำแหน่ง position_stacknudge()
, position_fillnudge()
, position_jitternudge()
, position_dodgenudge()
และ position_dodge2nudge()
รวมแต่ละบทบาทของฟังก์ชัน ตำแหน่ง ทั้งสองเข้าด้วยกัน ทำให้สามารถดันป้ายกำกับในเลเยอร์การลงจุดที่ใช้การเรียงซ้อน การหลบหลีก หรือความกระวนกระวายใจได้อย่างง่ายดาย ฟังก์ชั่น position_jitter_keep()
, position_stack_keep()
, position_fill_keep()
, position_dodge_keep()
, position_dosge2_keep()
ทำงานเหมือนตำแหน่งจาก 'ggplot2' แต่เก็บพิกัดดั้งเดิมไว้ในวัตถุ data
ตำแหน่ง | การใช้งานหลัก | การกระจัด | ส่วนใหญ่ใช้กับ |
---|---|---|---|
position_nudge_keep() | ดุน | x, y (ระยะทางคงที่) | ป้ายกำกับข้อมูล |
position_jitter_keep() | กระวนกระวายใจ | x, y (สุ่ม) | แปลงจุด |
position_stack_keep() | สแต็ค | แนวตั้ง (สัมบูรณ์) | แปลงคอลัมน์และแท่ง |
position_stack_minmax() | สแต็ค | แนวตั้ง (สัมบูรณ์) | แถบข้อผิดพลาด |
position_fill_keep() | เติม | แนวตั้ง (สัมพัทธ์, เศษส่วน) | แปลงคอลัมน์ |
position_dodge_keep() | หลบ | ด้านข้าง (แน่นอน) | แปลงคอลัมน์และแท่ง |
position_dosge2_keep() | หลบ 2 | ด้านข้าง (แน่นอน) | แปลงกล่อง |
position_nudge_to() | ดุน | x, y (ตำแหน่งคงที่) | ป้ายกำกับข้อมูล |
position_nudge_center() | ดุน | x, y (ออกไปหรือมุ่งหน้าสู่เป้าหมาย) | ป้ายกำกับข้อมูล |
position_nudge_line() | ดุน | x, y (ออกไปหรือมุ่งหน้าสู่เป้าหมาย) | ป้ายกำกับข้อมูล |
position_stacknudge() | สแต็ก + ดัน | รวมกันดูด้านบน | ป้ายข้อมูลในแปลงคอลัมน์ |
position_fillnudge() | เติม + ดัน | รวมกันดูด้านบน | ป้ายข้อมูลในแปลงคอลัมน์ |
position_jitternudge() | กระวนกระวายใจ + สะกิด | รวมกันดูด้านบน | ป้ายกำกับข้อมูลในจุดแปลง |
position_dodgenudge() | หลบ + เขยิบ | รวมกันดูด้านบน | ป้ายข้อมูลในแปลงคอลัมน์ |
position_dodge2nudge() | ดอดจ์2 + เขยิบ | รวมกันดูด้านบน | ป้ายกำกับข้อมูลในแปลงกล่อง |
ฟังก์ชันตำแหน่งที่กำหนดไว้ในแพ็คเกจ 'ggpp'
สถิติ stat_fmt_tb()
ช่วยในการจัดรูปแบบของตารางที่จะลงจุดด้วย geom_table()
สถิติสี่รายการ ได้แก่ stat_dens2d_filter()
, stat_dens2d_label()
, stat_dens1d_filter()
และ stat_dens1d_label()
ใช้การแท็กหรือการติดฉลากแบบเลือกของการสังเกตตามความหนาแน่น 2D ในพื้นที่ของการสังเกตในแผง อีกสองสถิติ stat_dens1d_filter_g()
และ stat_dens1d_filter_g()
คำนวณความหนาแน่นตามกลุ่มแทนที่จะคำนวณตามแผงพล็อต สถิติทั้งหกนี้ได้รับการออกแบบมาให้ทำงานร่วมกันได้ดีกับ geom_text_repel()
และ geom_label_repel()
จากแพ็คเกจ 'ggrepel' (>= 0.8.0)
สถิติ stat_apply_panel()
และ stat_apply_group()
มีประโยชน์สำหรับการใช้ฟังก์ชันที่กำหนดเองโดยส่งคืนเวกเตอร์ตัวเลข เช่น cumsum()
, cummax()
และ diff()
สถิติ stat_centroid()
และ stat_summary_xy()
ช่วยให้สามารถคำนวณสรุปทั้ง x และ y แล้วส่งต่อไปยัง geom
สถิติ stat_quadrant_counts()
และ stat_panel_counts()
ทำให้ง่ายต่อการใส่คำอธิบายประกอบพล็อตด้วยจำนวนการสังเกต
สถิติ | การใช้งานหลัก | รูปทรงเรขาคณิตปกติ | ส่วนใหญ่ใช้กับ | ฟังก์ชั่นการคำนวณ |
---|---|---|---|---|
stat_fmt_tb() | การจัดรูปแบบและการเลือก | geom_table() | ตารางเป็นป้ายกำกับข้อมูล | กลุ่ม |
stat_fmt_tb() | การจัดรูปแบบและการเลือก | geom_table_npc() | ตารางเป็นคำอธิบายประกอบ | กลุ่ม |
stat_dens2d_filter() | การกรองความหนาแน่น 2D ในพื้นที่ | geom_text_s() , geom_label_s() , geom_text() , geom_label() | ข้อความเป็นป้ายกำกับข้อมูล | แผงหน้าปัด |
stat_dens2d_label() | การกรองความหนาแน่น 2D ในพื้นที่ | geom_text_repel() , geom_label_repel() | ข้อความเป็นป้ายกำกับข้อมูล | แผงหน้าปัด |
stat_dens1d_filter() | การกรองความหนาแน่น 1D ในพื้นที่ | geom_text_s() , geom_label_s() , geom_text() , geom_label() | ข้อความเป็นป้ายกำกับข้อมูล | แผงหน้าปัด |
stat_dens1d_label() | การกรองความหนาแน่น 1D ในพื้นที่ | geom_text_repel() , geom_label_repel() | ข้อความเป็นป้ายกำกับข้อมูล | แผงหน้าปัด |
stat_dens2d_filter_g() | การกรองความหนาแน่น 2D ในพื้นที่ | geom_text_s() , geom_label_s() , geom_text() , geom_label() | ข้อความเป็นป้ายกำกับข้อมูล | กลุ่ม |
stat_dens2d_label_g() | การกรองความหนาแน่น 2D ในพื้นที่ | geom_text_repel() , geom_label_repel() | ข้อความเป็นป้ายกำกับข้อมูล | กลุ่ม |
stat_dens1d_filter_g() | การกรองความหนาแน่น 1D ในพื้นที่ | geom_text_s() , geom_label_s() , geom_text() , geom_label() | ข้อความเป็นป้ายกำกับข้อมูล | กลุ่ม |
stat_dens1d_label_g() | การกรองความหนาแน่น 1D ในพื้นที่ | geom_text_repel() , geom_label_repel() | ป้ายกำกับข้อมูล | กลุ่ม |
stat_panel_counts() | จำนวนการสังเกต | geom_text() , geom_label() | ข้อความเป็นคำอธิบายประกอบ | แผงหน้าปัด |
stat_group_counts() | จำนวนการสังเกต | geom_text() , geom_label() | ข้อความเป็นคำอธิบายประกอบ | แผงหน้าปัด |
stat_quadrant_counts() | จำนวนการสังเกต | geom_text() , geom_label() | ข้อความเป็นคำอธิบายประกอบ | แผงหน้าปัด |
stat_apply_panel() | สรุปสะสม | geom_point() , geom_line() ฯลฯ | แผนภูมิกระจายและเส้น | แผงหน้าปัด |
stat_apply_group() | สรุปสะสม | geom_point() , geom_line() ฯลฯ | แผนภูมิกระจายและเส้น | กลุ่ม |
stat_centroid() | สรุปร่วม x และ y | geom_point() , geom_rug() , geom_margin_arrow() ฯลฯ | สรุปข้อมูล | กลุ่ม |
stat_summary_xy() | สรุปร่วม x และ y | geom_point() , geom_rug() , geom_margin_arrow() ฯลฯ | สรุปข้อมูล | กลุ่ม |
stat_functions() | คำนวณ y จากช่วง x | geom_line() , geom_point() ฯลฯ | วาดเส้นโค้งของฟังก์ชัน | กลุ่ม |
สถิติที่กำหนดไว้ในแพ็คเกจ 'ggpp'
การให้เหตุผล "outward_mean"
, "inward_mean"
, "outward_median"
และ "inward_median"
ใช้การให้เหตุผลทั้งภายนอกและภายในโดยสัมพันธ์กับ centroid ของข้อมูลแทนที่จะเป็นศูนย์กลางของ "position"
จะใช้การให้เหตุผลที่ขอบใกล้กับตำแหน่งเดิมมากที่สุด ซึ่งใช้งานได้เฉพาะกับฟังก์ชันตำแหน่งที่บันทึกตำแหน่งเดิมโดยใช้รูปแบบการตั้งชื่อที่ใช้ใน 'ggpp' ไม่เช่นนั้น การให้เหตุผลเริ่มต้นจะกลับไปอยู่ที่ "center"
/ "middle"
แพ็คเกจนี้เป็น "การแยกส่วน" จากแพ็คเกจ 'ggpmisc' ที่มีส่วนขยายเป็นไวยากรณ์ที่เขียนขึ้นเพื่อใช้ในชื่อ 'ggpmisc' เนื่องจาก 'ggpmisc' มีขนาดใหญ่ขึ้น การแยกออกเป็นสองแพ็คเกจจึงจำเป็นต่อการพัฒนาและบำรุงรักษาที่ง่ายดาย และเพื่ออำนวยความสะดวกในการนำเข้าไปยังแพ็คเกจอื่นๆ ในขณะนี้ แพ็คเกจ 'ggpmisc' จะนำเข้าและส่งออกคำจำกัดความที่มองเห็นทั้งหมดจาก 'ggpp' อีกครั้ง
โครงเรื่องด้านล่างเป็นตัวอย่างบางสิ่งที่ 'ggpp' ทำให้เป็นไปได้หรือทำให้เขียนโค้ดได้ง่ายกว่าเมื่อเทียบกับ 'ggplot' ที่ใช้เดี่ยว ๆ ตัวอย่างเพิ่มเติมซึ่งรวมถึง 'ggpp' และ 'ggrepel' ที่รวมกันหลายรายการมีอยู่ในบทความสั้นของแพ็คเกจ
library( ggpp )
library( ggrepel )
library( dplyr )
พล็อตพร้อมตารางแทรก
mtcars % > %
group_by( cyl ) % > %
summarize( wt = mean( wt ), mpg = mean( mpg )) % > %
ungroup() % > %
mutate( wt = sprintf( " %.2f " , wt ),
mpg = sprintf( " %.1f " , mpg )) - > tb
df <- tibble( x = 5.45 , y = 34 , tb = list ( tb ))
ggplot( mtcars , aes( wt , mpg , colour = factor ( cyl ))) +
geom_point() +
geom_table( data = df , aes( x = x , y = y , label = tb ))
พล็อตที่มีพล็อตแทรก
แทรกพล็อตตำแหน่งโดยใช้พิกัดพล็อตดั้งเดิม (npc) โดยใช้ค่าตัวเลขในช่วง 0..1 พร้อมกับ I()
p <- ggplot( mtcars , aes( factor ( cyl ), mpg , colour = factor ( cyl ))) +
stat_boxplot() +
labs( y = NULL , x = " Engine cylinders (number) " ) +
theme_bw( 9 ) + theme( legend.position = " none " )
ggplot( mtcars , aes( wt , mpg , colour = factor ( cyl ))) +
geom_point( show.legend = FALSE ) +
annotate( " plot " , x = I( 0.05 ), y = I( 0.05 ), label = p ,
hjust = " inward " , vjust = " inward " ) +
expand_limits( y = 0 , x = 0 )
หมายถึงคำนวณได้ทันทีและแสดงเป็นเครื่องหมายดอกจัน
ggplot( mtcars , aes( wt , mpg , colour = factor ( cyl ))) +
geom_point() +
stat_centroid( shape = " asterisk " , size = 6 )
ค่ามัธยฐานคำนวณได้ทันทีโดยแสดงเป็นลูกศรส่วนขอบ ป้ายกำกับที่มีจำนวนการสังเกตต่อกลุ่ม
ggplot( mtcars , aes( wt , mpg , colour = factor ( cyl ))) +
geom_point() +
stat_centroid( geom = " y_margin_arrow " , .fun = median ,
aes( yintercept = after_stat( y )), arrow.length = 0.05 ) +
stat_group_counts( vstep = 0 , hstep = 0.09 )
df <- data.frame ( x1 = c( 1 , 2 , 1 , 3 , - 1 ),
x2 = c( " a " , " a " , " b " , " b " , " b " ),
grp = c( " some long name " , " other name " , " some name " ,
" another name " , " a name " ))
# Add labels to a horizontal column plot (stacked by default)
ggplot( data = df , aes( x2 , x1 , group = grp )) +
geom_col(aes( fill = grp ), width = 0.5 ) +
geom_hline( yintercept = 0 ) +
geom_text(
aes( label = grp ),
position = position_stacknudge( vjust = 1 , y = - 0.2 )) +
theme( legend.position = " none " )
การติดตั้งเวอร์ชันเสถียรล่าสุดจาก CRAN (แหล่งที่มา, Mac และ Win binaries):
install.packages( " ggpp " )
การติดตั้งเวอร์ชันปัจจุบันที่ไม่เสถียรจากพื้นที่เก็บข้อมูลที่คล้ายกับ R-Universe CRAN (ไบนารีสำหรับ Mac, Win, Webassembly และ Linux รวมถึงแหล่งที่มาที่มี):
install.packages( ' ggpp ' ,
repos = c( ' https://aphalo.r-universe.dev ' ,
' https://cloud.r-project.org ' ))
การติดตั้งเวอร์ชันปัจจุบันที่ไม่เสถียรจาก GitHub (จากแหล่งที่มา):
# install.packages("devtools")
devtools :: install_github( " aphalo/ggpp " )
เอกสาร HTML สำหรับแพ็คเกจ รวมถึงหน้าช่วยเหลือและ คู่มือผู้ใช้ มีอยู่ที่ (https://docs.r4photobiology.info/ggpp/)
ติดตามข่าวสารอัพเดทได้ที่ (https://www.r4photobiology.info/)
บทที่ 7 ใน Aphalo (2020) และบทที่ 9 ใน Aphalo (2024) อธิบายแนวคิดพื้นฐานของไวยากรณ์ของกราฟิกที่ใช้ใน 'ggplot2' รวมถึงส่วนขยายของไวยากรณ์นี้ รวมถึงอีกหลายแนวคิดที่จัดทำโดยแพ็คเกจ 'ggpp' และ 'ggpmisc '. ข้อมูลที่เกี่ยวข้องกับหนังสือสามารถดูได้ที่ https://www.learnr-book.info/
กรุณารายงานข้อบกพร่องและขอคุณสมบัติใหม่ที่ (https://github.com/aphalo/ggpp/issues) ยินดีรับคำขอดึงที่ (https://github.com/aphalo/ggpp)
หากคุณใช้แพ็คเกจนี้เพื่อผลิตสิ่งพิมพ์ทางวิทยาศาสตร์หรือเชิงพาณิชย์ โปรดอ้างอิงตาม:
citation( " ggpp " )
# > To cite package 'ggpp' in publications use:
# >
# > Aphalo P (2024). _ggpp: Grammar Extensions to 'ggplot2'_. R package
# > version 0.5.8-1, <https://CRAN.R-project.org/package=ggpp>.
# >
# > A BibTeX entry for LaTeX users is
# >
# > @Manual{,
# > title = {ggpp: Grammar Extensions to 'ggplot2'},
# > author = {Pedro J. Aphalo},
# > year = {2024},
# > note = {R package version 0.5.8-1},
# > url = {https://CRAN.R-project.org/package=ggpp},
# > }
เนื่องจากเป็นส่วนขยายของแพ็คเกจ 'ggplot2' โค้ดบางส่วนในแพ็คเกจ 'ggpp' จึงถูกสร้างขึ้นโดยใช้เป็นเทมเพลตที่มาจากฟังก์ชันเลเยอร์และมาตราส่วนใน 'ggplot2' ส่วนติดต่อผู้ใช้ของ 'ggpp' มีเป้าหมายเพื่อให้สอดคล้องกับ 'ggplot2' มากที่สุด และไวยากรณ์แบบเลเยอร์ของกราฟิก (Wickham 2010) คุณลักษณะใหม่ที่เพิ่มใน 'ggplot2' จะถูกเพิ่มเมื่อเกี่ยวข้องกับ 'ggpp' เช่น การรองรับ orientation
สำหรับการพลิกเลเยอร์ แพ็คเกจนี้จึงรวมการสนับสนุนที่สำคัญทางอ้อมจากผู้เขียนและผู้ดูแล 'ggplot2' หลายคน ตามที่ระบุไว้ที่ (https://ggplot2.tidyverse.org/)
การประสานงานการพัฒนาผ่านการแลกเปลี่ยนความคิดที่เป็นมิตรและการสนับสนุนซึ่งกันและกันโดย Kamil Slowikowski ไปยัง 'ggpp' และโดยตัวฉันเองกับ 'ggrepel' ทำให้ทั้งสองแพ็คเกจสามารถใช้งานร่วมกันได้อย่างสมบูรณ์
Aphalo, Pedro J. (2024) เรียนรู้ R: เป็นภาษา. 2เอ็ด อาร์ ซีรี่ย์ โบกา ราตัน และลอนดอน: แชปแมนและฮอลล์/สำนักพิมพ์ซีอาร์ซี ไอเอสบีเอ็น: 9781032516998. 466 หน้า
Aphalo, Pedro J. (2020) เรียนรู้ R: เป็นภาษา. 1เอ็ด อาร์ ซีรี่ย์ โบกา ราตัน และลอนดอน: แชปแมนและฮอลล์/สำนักพิมพ์ซีอาร์ซี ISBN: 9780367182533. 350 หน้า
วิคแฮม, แฮดลีย์. 2553. “ไวยากรณ์แบบเลเยอร์ของกราฟิก” วารสารสถิติการคำนวณและกราฟิก 19 (1): 3–28 https://doi.org/10.1198/jcgs.2009.07098.
© 2016-2024 เปโดร เจ. อฟาโล ([email protected]) เปิดตัวภายใต้ GPL เวอร์ชัน 2 หรือสูงกว่า ซอฟต์แวร์นี้ไม่มีการรับประกันใดๆ