2010-06-05 71 views
25

Tôi đã tìm kiếm nó ở đây trong Stack Overflow như trong Google, và tôi tìm thấy rất nhiều gói để vẽ, nhưng có vẻ như một nhiệm vụ phức tạp, vì vậy tôi muốn biết đó là gói thích hợp nhất để vẽ thanh và liên kết dữ liệu cho nó. Ngoài ra tôi đã tìm kiếm một ví dụ mã, nhưng tôi không có may mắn.Cách tốt nhất để vẽ biểu đồ thanh trong LaTeX?

+0

TikZ !!! Khi tôi bắt đầu chơi với nó, tôi không thể dừng lại! – Vivi

Trả lời

22

Điều đó nghe có vẻ như là một công việc dễ dàng cho gói pgfplots. Phần 4.5 từ hướng dẫn có chứa rất nhiều ví dụ để bắt đầu, mọi thứ được giải thích từ đầu và từng bước một. Nếu bạn cần thêm pgfplots ví dụ, phần dành riêng cho lô tại TeXample có thể được quan tâm. Không có bất kỳ ô mẫu nào, nhưng nó chứa một số ví dụ hay (và phức tạp hơn) về chức năng.

Đối với ví dụ về mã, tôi có thể sao chép và dán một từ hướng dẫn, nhưng điều đó sẽ không thêm nhiều vào bài đăng này mà tôi tin.

Chỉnh sửa: khi sử dụng Matlab, bạn có thể sử dụng matlab2tikz. Bằng cách này bạn có thể xuất lô của bạn mà không phải lo lắng về mã thực tế. Bảng xếp hạng thanh có thể được, nhưng tôi đã không được sử dụng chức năng đó, vì vậy tôi không biết về bất kỳ quirks. Các lô I đã xuất hiện bằng cách sử dụng tập lệnh Matlab này hoàn hảo và bạn nhận được tính nhất quán và tính linh hoạt mà bạn muốn :).

9

Điều này có thể được xem là sacrilege, nhưng nó không phải là khủng khiếp để tạo ra các âm mưu bằng cách sử dụng MATLAB, excel hoặc bất kỳ công cụ khác, và chỉ bao gồm PDF/jpg in. Pgfplots là một lựa chọn thanh lịch hơn, nhưng có thể không nhanh nhất.

+5

Và mất sự nhất quán, trong khi 'pgfplots' là một gói tốt và không quá khó? Đó sẽ là một sự xấu hổ, bạn không nghĩ sao? :) Theo đề xuất của bạn về Matlab, tôi sẽ chỉnh sửa bài đăng của mình. – Pieter

+0

không thể thêm nhận xét trong bài đăng của bạn. matlab2tikz âm thanh tuyệt vời! – Suresh

36

gói: bchart

Ví dụ mã:

\documentclass[varwidth=true, border=2pt]{standalone} 

\usepackage{bchart} 

\begin{document} 
    \begin{bchart}[step=2,max=10] 
     \bcbar{3.4} 
      \smallskip 
     \bcbar{5.6} 
      \medskip 
     \bcbar{7.2} 
      \bigskip 
     \bcbar{9.9} 
    \end{bchart} 
\end{document} 

Kết quả:

bchart example

gói: pgfplots

Ví dụ mã:

% Source: https://tex.stackexchange.com/a/8584/5645 
\documentclass[varwidth=true, border=2pt]{standalone} 

\usepackage{pgfplots} 

\begin{document} 
    \begin{tikzpicture} 
     \begin{axis}[ 
      symbolic x coords={a small bar, a medium bar, a large bar}, 
      xtick=data 
      ] 
      \addplot[ybar,fill=blue] coordinates { 
       (a small bar, 42) 
       (a medium bar, 50) 
       (a large bar, 80) 
      }; 
     \end{axis} 
    \end{tikzpicture} 
\end{document} 

Kết quả:

pgfplots

tôi có kế hoạch để thêm một số chi tiết ví dụ t o my GitHub repository. Bạn cũng có thể quan tâm tex.stackexchange.com tag:bar-chart.

+0

Tôi đã thử cả hai tùy chọn. Mã mẫu này biên dịch nhưng khi tôi tạo một tệp PDF, tôi thấy một trang trống có một vài chữ số trên đó - không có biểu đồ thanh. Không nên dvipdfm có thể phân tích cú pháp tệp dvi đã biên dịch từ hai mẫu này? – zvisofer

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