làm thế nào để có được sự bù đắp khác nhau trong nhãn gnuplot


0

Tôi đã tìm thấy một cách rất kỳ lạ để vẽ các đường ngang của các giá trị rời rạc với các nhãn ở bên trái hoặc bên phải của các dòng

Tôi xây dựng một tệp dữ liệu đầu vào trong đó:

  • các giá trị trong cột 1 xác định biên độ của các đường nằm ngang
  • các giá trị trong cột thứ 2 được lặp lại để vẽ các đường ngang
  • Tôi đặt nhãn ở cột thứ 3 và thứ 4 bởi vì, như bạn sẽ thấy bên dưới, điều này cho phép tôi quyết định nơi đặt nhãn, ở bên trái hoặc bên phải của dòng
+ --- + ----------- + ------- + -------- +
| 3 | -0,178110 | 130 | |
| 4 | -0,178110 | | |
| 5 | -0,178110 | | | 
dòng trống | 3 | -0.185959 | 129 | | | 4 | -0.185959 | | | | 5 | -0.185959 | | |
dòng trống | 3 | -0.188473 | | | | 4 | -0.188473 | | | | 5 | -0.188473 | x | 128 |
dòng trống | 3 | -0.208311 | 127 | | | 4 | -0.208311 | | | | 5 | -0.208311 | | | + --- + ----------- + ------- + -------- +

và sau đó tôi đã sử dụng

lô 'đầu vào' u 1: ($ 2 * 27.2114) wl notitle, \
'' cứ 3 u 1: ($ 2 * 27.2114) :( x = 3? $ 3: 1/0) với phông chữ nhãn ", 8" offset -2 , 0 tiêu đề, \
'' u 1: ($ 2 * 27.2114) :( x = 5? $ 4: 1/0) với phông chữ nhãn ", 8" offset 2, 0 tiêu đề

để phân biệt nơi để vẽ nhãn ở bên trái hoặc trong.

Tôi thấy nó rất kỳ quặc, có mẹo nào để làm điều đó một cách tao nhã hơn không?

Cảm ơn trước

Lor-ca


về cơ bản, những gì tôi phải làm là viết một số nhãn ở bên trái và một số khác ở bên phải
Lowrenzo

Câu trả lời:


0

Tại sao không sử dụng every? Điều này cho phép làm điều đó mà không cần sửa đổi tệp dữ liệu. Dưới đây là một ví dụ với dữ liệu được tạo bởi gnuplot:

plot [-1.5:1.5] "+" u (sin(10*$1)):1 ev 4 w p, "+" u (sin(10*$1)):1:1 ev 8 w labels offset 5,0, "+" u (sin(10*$1)):1:1 ev 8::4 w labels offset -5
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.