Eu executei quatro programas a, b, c, d
paralelamente em duas máquinas diferentes X
e Y
separadamente por 10 vezes. A seguir, é apresentada uma amostra dos dados. Os tempos de execução (milissegundos) nas 10
execuções de cada programa são dados sob seus respectivos nomes.
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
Preciso criar gráficos para visualizar o seguinte:
- Compare o desempenho de cada programa (ou seja, tempo de execução) nas máquinas X e Y.
- Compare a variação nos tempos de execução de cada programa nas máquinas X e Y
- Qual máquina é justa em fornecer recursos de computação para cada programa?
- Compare o tempo total de execução (a + b + c + d) dos quatro programas em cada execução nas máquinas X e Y.
- Compare a variação no tempo total de execução dos quatro programas nas 10 execuções.
Para 1 e 2, criei a Figura A, a Figura B é para 3 e a figura C é para 4 e 5. No entanto, não estou satisfeito porque há três gráficos e é difícil encaixar todos os três gráficos no meu artigo. Além disso, acredito que podemos produzir melhor que estes. Eu realmente aprecio se alguém me ajudar a desenhar um ou dois gráficos agradáveis em vez de três em R, satisfazendo meus requisitos. Veja abaixo o código R que usei para produzir esses gráficos.
Figura A:
Figura B: O eixo X mostra as execuções, o eixo Y mostra os tempos de execução dos quatro programas em uma execução específica.
Figura C:
Código 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()
fonte
Os gráficos permitem contar uma história, para girar os dados da maneira que você deseja que o leitor interprete seus resultados. Qual é a mensagem de take-away? O que você quer colocar na mente deles? Determine essa mensagem e pense em como transformá-la em figura.
Nos seus gráficos, não sei que mensagem devo aprender e você devolve muitos dados brutos - quero resumos eficientes, não os dados em si.
Para o enredo 1, eu perguntaria: que comparações você deseja fazer? Os gráficos que você ilustrou os tempos de execução no programa para um determinado computador. Parece que você deseja fazer comparações entre computadores para um determinado programa. Se for esse o caso, você deseja que as estatísticas do programa a no computador x estejam no mesmo gráfico que as estatísticas do programa a no computador y. Eu colocaria todas as 8 caixas em seus dois boxplots na mesma figura, ordenado ax, ay, bx, by, ... para facilitar a comparação que você realmente está fazendo.
O mesmo vale para o enredo 2, mas acho esse enredo estranho. Você está basicamente mostrando todos os pontos de dados que possui --- uma caixa para cada execução e uma execução possui apenas 4 observações. Por que não me fornecer um gráfico de caixa do tempo total de execução para o computador xe um para o computador y?
A mesma crítica de "muitos dados" também se aplica à sua última plotagem. O gráfico 3 não adiciona nenhuma informação nova ao gráfico 2. Eu posso obter o tempo total se eu apenas multiplicar o tempo médio por 4 no gráfico 2. Aqui, também, você pode plotar uma caixa cada para o computador x e y, mas estas literalmente serão múltiplos do gráfico que propus substituir o gráfico 2.
Concordo com @ Andy W que o computador não é tão interessante e talvez você queira apenas declarar isso e excluí-lo das parcelas por brevidade (embora eu ache que as sugestões que eu fiz podem ajudá-lo a reduzi-las). Eu não acho que as mesas sejam muito boas maneiras de ir, no entanto.
fonte
Seus gráficos parecem bons para mim e, se você tiver restrições de espaço, poderá colocá-los todos em um gráfico, em vez de três separados (por exemplo, use
par(mfrow=c(3,2))
e depois envie-os para o mesmo dispositivo).Não há muito o que relatar
Machine Y
, literalmente, não tem variação, exceto o programab
. Eu acho que os gráficos são informativos para ver não apenas quanto tempo os tempos de execução são,Machine X
mas também quanto os tempos de execução variam.No entanto, se esse for realmente o seu caso de uso, esses dados simples colocar todos os dados em uma tabela seriam suficientes para demonstrar a diferença entre as máquinas (embora eu acredite que os gráficos ainda sejam úteis se você puder ter espaço para colocá-los no documento também).
fonte