2013-02-25 24 views
29

Tôi cần tạo biểu đồ hình nến (giống như thế này) bằng cách sử dụng một số dữ liệu chứng khoán. Đối với điều này tôi muốn sử dụng chức năng matplotlib.finance.candlestick(). Đối với hàm này, tôi cần phải cung cấp dấu ngoặc kép và "trường hợp Trục để vẽ thành". Tôi đã tạo một số trích dẫn mẫu như sau:Làm thế nào để có được một ví dụ trục matplotlib để vẽ?

quotes = [(1, 5, 6, 7, 4), (2, 6, 9, 9, 6), (3, 9, 8, 10, 8), (4, 8, 8, 9, 8), (5, 8, 11, 13, 7)] 

Bây giờ tôi cũng cần một ví dụ về Trục, tại đó tôi bị mất một chút. Tôi tạo ra các ô trước khi sử dụng matplotlib.pyplot. Tôi nghĩ rằng bây giờ tôi cần phải làm một cái gì đó với matplotlib.axes mặc dù, nhưng tôi không chắc chắn những gì chính xác.

Ai đó có thể giúp tôi một chút ở đây không? Tất cả các mẹo đều được chào đón!

Trả lời

55

Sử dụng chức năng gca ("lấy rìu hiện nay") helper:

ax = plt.gca() 

Ví dụ:

import matplotlib.pyplot as plt 
import matplotlib.finance 
quotes = [(1, 5, 6, 7, 4), (2, 6, 9, 9, 6), (3, 9, 8, 10, 8), (4, 8, 8, 9, 8), (5, 8, 11, 13, 7)] 
ax = plt.gca() 
h = matplotlib.finance.candlestick(ax, quotes) 
plt.show() 

enter image description here

+0

Thật tuyệt vời! Làm việc như một say mê, cảm ơn! – kramer65

7

Bạn có thể

fig, ax = plt.subplots() #create figure and axes 
candlestick(ax, quotes, ...) 

hoặc

candlestick(plt.gca(), quotes) #get the axis when calling the function 

Đầu tiên mang đến cho bạn sự linh hoạt hơn. Thứ hai dễ dàng hơn nhiều nếu candlestick là thứ duy nhất bạn muốn vẽ

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