2012-05-30 56 views
6

tôi đang cố gắng để tạo ra một biểu đồ xếp chồng lên nhau với các dữ liệu sau:Sử dụng gnuplot cho biểu đồ xếp chồng lên nhau

8.01 1 5 1 
8.02 3 5 1 
8.03 4 4 1 
8.04 3 4 1 
8.05 1 2 1 

Tôi đã cố gắng để thích ứng với kịch bản từ ví dụ 4 và tại thời điểm này tôi đang sử dụng này:

set title "Test" 
set key invert reverse Left outside 
set key autotitle columnheader 
set style data histogram 
set style histogram rowstacked 
set style fill solid border -1 
set boxwidth 0.75 

plot 'test.dat' using 2:xtic(1), '' using 2 title 'Col1', '' using 3 title 'Col2', '' using 4 title 'Col3' 

Phần tôi đã sao chép mà tôi không chắc chắn là using 2:xtic(1). Tôi biết điều này làm cho nó sử dụng các giá trị xtic làm cột đầu tiên, đó là những gì tôi muốn. Nhưng tôi không biết phần using 2 là gì. Đây là một ảnh chụp màn hình của những gì kịch bản sản xuất:

enter image description here

Mọi thứ đều tốt trên các hình ảnh, ngoại trừ các thanh màu đỏ mà không nên có mặt ở đó. Ai đó có thể giải thích cho tôi lý do tại sao nó xuất hiện và làm thế nào để thoát khỏi nó?

Trả lời

10

using 2 có nghĩa là gnuplot sẽ sử dụng cột thứ 2 từ tệp cho dữ liệu đang vẽ. Nếu bạn đang vẽ dữ liệu x dữ liệu so với y, lệnh là plot data using 1:2 nếu dữ liệu x nằm trong cột 1 và dữ liệu y ở cột 2. plot using 2 sẽ vẽ dữ liệu từ cột 2 trên trục y và cho mỗi điểm dữ liệu, x tọa độ sẽ được tăng thêm 1.

Bạn sẽ nhận thấy rằng các thanh màu xanh và đỏ có cùng kích thước: cả hai đều sử dụng cột 2. Nếu bạn không muốn thanh đầu tiên xuất hiện, bạn có thể thay đổi lệnh cốt truyện để

plot 'test.dat' using 2:xtic(1) title 'Col1', '' using 3 title 'Col2', '' using 4 title 'Col3' 

Với lệnh này, nhãn xtic sẽ giữ nguyên và thanh đầu tiên sẽ không còn ở đó nữa. Lưu ý rằng màu sắc cho dữ liệu sẽ thay đổi với lệnh này, vì điều đầu tiên được vẽ sẽ có màu đỏ, màu xanh lá cây thứ hai và màu xanh thứ ba.

Các vấn đề liên quan