ส่งออกพล็อตเป็น .png โดยมีพื้นหลังโปร่งใส

ฉันกำลังพยายามส่งออกพล็อตแบบง่ายใน .png โดยมีพื้นหลังโปร่งใส ฉันสามารถส่งออกได้ แต่พื้นหลังยังคงเป็นสีขาว

ตัวอย่างจำลอง

x = c(1, 2, 3)

ฉันได้ลองแล้ว

plot (x)

dev.copy (png,'myplot.png', bg = 'transparent')
dev.off()

และสิ่งนี้

plot (x, bg = 'transparent')

dev.copy (png,'myplot.png')
dev.off()

แต่ไม่ทำงาน.

ใครสามารถช่วยได้บ้าง?


person francoiskroll    schedule 25.04.2017    source แหล่งที่มา
comment
ลอง: png("myplot.png", width=600, height=400, bg = "transparent"); plot(x); dev.off()   -  person Adam Quek    schedule 25.04.2017
comment
มันใช้งานได้สำหรับฉันกับ plot (x, bg = 'transparent'); dev.copy (png,'myplot.png', bg = 'transparent')   -  person G5W    schedule 25.04.2017


คำตอบ (2)


แทนที่จะบันทึกพารามิเตอร์ทั้งหมด จะเป็นการดีกว่าที่จะบันทึกเฉพาะค่าเก่าของพารามิเตอร์ที่ถูกเปลี่ยนแปลงในการเรียก 'par' โดยการบันทึกผลลัพธ์ของ 'par' ดังตัวอย่างที่แก้ไข:

x = c(1, 2, 3)
old.par <- par(bg=NA)
plot (x)

dev.copy(png,'myplot.png')
dev.off()
par(old.par)
person Diana Šimić    schedule 25.01.2020

person    schedule
comment
และเราจะคืนค่าการเปลี่ยนแปลง par ได้อย่างไร - person Fawwaz Yusran; 01.09.2018
comment
การสร้างอ็อบเจ็กต์ด้วยพารามิเตอร์เริ่มต้น: `parOrig ‹- par()´ และใช้เป็นอาร์กิวเมนต์ ´par()´: ´par(parOrig)´ ´parOrig ‹- par(); พาร์(bg=NA, mfrow = c(2, 1)); โครงเรื่อง (1:3); พาร์(parOrig); โครงเรื่อง (1:3)’ - person gonzalez.ivan90; 03.09.2018