2011-08-09 19 views
10

Tôi muốn vẽ một âm mưu với matplotlib với trục trên cả hai mặt của cốt truyện, tương tự như cốt truyện này (màu sắc là không liên quan đến câu hỏi này):Trong matplotlib, làm thế nào để bạn hiển thị một trục trên cả hai mặt của hình?

plot

Làm thế nào tôi có thể làm điều này với matplotlib?

Lưu ý: trái với những gì được hiển thị trong biểu đồ ví dụ, tôi muốn hai trục chính xác như nhau và muốn chỉ hiển thị một biểu đồ. Việc thêm hai trục chỉ để đọc biểu đồ dễ dàng hơn.

Trả lời

8

Có một vài ví dụ có liên quan trong tài liệu trực tuyến:

+1

Có chức năng chuyên biệt hơn trong trường hợp tôi muốn hai trục chính xác không? –

+0

Ví dụ kép Fahrenheit và Celcius ông đưa cho bạn có lẽ là cách tốt nhất để làm điều đó. Thay vì chuyển các giới hạn cho một hàm chuyển đổi, bạn sẽ giữ nguyên chúng. Thay đổi nó thành ax2.set_ylim (y1, y2), tôi nghĩ rằng nó sẽ hoạt động. – daveydave400

+1

@ daveydave400: chắc chắn! Tôi chỉ muốn chắc chắn rằng tôi đã không thiếu một giải pháp đơn giản :) –

35

Bạn có thể sử dụng tick_params():

bar(range(10), range(10)) 
tick_params(labeltop=True, labelright=True) 

Tạo i Mage:

Bar plot with both x and y axis labeled the same

0

Tôi đã làm điều này trước đây sử dụng như sau:

# Create figure and initial axis  
fig, ax0 = plt.subplots() 
# Create a duplicate of the original xaxis, giving you an additional axis object 
ax1 = ax.twinx() 
# Set the limits of the new axis from the original axis limits 
ax1.set_ylim(ax0.get_ylim()) 

này chính xác sẽ lặp lại trong các gốc trục y.

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