2012-09-11 5 views
3

Voici mon script.gnuplot ne montre pas correctement l'histogramme rowstacked

set style data histogram 
set style histogram rowstack gap 1 
set style fill solid border -1 
set boxwidth 0.8 
set grid ytics linestyle 1 
set key autotitle columnheader 
set key below horizontal right 
set ylabel "Overhead (%)" 
set xlabel "Benchmark" 

plot newhistogram "bm1" lt 2, 'plot1.txt' u 2:xtic(1), '' u 3, '' u 4, \ 
newhistogram "bm2" lt 2, 'plot1.txt' u 5:xtic(1) notitle, '' u 6 notitle, '' u 7 notitle, \ 
newhistogram "bm3" lt 2, 'plot1.txt' u 8:xtic(1) notitle, '' u 9 notitle, '' u 10 notitle, \ 
newhistogram "bm4" lt 2, 'plot1.txt' u 11:xtic(1) notitle, '' u 12 notitle, '' u 13 notitle 

Et voici mes données.

Threads "Overhead 1" "Overhead 2" "Overhead 3" 
w1 6 47 58 8 0 0 15 4 45 12 5 5   
w2 4 6 6  5 0 2 1 3 2  10 20 30 

Le graphique obtenu est présenté ci-dessous. Notez le problème avec la barre de droite du 4ème benchmark (bm4, w2). Pourquoi la barre a un décalage? Je ne comprends pas ça.

enter image description here

+1

J'ai soumis un rapport de bogue. Cela ressemble à une régression, bien que je ne puisse pas dire quand exactement gnuplot a régressé ... – mgilson

Répondre

2

On dirait un bug/régression. J'ai fait des changements minimes à votre script pour obtenir gnuplot arrêter de se plaindre sur les titres:

set style data histogram 
set style histogram rowstack gap 1 
set style fill solid border -1 
set boxwidth 0.8 
set grid ytics linestyle 1 
set key below horizontal right 
set ylabel "Overhead (%)" 
set xlabel "Benchmark" 

plot newhistogram "bm1" lt 2, 'plot1.txt' u 2:xtic(1) title columnhead(2), '' u 3 title columnhead(3), '' u 4 title columnhead(4), \ 
    newhistogram "bm2" lt 2, 'plot1.txt' u 5:xtic(1) notitle, '' u 6 notitle, '' u 7 notitle, \ 
    newhistogram "bm3" lt 2, 'plot1.txt' u 8:xtic(1) notitle, '' u 9 notitle, '' u 10 notitle, \ 
    newhistogram "bm4" lt 2, 'plot1.txt' u 11:xtic(1) notitle, '' u 12 notitle, '' u 13 notitle 

Voici le graphique (tracé au terminal postscript) en utilisant gnuplot 4.6 patchlevel 0 (Tracée sur OS-X 10.5) .:

Plotted with gnuplot 4.6.0

est ici le même scénario, mais avec gnuplot 4.4 patchlevel 2:

Plotted with gnuplot 4.4.2

Le même comportement se produit si je conspire à l'aide du terminal .png

+0

Oui ça marche, même si ça ne marche toujours pas avec wgnuplot (gnuplot dans Windows) que j'utilisais. On dirait qu'il y a un bug là-dedans. Dans ma machine virtuelle Ubuntu, cela fonctionne très bien. Merci d'avoir répondu. – pythonic

+1

@ user1018562 - Voici le lien vers le rapport de bug que j'ai classé si vous êtes intéressé: (https://sourceforge.net/tracker/?func=detail&atid=102055&aid=3566662&group_id=2055) – mgilson

0

Récemment, je viens de tomber sur la même question, et après les heures de recherche d'une solution, je réalise que les fenêtres gnuplot a un problème lors du traçage des histogrammes empilés pour fichiers avec en-tête (par en-tête je veux dire la première ligne du fichier qui contient le nom des colonnes). Donc, une solution de contournement rapide pour ce problème serait de supprimer les en-têtes du fichier source.

Il a travaillé pour moi.

Questions connexes