2012-12-13 17 views
7

benim grafiğin genişliğini nasıl arttırılır: Benim grafiğin genişliğini artırabilir nasılgnuplot: Ben noktası ile bir çizgi grafik çizmek için 'gnuplot'a' kullanıyorum

set style data linespoints 
set xlabel "number" 

set ylabel "Dollars" 
set yrange [0:250] 

böylece Dahası var olduğu 'x', grafiğimi kare yerine dikdörtgenden daha mı istiyorum?

'y eksenim' aralığını nasıl artırabilirim? şimdi, sadece benim y eksenimde her 50 için bir işaret mi çiziyorsun?

cevap

11

geliyor) Çizilen verinin boyutlarını ayarlayın. İşte yapan bir komut dosyası şudur: Bu örnek veriler için

#!/usr/bin/env gnuplot 

# don't make any output just yet 
set terminal unknown 

# plot the data file to get information on ranges 
plot 'data.dat' title 'My Moneys' 

# span of data in x and y 
xspan = GPVAL_DATA_X_MAX - GPVAL_DATA_X_MIN 
yspan = GPVAL_DATA_Y_MAX - GPVAL_DATA_Y_MIN 

# define the values in x and y you want to be one 'equivalent:' 
# that is, xequiv units in x and yequiv units in y will make a square plot 
xequiv = 100 
yequiv = 250 

# aspect ratio of plot 
ar = yspan/xspan * xequiv/yequiv 

# dimension of plot in x and y (pixels) 
# for constant height make ydim constant 
ydim = 200 
xdim = 200/ar 

# set the y tic interval 
set ytics 100 

# set the x and y ranges 
set xrange [GPVAL_DATA_X_MIN:GPVAL_DATA_X_MAX] 
set yrange [GPVAL_DATA_Y_MIN:GPVAL_DATA_Y_MAX] 

# set the labels 
set title 'Dollars in buckets' 
set xlabel 'number' 
set ylabel 'Dollars' 

set terminal png size xdim,ydim 
set output 'test.png' 
set size ratio ar 

set style data linespoints 

replot 

:

0 50 
50 150 
100 400 
150 500 
200 300 

alıyorum aşağıdaki arsa: olması gerektiği gibi

enter image description here

Bu meydanda hakkındadır be (ben x cinsinden 100 birime eşit olacak şekilde tanımladım, ve veriler [(0,200), (50,500)] aralığını kapsamaktadır. Başka bir veri noktası (400300) eklerseniz, çıkış dosyası beklendiği gibi geniştir:

enter image description here

diğer soruyu cevaplamak için, böylece y tik artışı ayarlayabilirsiniz:

set ytics <INCREMENT> 

Yukarıdaki betik bir örnek verir.

+0

Yan not: terminal komutunun boyutunun tanımlanması ('set terminal png size ...'), gerçek çıktı dosyasının boyutunu tanımlar ve 'set boyut oranı ', çıktı içindeki alanın en boy oranını ayarlar arsa nerede çizilir. En boy oranının tutarlı olmasını sağlamak için ikisini de yaptım. – andyras

0

seti xrange [:]

seti yrange [:]

sizin grafiğin 'beden' tanımlamak için o 2 komutları kullanın; dinamik şekilde çıkışını istedikleri gibi

+0

Hayır. Grafiğin 'boyutunu' değiştirmek istiyorum. Her zaman bana bir 'kare' verir. X ekseninin y ekseninden daha uzun olmasını istiyorum. – michael

3

Buradaki tartışmaya eklemek için, arsalarınızın en boy oranını ayarlayabilmeniz için set size ratio ... da bulunmaktadır.

ratio bölümü içinde (x ekseni uzunluğu y-ekseni uzunluğu oranı) bir en-boy oranı ile bir grafik oluşturmak için deneyin gnuplot neden olur: burada

help set size bir alıntı <xscale> ve <yscale> tarafından belirtilen arsa için numaralı çizim.

Negatif bir değerin anlamı farklıdır. Eğer = -1 ise, gnuplot terazileri, ünitenin hem x hem de y eksenlerinde aynı uzunluğa sahip olmasını sağlayacak şekilde ayarlar (örneğin coğrafi veriler için uygun). Eğer = -2 ise, y üzerindeki birimi, x'in iki katı uzunluğuna sahiptir, vb.böylece,

set term post size 8,4 #8 inches by 4 inches 

Bu bağımlı tüm terminal:

set term png size 800,400 #800 pixels by 400 pixels 

ya: Bunun için

gerçekten muhtemelen bazı makul bir boyuta çıktı sürücüsünü ayarlamak gerekir, çalışmak onun hangi birimleri kullandığını görmek için terminalin yardımına bakmaya değer.

İlgili konular