Tôi đang tạo một số ô đường viền trong matplotlib và độ dài dấu gạch ngang quá dài. Đường chấm chấm cũng không đẹp. Tôi muốn đặt chiều dài của dấu gạch ngang theo cách thủ công. Tôi có thể thiết lập độ dài dấu gạch ngang chính xác khi tôi đang thực hiện một âm mưu đơn giản bằng cách sử dụng plt.plot(), tuy nhiên tôi không thể tìm ra cách để làm điều tương tự với một âm mưu đường viền.Làm cách nào tôi có thể đặt độ dài gạch ngang trong ô đường viền matplotlib
Tôi nghĩ rằng đoạn mã sau nên làm việc, nhưng tôi nhận được lỗi:
File "/Library/Python/2.7/site-packages/matplotlib-1.2.x-py2.7-macosx-10.8-intel.egg/matplotlib/backends/backend_macosx.py", line 80, in draw_path_collection
offset_position)
TypeError: failed to obtain the offset and dashes from the linestyle
Dưới đây là một mẫu của những gì tôi đang cố gắng để làm, chuyển thể từ các ví dụ MPL:
import numpy as np
import matplotlib.mlab as mlab
import matplotlib.pyplot as plt
delta = 0.025
x = np.arange(-3.0, 3.0, delta)
y = np.arange(-2.0, 2.0, delta)
X, Y = np.meshgrid(x, y)
Z1 = mlab.bivariate_normal(X, Y, 1.0, 1.0, 0.0, 0.0)
Z2 = mlab.bivariate_normal(X, Y, 1.5, 0.5, 1, 1)
# difference of Gaussians
Z = 10.0 * (Z2 - Z1)
plt.figure()
CS = plt.contour(X, Y, Z, 6, colors='k',linestyles='dashed')
for c in CS.collections:
c.set_dashes([2,2])
plt.show()
Cảm ơn!
Cảm ơn bạn rất nhiều! Tôi cũng mệt mỏi với định dạng (offset, (on, off)), nhưng tôi đã không nhận ra rằng tôi cần các dấu ngoặc đơn bên trong các dấu ngoặc vuông. Các ô của tôi trông thật tuyệt vời. Bạn đã làm ngày hôm nay của tôi trở nên thú vị. Cảm ơn, Dan – DanHickstein