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

Làm cách nào để lấy tọa độ pixel cho scatterplot do Matplotlib tạo?

Để nhận tọa độ pixel cho phân tán do matplotlib tạo, 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 ô phụ.
  • Khởi tạo một biến "n" để chứa số lượng dữ liệu mẫu.
  • Tạo một hình và một tập hợp các tình huống phụ.
  • Lập một biểu đồ phân tán.
  • Nhận điểm dữ liệu x và y bằng cách sử dụng get_data () phương pháp.
  • Nhận giá trị pixel của âm mưu.
  • Nhận dữ liệu được chuyển dạng pixel.
  • Lấy chiều rộng và chiều cao của con số bằng điểm hoặc pixel
  • In giá trị x và y pixel.
  • Để hiển thị hình này, hãy sử dụng show () phương pháp.

Ví dụ

import numpy as np
import matplotlib.pyplot as plt

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

n = 10
fig, ax = plt.subplots()

points, = ax.plot(np.random.random(n), np.random.random(n), 'r*')
x, y = points.get_data()

pixels = ax.transData.transform(np.vstack([x, y]).T)
x, y = pixels.T

width, height = fig.canvas.get_width_height()
y = height - y

print("The pixel coordinates are: ")
for xp, yp in zip(x, y):
   print('{x:0.2f}\t{y:0.2f}'.format(x=xp, y=yp))

plt.show()

Đầu ra

Nó sẽ tạo ra kết quả sau

Làm cách nào để lấy tọa độ pixel cho scatterplot do Matplotlib tạo? Làm cách nào để lấy tọa độ pixel cho scatterplot do Matplotlib tạo?

Nó cũng sẽ in tọa độ pixel của biểu đồ phân tán do matplotlib tạo trên bảng điều khiển

The pixel coordinates are:
564.93   161.83
446.27   112.60
153.39   247.65
236.90   258.34
519.10   301.04
237.66   118.16
149.71   303.29
386.74   105.81
172.93   121.81
110.94   116.20