我想在箭頭中出現箭頭,而不是任何一個極端,在gnuplot中繪製一個箭頭。試過中間頭的選擇,但似乎沒有工作。如何獲得gnuplot中的中間箭頭?
這裏是我使用創建下面的圖像的腳本,
set style arrow 1 front head filled size screen 0.008,6 lt 1 lw 1
set arrow from 0.4750,-0.3592 to 1.05767,0.4179 as 1
我想在箭頭中出現箭頭,而不是任何一個極端,在gnuplot中繪製一個箭頭。試過中間頭的選擇,但似乎沒有工作。如何獲得gnuplot中的中間箭頭?
這裏是我使用創建下面的圖像的腳本,
set style arrow 1 front head filled size screen 0.008,6 lt 1 lw 1
set arrow from 0.4750,-0.3592 to 1.05767,0.4179 as 1
正如安吉拉所指出的那樣:沒有選擇得到這個。但是,您可以創建一個函數爲您構建兩個箭頭並計算中間點。功能middlearrow
建立起來含有箭頭定義一個字符串,然後必須eval
處理:
set style arrow 1 front head filled size screen 0.03,15 lt 1 lw 1
middlearrow(from_x, from_y, to_x, to_y) = \
sprintf('set arrow from %f,%f to %f,%f as 1 nohead;', 0.5*(from_x + to_x), 0.5*(from_y + to_y), to_x, to_y).\
sprintf('set arrow from %f,%f to %f,%f as 1', from_x, from_y, 0.5*(from_x + to_x), 0.5*(from_y + to_y))
eval(middlearrow(0.1,0.1,0.9,0.9))
set xrange [0:1]
set yrange [0:1]
plot 0
結果與4.6.4:
非常感謝。這個對我有用。不過,我需要稍微調整一下這個功能,因爲箭頭沒有出現在中間。 –
正確,箭頭在中心。如果您需要一些靈活性,可以將函數簽名更改爲'middlearrow(from_x,from_y,to_x,to_y,r)= ...',其中'r'是放置箭頭的部分。 – Christoph
畫兩個箭頭,一個頭,一個沒有。
----> + ----- = ---->-----
雖然這即興作品,但它使它非常乏味。我正在計算不同曲線上的切點,然後需要用箭頭連接它們以顯示轉換。圖像中顯示了一個示例。要繪製兩個箭頭,我需要計算兩點之間的第三個點。因此,每當箭頭線的漸變發生變化時,我都需要找到一個新的點等等。 無論如何,謝謝。 –
我不知道誰downvoted這一點,但這不是一個愚蠢的問題。 – Bernhard