2011-11-18 88 views
4

我使用Gnuplot繪製圖形。在圖中我繪製了屬於三個數據集的三條平滑曲線。在Gnuplot中繪製不同點樣式的曲線

目前我正在使用以下Gnuplot腳本。

reset 
set terminal png 
set xlabel "Square matrix size" 

set ylabel "Time (in milliseconds)" 
set yrange [0:750] 

set title "Lower Triangular Matrix" 
set key reverse Left outside 
set grid 
set output 'matrixlt.png' 
set style data linespoints 
plot "matrixlowertriangle.dat" using 1:2 lt 1 lw 2 smooth bezier title 'MatPro', \ 
    "matrixlowertriangle.dat" using 1:3 lt 2 lw 2 smooth bezier title 'C#' , \ 
    "matrixlowertriangle.dat" using 1:4 lt 3 lw 2 smooth bezier title 'C++' 

通過上面的腳本,我得到了下圖。 enter image description here

現在我想使用獨特的點樣式繪製屬於同一曲線的每個點。 (例如,屬於C#的每個點使用一個點類型和不同風格的C++數據點。)

我嘗試了一些教程,但仍然沒有運氣。有人可以幫助我完成這項任務嗎?

回答

7

我沒有你的數據,所以我做了一些了(它總是幫助,如果一些有用的模擬數據集提供給有幫助...):根據你的代碼

0 0 0 0 
200 1000 1200 1500 
400 4000 7000 9000 
600 7000 15000 18000 
800 12000 23000 25000 
1000 18000 33000 40000 

,我試過

reset 
set terminal png 
set xlabel "Square matrix size" 

set ylabel "Time (in milliseconds)" 
set xrange [0:1200] 
set yrange [0:50000] 


set title "Lower Triangular Matrix" 
set key reverse Left outside 
set grid 
set output 'matrixlt.png' 
set style data linespoints 
plot "matrixlowertriangle.dat" using 1:2 lt 1 lw 2 smooth bezier title 'MatPro', \ 
    "matrixlowertriangle.dat" using 1:3 lt 2 lw 2 smooth bezier title 'C#' , \ 
    "matrixlowertriangle.dat" using 1:4 lt 3 lw 2 smooth bezier title 'C++' , \ 
    "matrixlowertriangle.dat" using 1:2 with points title "", \ 
    "matrixlowertriangle.dat" using 1:3 with points title "", \ 
    "matrixlowertriangle.dat" using 1:4 with points title "" 

,並得到

this graph here

是不是更接近ÿ什麼你想要嗎?

2

您是否試圖提供pointtype X(其中X是一個數字)到圖論?

+0

yes我試過但沒有得到我想要的 –

+0

我認爲如果你編輯你的問題並添加一些關於你的gnuplot構建的信息會更好 – ziu

0

我認爲你的問題與使用PNG終端有關。你必須使用PNG格式嗎?如果您嘗試set terminal postscript enhanced eps color,該腳本會生成清晰可辨的線條類型。

例如,運行下面的簡單腳本:

set terminal postscript enhanced eps color 
set yrange [0:10] 
set grid 
set output 'test.eps' 
set title 'EPS demonstration' 
set style data linespoints 

plot x*2 lt 1 lw 2 title 'A', \ 
    x**2 lt 2 lw 2 title 'B' 

給出兩行具有不同的線型。