Tôi đang tìm cách vẽ các vùng lỗi được tô bóng thay vì các thanh lỗi trong Python.Vùng không chắc chắn/lỗi bị mờ trong matplotlib.pyplot
Tôi biết rằng có matplotlib.pyplot.fill_between()
mà bạn có thể xây dựng giải pháp cho lỗi y nhưng điều đó không bao gồm sự không chắc chắn x.
Bất kỳ ý tưởng nào? Thật không may tôi đã không đủ tiếng để đưa ra một bình luận here.
Cảm ơn trước!
Sửa
matplotlib.pyplot.fill_betweenx()
dẫn đến một cái gì đó như:
Chỉnh sửa 2
Hơn nữa, tôi cho rằng nó không chính xác cho một khu vực không chắc chắn hoàn toàn. Dưới đây tôi vẽ những gì tôi giả sử là hình dạng đúng - Tôi hy vọng, tôi không sai ở đây ...
import numpy as np
import matplotlib.pyplot as plt
x = np.asarray([1.0, 2.0, 3.0, 4.0])
y = np.asarray([1.0, 2.3, 3.0, 4.0])
xerr = np.asarray([0.1, 0.7, 0.1, 0.1])
yerr = np.asarray([0.1, 0.9, 1.2, 0.1])
plt.errorbar(x, y, yerr, xerr)
plt.fill_between(x, y-yerr, y+yerr, facecolor='#F0F8FF', alpha=1.0, edgecolor='none')
plt.fill_betweenx(y,x-xerr, x+xerr, facecolor='#F0F8FF', alpha=1.0, edgecolor='#8F94CC', linewidth=1, linestyle='dashed')
plt.show()
# Red lines added with inkscape.
Tôi cũng đang suy nghĩ theo những dòng đó. Tuy nhiên, bạn không nghĩ rằng đó là một ước tính khá thận trọng? Tôi sẽ cố gắng tìm ra một cách thông minh để lắp một đường cong giới hạn vào một đám mây điểm. Thời hạn của bạn là gì? – Schorsch
Tôi đã điều chỉnh phác thảo một chút thành i) rõ ràng hơn và ii) để sửa một số lỗi. Tôi không nghĩ rằng ví dụ của tôi là bảo thủ. Hãy tưởng tượng các điểm hoàn toàn không tương quan với các giá trị lỗi (bất kể chúng đến từ đâu). Do đó, bạn phải xem xét các vùng lỗi vuông. Lỗi lây lan giữa hai điểm như thế nào? Cách tiếp cận đơn giản nhất sẽ là phép tính xấp xỉ đầu tiên mà tôi đã phác thảo. Đừng đặt quá nhiều nỗ lực vào đó! Python đã sooo nhiều mô-đun đáng kinh ngạc, tôi không thể tưởng tượng rằng không có gì cho một vấn đề rất cơ bản như vậy. – smoneck