2011-10-08 41 views
17

Cho một mảng giá trị, tôi muốn vẽ biểu đồ nhật ký nhật ký của các giá trị này theo số lượng của chúng. Tôi chỉ biết cách đăng nhập các giá trị x, chứ không phải các giá trị y vì chúng không được tạo một cách rõ ràng trong chương trình của tôi.Cách tạo biểu đồ nhật ký nhật ký trong python

Trả lời

22

Kiểm tra pyplot documentation.

  • pyplot.hist thể "log" trục y cho bạn với log luận keyword = Đúng
  • pyplot.hist chấp nhận bins tranh cãi từ khóa, nhưng bạn phải "đăng nhập" x trục chính mình

Ví dụ:

#!/usr/bin/python 
import numpy 
from matplotlib import pyplot as plt 

data = numpy.random.gumbel(2 ** 20, 2 ** 19, (1000,)) 

bins = range(15, 25) 
plt.xticks(bins, ["2^%s" % i for i in bins]) 
plt.hist(numpy.log2(data), log=True, bins=bins) 
plt.show() 

Điều này sẽ cung cấp cho bạn số lượng thực tế về số lượng phần tử rơi vào mỗi thùng, được vẽ trên một khúc gỗ tròn. Tôi không thể nói từ ngữ của bạn nếu bạn muốn điều này hoặc đăng nhập của đếm được vẽ trên một trục tuyến tính.

Btw., Thùng thậm chí không phải được đặt cách đều nhau.

+0

Để vẽ nhật ký số đếm trục tuyến tính tương đối dễ dàng hơn, và dù sao cả hai phương thức đều cho cùng một biểu đồ. 1 cho sự khởi đầu quan trọng. Nhưng tôi không nhận được những gì bạn làm trong mã: bạn có đang hiển thị các thẻ đánh dấu theo cấp số nhân giả trên những gì thực sự là một thang x tuyến tính không? –

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