Làm thế nào để xuất các lô từ matplotlib với nền trong suốt?


108

Tôi đang sử dụng matplotlib để tạo một số đồ thị và rất tiếc là tôi không thể xuất chúng mà không có nền trắng.

ô mẫu có nền trắng đặc

Nói cách khác, khi tôi xuất một âm mưu như thế này và đặt nó lên trên một hình ảnh khác, nền trắng sẽ ẩn những gì đằng sau nó thay vì cho phép nó hiển thị qua. Làm cách nào để xuất các lô có nền trong suốt?

Câu trả lời:


177

Sử dụng savefighàm matplotlib với đối số từ khóa transparent=Trueđể lưu hình ảnh dưới dạng tệp png.

In [30]: x = np.linspace(0,6,31)

In [31]: y = np.exp(-0.5*x) * np.sin(x)

In [32]: plot(x, y, 'bo-')
Out[32]: [<matplotlib.lines.Line2D at 0x3f29750>]            

In [33]: savefig('demo.png', transparent=True)

Kết quả: demo.png

Tất nhiên, âm mưu đó không thể hiện tính minh bạch. Đây là ảnh chụp màn hình của tệp PNG được hiển thị bằng displaylệnh ImageMagick . Hình bàn cờ là nền có thể nhìn thấy qua các phần trong suốt của tệp PNG.

hiển thị ảnh chụp màn hình


2

Các tệp png có thể xử lý độ trong suốt. Vì vậy, bạn có thể sử dụng câu hỏi này Lưu biểu đồ vào tệp hình ảnh thay vì hiển thị nó bằng Matplotlib để lưu biểu đồ của bạn dưới dạng pngtệp.

Và nếu bạn muốn biến tất cả các pixel trắng trở nên trong suốt, có một câu hỏi khác: Sử dụng PIL để làm cho tất cả các pixel trắng trong suốt?

Nếu bạn muốn chuyển toàn bộ khu vực thành trong suốt, thì có câu hỏi sau: Và sau đó sử dụng thư viện PIL như trong câu hỏi này Python PIL: làm thế nào để làm cho khu vực trong suốt trong PNG? để làm cho đồ thị của bạn trong suốt.


Cảm ơn nhưng điều này không giúp ích gì. Tôi đã biết rằng png có khả năng minh bạch nhưng đầu ra của matplotlib thì không. Thêm vào đó, đề xuất của bạn chỉ phù hợp với trường hợp bạn muốn loại bỏ hình chữ nhật. Tôi muốn âm mưu của tôi được cứu và lý lịch của tôi bị xóa.
Cupitor

2
Theo như tôi nhớ thì bạn đặt màu trong suốt trong png. tập tin. Đặt màu trắng làm màu trong suốt và bạn thực hiện.
Stephane Rolland

Tôi cho rằng 255 là màu trắng và khi tôi đi với nó, tôi sẽ bị mất âm mưu!
Cupitor

điều đó lạ thật. âm mưu của bạn chỉ? biểu đồ màu đen và các đơn vị màu đen và đường cong màu xanh lam?
Stephane Rolland

1
có câu hỏi này về chuyển tất cả các điểm ảnh màu trắng để minh bạch (không sử dụng mặt nạ như tôi liên kết với bạn) stackoverflow.com/questions/765736/...
Stephane Rolland
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.