2012-05-15 10 views
5

Ho alcuni stili di figura che ho salvato nella finestra di dialogo "impostazioni di esportazione" accessibile in File -> "Esporta configurazione".matlab assegnare un "impostazioni di esportazione" -> "Carica impostazioni da" per cifre a livello di codice

C'è un modo per caricare uno dei miei stili al livello di programmazione? vale a dire. Al momento ho bisogno di fare un certo numero di clic del mouse per caricare il mio stile desiderato, quindi applicarlo alla figura, quindi dirgli di esportare e dare un nome al file. Sento che tutto questo dovrebbe essere possibile attraverso alcuni comandi, ma non riesco a trovare le informazioni giuste.

risposta

7

ho trovato questa soluzione in fondo this thread:

% create an example fig that we want to format with style file 'foo' 
plot(rand(14,10)); 

% get style sheet info 
snam='foo'; % The name of your style file (NO extension) 
s=hgexport('readstyle',snam); 

%apply style sheet info 
fnam='myfig.jpeg'; % your file name 
s.Format = 'jpeg'; %I needed this to make it work but maybe you wont. 
hgexport(gcf,fnam,s); 

E nella cartella corrente deve essere un file chiamato "myfig.jpeg" che è la tua figura con le impostazioni di esportazione effettuate in "pippo" . Se si desidera visualizzare le opzioni del file di stile, digitare s nella riga di comando. Dovrebbe essere una struttura come questa con tutte le impostazioni di esportazione al suo interno.

s = 

      Version: '1' 
      Format: 'jpeg' 
      Preview: 'none' 
       Width: 'auto' 
      Height: 'auto' 
       Units: 'points' 
       Color: 'rgb' 
     Background: 'w' 
     FixedFontSize: '10' 
    ScaledFontSize: 'auto' 
      FontMode: 'scaled' 
     FontSizeMin: '8' 
    FixedLineWidth: '1' 
    ScaledLineWidth: 'auto' 
      LineMode: 'scaled' 
     LineWidthMin: '2' 
      FontName: 'Wingdings' 
     FontWeight: 'auto' 
      FontAngle: 'auto' 
     FontEncoding: 'latin1' 
      PSLevel: '2' 
      Renderer: 'auto' 
     Resolution: 'auto' 
     LineStyleMap: 'none' 
     ApplyStyle: '0' 
      Bounds: 'loose' 
      LockAxes: 'on' 
      ShowUI: 'on' 
     SeparateText: 'off' 
+0

Nizza. Non avevo idea che hgexport lo facesse. –

+0

Ho cercato su Google una soluzione come questa solo per scoprire che avevo inviato questa domanda molto tempo fa e in qualche modo non ho visto che qualcuno avesse postato le risposte. Funziona perfettamente! – lonestar21

+1

questa soluzione funziona solo se vuoi salvare la trama come immagine am (png, jpg, eps, ...) ma se vuoi semplicemente applicare lo stile alla figura stessa, il comando matlab 'hgexport (gcf, ' temp_dummy ',' mystyle ',' applystyle ', true); '(vedi la soluzione del pacchetto' SDF' qui sotto) funziona. – kromuchi

0

Non facilmente possibile.

Quando si salva uno stile dalla finestra di dialogo Impostazione esportazione, le informazioni pertinenti vengono salvate in un file di testo nella directory delle preferenze MATLAB. Se si digita cd(fullfile(prefdir, 'ExportSetup')) è possibile vederli. La finestra di dialogo Export Setup fa un sacco di cose a cui non puoi accedere facilmente con quei file quando crei, applichi e salvi nuovi stili.

In teoria è possibile leggere e analizzare questi file autonomamente e applicare lo stile a livello di codice, ma non so se lo troverete ne vale la pena.

Si potrebbe trovare più facile per creare una trama, applicare le eventuali modifiche e la formattazione è necessario, e poi auto-generare un nuovo comando (File->Generate Code dal menu Figura). Potresti quindi chiamare quel comando al posto del normale comando di plottaggio e impostare la tua figura in base alle tue esigenze.

Spero che questo aiuti.

3

Utilizzare il seguente pacchetto "SDF" da MATLAB centrale. È solo un comando di linea. Metti questo file sdf.m nel tuo percorso. Ecco un esempio.

figure; 
hold on; 
plot(rand(1,100)); 
plot(rand(1,100), 'r'); 
grid on; 
box on; 
sdf('mystyle');   %"mystyle" is the name of export style 

http://www.mathworks.com/matlabcentral/fileexchange/24807-sdf-set-the-figure

+1

funziona come un fascino – FabricioFCarv

+0

il comando 'sdf ('mystyle')' può essere sostituito con il comando matlab incorporato 'hgexport (gcf, 'temp_dummy', 'mystyle', 'applystyle ', vero); ' – kromuchi

+0

Questo non funziona in Matlab 2014. – hyprfrcb

Problemi correlati