Computer >> Máy Tính >  >> Lập trình >> Python

Làm thế nào để giảm mật độ nở trong Matplotlib?

Để giảm mật độ nở trong Matplotlib, chúng ta có thể thực hiện các bước sau -

  • Đặt kích thước hình và điều chỉnh phần đệm giữa và xung quanh các ô con.

  • Tạo một lớp nở ngang tùy chỉnh để ghi đè mật độ.

  • Nối lớp cửa sập ngang.

  • Tạo một hình mới hoặc kích hoạt một hình hiện có.

  • Thêm 'ax1' vào hình như một phần của sự sắp xếp lô phụ.

  • Lập danh sách các điểm dữ liệu.

  • Tạo biểu đồ thanh bằng x y điểm dữ liệu, với hatch ='o', color ='green' edgecolor ='red' .

  • Để hiển thị hình này, hãy sử dụng show () phương pháp.

Ví dụ

from matplotlib import pyplot as plt, hatch

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

class MyHorizontalHatch(hatch.HorizontalHatch):
   def __init__(self, hatch, density):
      char_count = hatch.count('o')
      if char_count > 0:
         self.num_lines = int((1.0 / char_count) * density)
      else:
         self.num_lines = 0
      self.num_vertices = self.num_lines * 2
      super().__init__(hatch, density)

hatch._hatch_types.append(MyHorizontalHatch)

fig = plt.figure()

ax1 = fig.add_subplot(111)

x = [3, 6, 1]
y = [4, 6, 1]

ax1.bar(x, y, color='green', edgecolor='red', hatch="o", lw=1., zorder=0)

plt.show()

Đầu ra

Làm thế nào để giảm mật độ nở trong Matplotlib?