Tôi hiện đang có mã gọi matplotlib.pylab.plot
nhiều lần để hiển thị nhiều bộ dữ liệu trên cùng một màn hình và Matplotlib chia tỷ lệ cho toàn bộ min và max, xem xét tất cả các ô. Có cách nào để yêu cầu nó quy mô từng ô một cách độc lập, với min và max của ô đó?Nhiều ô chồng chéo với tỷ lệ độc lập trong Matplotlib
Trả lời
Không có hỗ trợ trực tiếp cho điều này, nhưng đây là một số mã từ một mailing list posting rằng illlustrates hai trục dọc độc lập:
x=arange(10)
y1=sin(x)
y2=10*cos(x)
rect=[0.1,0.1,0.8,0.8]
a1=axes(rect)
a1.yaxis.tick_left()
plot(x,y1)
ylabel('axis 1')
xlabel('x')
a2=axes(rect,frameon=False)
a2.yaxis.tick_right()
plot(x,y2)
a2.yaxis.set_label_position('right')
ylabel('axis 2')
a2.set_xticks([])
Đây là cách bạn tạo ra một cốt truyện duy nhất (add_subplot (1,1,1)) và giới hạn tỷ lệ trên các trục y.
myFig = figure()
myPlot = self.figure.add_subplot(1,1,1)
myPlot.plot([1,2,3,4,5], [5,4,3,2,1], '+r')
myPlot.set_ylim(1,5) # Limit y-axes min 1, max 5
Tôi cần một cái gì đó như thế này nhưng muốn tạo một ví dụ mà bạn có thể sao chép và dán vào vỏ tương tác và hãy xem nó. Dưới đây là dành cho những người trong số các bạn yêu cầu giải pháp làm việc:
from numpy import arange
from math import sin, cos
import matplotlib.pyplot as plt
x = arange(10)
y1 = [sin(i) for i in x]
y2 = [10*cos(i) for i in x]
rect = [0.1, 0.1, 0.8, 0.8]
a1 = plt.axes(rect) # Create subplot, rect = [left, bottom, width, height] in normalized (0, 1) units
a1.yaxis.tick_left() # Use ticks only on left side of plot
plt.plot(x, y1)
plt.ylabel('axis 1')
plt.xlabel('x')
a2 = plt.axes(rect, frameon=False) # frameon, if False, suppress drawing the figure frame
a2.yaxis.tick_right()
plt.plot(x, y2)
a2.yaxis.set_label_position('right')
plt.ylabel('axis 2')
a2.set_xticks([])
plt.show()
Thử nghiệm và hoạt động ở trăn 2.7.6, numpy 1.8.1, matpotlib 1.3.1. Tôi sẽ tiếp tục chơi với nó, tìm kiếm một cách gọn gàng để làm việc với các ô xếp chồng ngày tháng. Tôi sẽ đăng lại những phát hiện của mình.
Đây là giải pháp sử dụng các ô ngày tháng, và tôi nghĩ giải pháp tối ưu nhất của nó bằng cách sử dụng twinx() một tay ngắn để thêm trục y thứ hai.
import matplotlib.pyplot as plt
import matplotlib.dates as md
import datetime
import numpy
numpy.random.seed(0)
t = md.drange(datetime.datetime(2012, 11, 1),
datetime.datetime(2014, 4, 01),
datetime.timedelta(hours=1)) # takes start, end, delta
x1 = numpy.cumsum(numpy.random.random(len(t)) - 0.5) * 40000
x2 = numpy.cumsum(numpy.random.random(len(t)) - 0.5) * 0.002
fig = plt.figure()
ax1 = fig.add_subplot(111)
fig.suptitle('a title', fontsize=14)
fig.autofmt_xdate()
plt.ylabel('axis 1')
plt.xlabel('dates')
ax2 = ax1.twinx()
ax1.plot_date(t, x1, 'b-', alpha=.65)
ax2.plot_date(t, x2, 'r-', alpha=.65)
plt.ylabel('axis 2')
plt.show()
Từ các tài liệu, matplotlib.pyplot.twinx (ax = Không) Thực hiện một trục thứ hai chia sẻ trục x. Các trục mới sẽ phủ rìu (hoặc các trục hiện tại nếu rìu là Không). Các ve cho ax2 sẽ được đặt ở bên phải, và cá thể ax2 được trả về. Thêm here.
- 1. Chú thích chồng chéo Matplotlib
- 2. Trực quan hóa các ô phân tán với các điểm chồng chéo trong matplotlib
- 3. matplotlib - subplots với tỷ lệ co cố định
- 4. Python matplotlib chồng các ô phân tán chồng lên nhau
- 5. Highcharts - nhiều ô có cùng tỷ lệ x
- 6. Thanh màu độc lập (matplotlib)
- 7. các ô chồng chéo tiêu đề tùy chỉnh trong nhóm
- 8. Cài đặt tỷ lệ co của ô 3D
- 9. Tôi có thể làm gì với các nhãn chồng chéo trong các ô con này?
- 10. Hình nền lặp lại độc lập theo tỷ lệ trong SVG
- 11. matplotlib: inset trục cho nhiều ô vuông
- 12. ô khung tỷ lệ nhật ký trong R
- 13. loại bỏ chồng chéo dấu tick vào âm mưu phụ trong matplotlib
- 14. matplotlib xticks nhãn chồng lên nhau
- 15. Android: Dọc ListView với hàng chồng chéo
- 16. Hình ảnh tỷ lệ trong matplotlib mà không thay đổi trục
- 17. chồng chéo trục y nhãn đánh dấu và trục x nhãn đánh dấu trong matplotlib
- 18. Crouton + SlidingMenu chồng chéo
- 19. Nhiều partials độc lập trong AngularJS
- 20. Excel VBA: lấy giá trị của ô, độc lập với định dạng ô
- 21. Chồng chéo CSS div
- 22. TextView RelativeLayout chồng chéo
- 23. Làm cách nào tôi có thể đặt tỷ lệ cỡ ảnh trong matplotlib?
- 24. Matplotlib: tránh các điểm dữ liệu chồng lên nhau trong một ô "tán xạ/chấm/beeswarm"
- 25. Chia tỷ lệ nhiều đường dẫn với raphael
- 26. UITableViewCell - chồng chéo với nội dung các tế bào trước
- 27. Rasterizing nhiều phần tử trong matplotlib
- 28. Lỗi Unicode bằng cách sử dụng matplotlib với thang tỷ lệ trên Windows
- 29. đám mây từ d3 - quá nhiều chồng chéo xảy ra
- 30. Tỷ lệ hình ảnh UISegmentedControl
Phạm vi của câu hỏi ban đầu dường như đã cho N thay vì 2 ô được chia tỷ lệ - khi tôi thử điều này với 3 hoặc nhiều hơn nó chết (sử dụng a2, a3 và cứ thế cho các trường hợp trục bổ sung.) toàn bộ các tập hợp dữ liệu hiển thị đúng tỷ lệ cùng một lúc? – tehwalrus