2012-09-10 22 views
10

Tôi có thể có cả hai sinh đôi và sinh đôi với nhau (tức là một cái gì đó giống như sinh đôi)? Tôi muốn đặt một CDF trên một ô âm mưu trong đó trục X của cốt truyện trong thang đo log. Tôi không thể kết hợp Ys với nhau, vì phạm vi y lô bar rất lớn so với [0,1] đối với CDF.matplotlib sử dụng twinx và twiny với nhau (như twinxy)

Bất kỳ ý tưởng nào?

Cảm ơn,

Trả lời

18

Nếu tôi hiểu đúng câu hỏi của bạn, bạn muốn vẽ hai điều trên cùng một axes không có chia sẻ axis. Có thể là một cách tốt hơn để làm điều này, nhưng bạn có thể ngăn xếp twinx(doc)twiny(doc) như vậy

ax # your first axes 
ax_new = ax.twinx().twiny() 

Mà sẽ cung cấp cho bạn đánh dấu vào dấu vết trên tất cả các bên của cốt truyện. ax sẽ âm mưu ở dưới cùng và bên trái, ax_new sẽ âm mưu trên cùng và bên phải.

+0

Dường như đơn giản ... Tôi không biết tại sao tôi không thể kiểm tra nó ... Cảm ơn – Amir

+2

Giải pháp tuyệt vời, cảm ơn! Khi sử dụng phương thức này ('ax2 = ax1.twinx(). Twiny()'), tôi không thể đặt y_label cho trục thứ hai, mặc dù tôi có thể đặt x_label. Bằng cách chuyển sang 'ax2 = ax1.twiny(). Twinx()' Sau đó tôi có thể thêm y_label. Tuy nhiên, điều này làm nảy sinh một vấn đề khác vì tôi không thể tắt các nhãn x-đánh dấu ('ax2.tick_params (axis = 'x', mà = 'cả hai', top = 'off', bottom = 'off', labelbottom = 'off', labeltop = 'off') ') như tôi đã có thể làm trước đây. Phương pháp này dường như phá vỡ một số chức năng của các trục và có thể mất một thời gian để làm việc xung quanh. – Jason

+2

@ Jason Đó là một nếp nhăn hài hước trong cách x/ylabels trên các trục chồng chéo được xử lý. Bạn có thể cần phải lấy các trục trung gian và làm việc trên nó quá. – tacaswell

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