Un script qui combine les marges lors du collage d'un certain nombre de graphiques sur des tuiles avec gnuplot

Comme le titre l'indique, au lieu d'un mémo φ (..).

def margin( n, nhor, nver ) :
    '''
    return top, bottom, left and right margins for the gnuplot command to describe diagrams as tile like arrangement.\n
    inputs: n is the number of diagrams and nhor is the number of column.
    '''
    def margin_fmt( t, b, l, r ) :
        return [ "set tmargin %d" % t, # top
                 "set bmargin %d" % b, # bottom
                 "set lmargin %d" % l, # left
                 "set rmargin %d" % r ]# right
    ret = []
    for i in range(n) :
        t,b,l,r = 0,0,0,0
        # vertical orientation
        if   i / nhor == 0 :
            t = 2
        elif i / nhor == nver - 1 :
            b = 2
            # horizontal orientation
        if   i % nhor == 0 :
            l = 2
        elif i % nhor == nhor - 1 :
            r = 2

        ret.append( margin_fmt( t, b, l, r ) )

    return ret


if __name__ == "__main__" :
    n = 2*6
    nhor = 5
    def get_the_number_of_rows( n, nhor ) :
        if   n % nhor == 0 : nver = n / nhor
        elif n % nhor != 0 : nver = n / nhor + 1
        return nver
    nver = get_the_number_of_rows(n,nhor)

    for _ in margin(n,nhor,nver) :
        print _

Le résultat de l'exécution est le suivant.

['set tmargin 2', 'set bmargin 0', 'set lmargin 2', 'set tmargin 0']
['set tmargin 2', 'set bmargin 0', 'set lmargin 0', 'set tmargin 0']
['set tmargin 2', 'set bmargin 0', 'set lmargin 0', 'set tmargin 0']
['set tmargin 2', 'set bmargin 0', 'set lmargin 0', 'set tmargin 0']
['set tmargin 2', 'set bmargin 0', 'set lmargin 0', 'set tmargin 2']
['set tmargin 0', 'set bmargin 0', 'set lmargin 2', 'set tmargin 0']
['set tmargin 0', 'set bmargin 0', 'set lmargin 0', 'set tmargin 0']
['set tmargin 0', 'set bmargin 0', 'set lmargin 0', 'set tmargin 0']
['set tmargin 0', 'set bmargin 0', 'set lmargin 0', 'set tmargin 0']
['set tmargin 0', 'set bmargin 0', 'set lmargin 0', 'set tmargin 2']
['set tmargin 0', 'set bmargin 2', 'set lmargin 2', 'set tmargin 0']
['set tmargin 0', 'set bmargin 2', 'set lmargin 0', 'set tmargin 0']

Recommended Posts

Un script qui combine les marges lors du collage d'un certain nombre de graphiques sur des tuiles avec gnuplot
Un script qui combine plusieurs pages d'un fichier PDF en une seule page sans marges
Un script qui envoie un ping au serveur enregistré et envoie un e-mail avec Gmail un certain nombre de fois en cas d'échec
Lors de la génération d'un grand nombre de graphiques avec matplotlib, je ne souhaite pas afficher le graphique à l'écran (environnement jupyter)
Une histoire que j'ai eu du mal à afficher des graphiques les uns sur les autres avec matplotlib
Un script python qui obtient le nombre de travaux pour une condition spécifiée sur Indeed.com
Un script qui peut effectuer des tests de résistance en fonction du nombre de cœurs CPU
[Art de la coquille] Seulement quand c'est un multiple de 3 et un nombre avec 3 devient stupide
Un outil pour suivre les affiches avec un grand nombre de likes sur instagram [25 minutes à 1 seconde]
[Python] Un programme qui compte le nombre de vallées
Un script qui prend un instantané d'un volume EBS
Que contient cette variable (lorsque le script Python est en cours d'exécution)
Un script qui génère une liste d'utilisateurs du portail SoftLayer
Script pour changer la longueur du son avec REAPER
Un serveur qui renvoie le nombre de personnes devant la caméra avec bottle.py et OpenCV
Créez un bot qui ne renvoie que le résultat de l'analyse morphologique avec MeCab avec Discord
Résumé des points à garder à l'esprit lors de l'écriture d'un programme qui s'exécute sur Python 2.5
À propos du contenu de wscript lors de la création d'un environnement en langage D comme celui avec Waf
Solution de contournement pour sys.argv non transmise lors de l'exécution d'un script Python avec uniquement le nom de fichier sur Python2.7 sous Windows