Saya menjalankan empat program secara a, b, c, d
paralel pada dua mesin yang berbeda X
dan Y
secara terpisah selama 10 kali. Di bawah ini adalah contoh data. Waktu berjalan (milidetik) dalam 10
menjalankan setiap program diberikan dengan nama masing-masing.
Machine-X:
a b c d
29 40 21 18
28 43 20 18
30 49 20 28
29 50 19 19
28 51 21 19
29 41 30 29
32 47 10 18
29 43 20 18
28 51 30 29
29 41 21 19
Machine-Y:
a b c d
16 24 19 18
16 24 19 18
16 23 19 18
16 24 19 18
16 24 19 18
16 22 19 18
16 24 19 18
16 24 19 18
16 24 19 18
16 24 19 18
Saya perlu membuat grafik untuk memvisualisasikan yang berikut:
- Bandingkan kinerja masing-masing program (yaitu waktu berjalan) pada mesin X dan Y.
- Bandingkan variasi waktu menjalankan setiap program pada mesin X dan Y
- Mesin mana yang adil dalam menyediakan sumber daya komputasi untuk setiap program?
- Bandingkan total waktu berjalan (a + b + c + d) dari empat program dalam setiap proses pada mesin X dan Y.
- Bandingkan variasi dalam total waktu berjalan dari empat program dalam 10 berjalan.
Untuk 1 dan 2, saya membuat Gambar A, Gambar B adalah untuk 3, dan angka C untuk 4 dan 5. Namun, saya tidak puas karena ada tiga grafik dan sulit untuk mencocokkan ketiga grafik di kertas saya. Selain itu, saya percaya bahwa kita dapat menghasilkan yang lebih baik dari ini. Saya sangat menghargai jika seseorang membantu saya untuk menggambar satu atau dua grafik yang bagus alih-alih tiga dalam R sambil memenuhi persyaratan saya. Silakan lihat di bawah untuk kode R yang saya gunakan untuk menghasilkan grafik ini.
Gambar A:
Gambar B: Sumbu X menunjukkan proses, Sumbu Y menunjukkan waktu berjalan dari empat program dalam proses tertentu.
Gambar C:
Kode R
> pdf("Figure A.pdf")
> par(mfrow=c(1,2))
> boxplot(x,boxwex=0.4, ylim=c(15, 60))
> mtext("Time", side=2, line=2)
> mtext("Running times of each program in 10 runs", side=3, line=2, at=6,cex=1.4)
> mtext("Machine X", side=3, line=0.5, at=2,cex=1.1)
> boxplot(y,boxwex=0.4, ylim=c(15, 60))
> mtext("Machine Y", side=3, line=0.4, at=2,cex=1.1)
> dev.off()
> pdf("Figure B.pdf")
> par(mfrow=c(1,2))
> boxplot(t(x),boxwex=0.4, ylim=c(0,50))
> mtext("Run Number", side=1, line=2, at=12, cex=1.2)
> mtext("Fairness", side=3, line=2, at=12,cex=1.4)
> mtext("Machine X", side=3, line=0.5, at=5,cex=1.1)
> boxplot(t(y),boxwex=0.4, ylim=c(0,50))
> mtext("Machine Y", side=3, line=0.4, at=5,cex=1.1)
> dev.off()
> pdf("Figure C.pdf")
> par(mfrow=c(1,2))
> barplot(t(x), ylim=c(0,150),names=1:10,col=mycolor)
> mtext("Run Number", side=1, line=2, at=14, cex=1.2)
> mtext("Total Running-Times in 10 Runs", side=3, line=2, at=14, cex=1.2)
> mtext("Machine X", side=3, line=0.5, at=5,cex=1.1)
> barplot(t(y), ylim=c(0,150), names=1:10,col=mycolor)
> mtext("Machine Y", side=3, line=0.5, at=5,cex=1.1)
> legend("topright",legend=c("a","b","c","d"),fill=mycolor,cex=1.1)
> dev.off()
sumber
Plot memungkinkan Anda menceritakan sebuah kisah, untuk memutar data dengan cara yang Anda inginkan agar pembaca menafsirkan hasil Anda. Apa pesannya? Apa yang ingin Anda tempel di pikiran mereka? Tentukan pesan itu, lalu pikirkan bagaimana menjadikannya sebuah angka.
Dalam plot Anda, saya tidak tahu pesan apa yang harus saya pelajari dan Anda memberikan saya terlalu banyak data mentah --- Saya ingin ringkasan yang efisien, bukan data itu sendiri.
Untuk plot 1, saya akan bertanya, perbandingan apa yang ingin Anda buat? Bagan yang telah Anda ilustrasikan waktu tayang di seluruh program untuk komputer tertentu. Sepertinya Anda ingin melakukan perbandingan di seluruh komputer untuk program yang diberikan. Jika demikian, maka Anda ingin statistik untuk program a di komputer x berada di plot yang sama dengan statistik untuk program a di komputer y. Saya akan menempatkan semua 8 kotak di dua kotak plot Anda dalam gambar yang sama, memerintahkan kapak, ay, bx, oleh, ... untuk memfasilitasi perbandingan yang Anda buat.
Hal yang sama berlaku untuk plot 2, tetapi saya merasa plot ini aneh. Anda pada dasarnya menunjukkan setiap titik data yang Anda miliki --- sebuah kotak untuk setiap proses dan proses hanya memiliki 4 pengamatan. Mengapa tidak memberi saya satu kotak petak total waktu menjalankan untuk komputer x dan satu untuk komputer y?
Kritik "terlalu banyak data" yang sama berlaku untuk plot terakhir Anda juga. Plot 3 tidak menambahkan informasi baru ke plot 2. Saya bisa mendapatkan waktu keseluruhan jika saya hanya mengalikan waktu rata-rata dengan 4 di plot 2. Di sini, Anda juga dapat merencanakan kotak masing-masing untuk komputer x dan y, tetapi ini akan benar-benar kelipatan plot yang saya usulkan untuk menggantikan plot 2.
Saya setuju dengan @Andy W bahwa komputer Anda tidak begitu menarik dan mungkin Anda hanya ingin menyatakannya dan mengecualikannya dari plot untuk singkatnya (meskipun saya pikir saran yang saya buat dapat membantu Anda memangkas plot ini). Saya tidak berpikir bahwa tabel adalah cara yang sangat baik untuk dilakukan.
sumber
Plot Anda tampak baik bagi saya, dan jika Anda memiliki keterbatasan ruang, Anda dapat menempatkan semuanya dalam satu plot alih-alih tiga plot yang terpisah (mis. Gunakan
par(mfrow=c(3,2))
dan kemudian output saja ke semua perangkat yang sama).Tidak banyak yang harus dilaporkan
Machine Y
, untuk itu tidak ada variasi kecuali untuk programb
. Saya pikir grafiknya informatif untuk melihat tidak hanya berapa lama waktu berjalan,Machine X
tetapi juga berapa banyak waktu berjalan.Jika ini benar-benar kasus penggunaan Anda, itu adalah data sederhana yang menempatkan semua data dalam sebuah tabel akan cukup untuk menunjukkan perbedaan antara mesin (meskipun saya percaya grafik masih berguna jika Anda dapat memberikan ruang untuk menempatkannya di mendokumentasikan juga).
sumber