Hướng dẫn Python

TRANG CHỦ Python Giới thiệu Python Python Bắt đầu Cú pháp Python Nhận xét Python Biến Python Các kiểu dữ liệu Python Số Python Đúc Python Chuỗi Python Python Booleans Toán tử Python Danh sách Python Python Tuples Bộ Python Từ điển Python Python Nếu ... Khác Python While Loops Python cho các vòng lặp Các hàm Python Python Lambda Mảng Python Các lớp / đối tượng Python Kế thừa Python Trình lặp lại Python Phạm vi Python Mô-đun Python Ngày trong Python Toán Python JSON Python Python RegEx Python PIP Python Thử ... Ngoại trừ Đầu vào của người dùng Python Định dạng chuỗi Python

Xử lý tập tin

Xử lý tệp Python Tệp đọc Python Viết / tạo tệp trong Python Xóa tệp trong Python

Mô-đun Python

Hướng dẫn NumPy Panda Walkthrough Hướng dẫn Scipy

Python Matplotlib

Giới thiệu Matplotlib Matplotlib Bắt đầu Matplotlib Pyplot Matplotlib Plotting Điểm đánh dấu Matplotlib Dòng Matplotlib Nhãn Matplotlib Matplotlib Grid Matplotlib Subplots Matplotlib Scatter Matplotlib Bars Biểu đồ Matplotlib Biểu đồ bánh Matplotlib

Học máy

Bắt đầu Chế độ trung bình trung bình Độ lệch chuẩn Phân vị Phân phối dữ liệu Phân phối dữ liệu bình thường Lô phân tán Hồi quy tuyến tính Hồi quy đa thức Nhiều hồi quy Tỉ lệ Huấn luyện / Kiểm tra Cây quyết định

Python MySQL

MySQL Bắt đầu MySQL Tạo cơ sở dữ liệu MySQL Tạo bảng Chèn MySQL Lựa chọn MySQL MySQL ở đâu MySQL Đặt hàng bởi MySQL Delete Bảng thả MySQL Cập nhật MySQL Giới hạn MySQL Tham gia MySQL

Python MongoDB

MongoDB Bắt đầu MongoDB Tạo cơ sở dữ liệu MongoDB Tạo Bộ sưu tập Chèn MongoDB MongoDB Tìm Truy vấn MongoDB MongoDB sắp xếp MongoDB Xóa MongoDB Drop Collection Cập nhật MongoDB Giới hạn MongoDB

Tham khảo Python

Tổng quan về Python Các hàm tích hợp trong Python Phương thức chuỗi Python Phương thức danh sách Python Phương thức từ điển Python Phương thức Tuple trong Python Phương thức tập hợp Python Phương thức tệp Python Từ khóa Python Ngoại lệ Python Bảng chú giải thuật ngữ Python

Tham chiếu mô-đun

Mô-đun ngẫu nhiên Mô-đun yêu cầu Mô-đun thống kê Mô-đun Toán học Mô-đun cMath

Python Làm thế nào để

Xóa danh sách trùng lặp Đảo ngược một chuỗi Thêm hai số

Ví dụ Python

Ví dụ Python Trình biên dịch Python Bài tập Python Python Quiz Chứng chỉ Python

Matplotlib Scatter


Tạo các lô phân tán

Với Pyplot, bạn có thể sử dụng scatter()chức năng để vẽ biểu đồ phân tán.

Hàm scatter()vẽ một dấu chấm cho mỗi lần quan sát. Nó cần hai mảng có cùng độ dài, một cho các giá trị của trục x và một cho các giá trị trên trục y:

Thí dụ

Một âm mưu phân tán đơn giản:

import matplotlib.pyplot as plt
import numpy as np

x = np.array([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.array([99,86,87,88,111,86,103,87,94,78,77,85,86])

plt.scatter(x, y)
plt.show()

Kết quả:

Quan sát trong ví dụ trên là kết quả của 13 chiếc ô tô chạy qua.

Trục X cho biết chiếc xe cũ bao nhiêu tuổi.

Trục Y thể hiện vận tốc của ô tô khi nó đi qua.

Có bất kỳ mối quan hệ nào giữa các quan sát không?

Có vẻ như chiếc xe càng mới thì lái càng nhanh, nhưng đó có thể là một sự trùng hợp ngẫu nhiên, dù sao chúng tôi cũng chỉ đăng ký 13 chiếc.


So sánh lô đất

Trong ví dụ trên, dường như có một mối quan hệ giữa tốc độ và tuổi tác, nhưng điều gì sẽ xảy ra nếu chúng ta lập biểu đồ các quan sát từ một ngày khác? Liệu âm mưu phân tán có cho chúng ta biết điều gì khác không?

Thí dụ

Vẽ hai đồ thị trên cùng một hình:

import matplotlib.pyplot as plt
import numpy as np

#day one, the age and speed of 13 cars:
x = np.array([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.array([99,86,87,88,111,86,103,87,94,78,77,85,86])
plt.scatter(x, y)

#day two, the age and speed of 15 cars:
x = np.array([2,2,8,1,15,8,12,9,7,3,11,4,7,14,12])
y = np.array([100,105,84,105,90,99,90,95,94,100,79,112,91,80,85])
plt.scatter(x, y)

plt.show()

Kết quả:

Lưu ý: Hai ô được vẽ với hai màu khác nhau, theo mặc định là xanh lam và cam, bạn sẽ học cách thay đổi màu sắc ở phần sau của chương này.

Bằng cách so sánh hai mảnh đất, tôi nghĩ rằng có thể nói rằng cả hai đều cho chúng ta cùng một kết luận: xe càng mới thì lái càng nhanh.



Màu sắc

Bạn có thể đặt màu của riêng mình cho mỗi biểu đồ phân tán với colorhoặc c đối số:

Thí dụ

Đặt màu đánh dấu của riêng bạn:

import matplotlib.pyplot as plt
import numpy as np

x = np.array([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.array([99,86,87,88,111,86,103,87,94,78,77,85,86])
plt.scatter(x, y, color = 'hotpink')

x = np.array([2,2,8,1,15,8,12,9,7,3,11,4,7,14,12])
y = np.array([100,105,84,105,90,99,90,95,94,100,79,112,91,80,85])
plt.scatter(x, y, color = '#88c999')

plt.show()

Kết quả:


Màu sắc từng chấm

Bạn thậm chí có thể đặt một màu cụ thể cho từng chấm bằng cách sử dụng một mảng màu làm giá trị cho cđối số:

Lưu ý: Bạn không thể sử dụng colorđối số cho điều này, chỉ cđối số.

Thí dụ

Đặt màu đánh dấu của riêng bạn:

import matplotlib.pyplot as plt
import numpy as np

x = np.array([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.array([99,86,87,88,111,86,103,87,94,78,77,85,86])
colors = np.array(["red","green","blue","yellow","pink","black","orange","purple","beige","brown","gray","cyan","magenta"])

plt.scatter(x, y, c=colors)

plt.show()

Kết quả:


Bản đồ màu

Mô-đun Matplotlib có một số bản đồ màu có sẵn.

Bản đồ màu giống như một danh sách các màu, trong đó mỗi màu có một giá trị nằm trong khoảng từ 0 đến 100.

Đây là một ví dụ về bản đồ màu:

Bản đồ màu này được gọi là 'viridis' và như bạn có thể thấy, nó nằm trong khoảng từ 0, có màu tím và lên đến 100, là màu vàng.

Cách sử dụng Bản đồ màu

Bạn có thể chỉ định bản đồ màu với đối số từ khóa cmapvới giá trị của bản đồ màu, trong trường hợp 'viridis'này là một trong những bản đồ màu dựng sẵn có sẵn trong Matplotlib.

Ngoài ra, bạn phải tạo một mảng với các giá trị (từ 0 đến 100), một giá trị cho mỗi điểm trong biểu đồ phân tán:

Thí dụ

Tạo một mảng màu và chỉ định một bản đồ màu trong biểu đồ phân tán:

import matplotlib.pyplot as plt
import numpy as np

x = np.array([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.array([99,86,87,88,111,86,103,87,94,78,77,85,86])
colors = np.array([0, 10, 20, 30, 40, 45, 50, 55, 60, 70, 80, 90, 100])

plt.scatter(x, y, c=colors, cmap='viridis')

plt.show()

Kết quả:

Bạn có thể bao gồm bản đồ màu trong bản vẽ bằng cách bao gồm plt.colorbar()câu lệnh:

Thí dụ

Bao gồm bản đồ màu thực tế:

import matplotlib.pyplot as plt
import numpy as np

x = np.array([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.array([99,86,87,88,111,86,103,87,94,78,77,85,86])
colors = np.array([0, 10, 20, 30, 40, 45, 50, 55, 60, 70, 80, 90, 100])

plt.scatter(x, y, c=colors, cmap='viridis')

plt.colorbar()

plt.show()

Kết quả:

Bản đồ màu có sẵn

Bạn có thể chọn bất kỳ bản đồ màu nào được tích hợp sẵn:

Name   Reverse
Accent   Accent_r
Blues   Blues_r
BrBG   BrBG_r
BuGn   BuGn_r
BuPu   BuPu_r
CMRmap   CMRmap_r
Dark2   Dark2_r
GnBu   GnBu_r
Greens   Greens_r
Greys   Greys_r
OrRd   OrRd_r
Oranges   Oranges_r
PRGn   PRGn_r
Paired   Paired_r
Pastel1   Pastel1_r
Pastel2   Pastel2_r
PiYG   PiYG_r
PuBu   PuBu_r
PuBuGn   PuBuGn_r
PuOr   PuOr_r
PuRd   PuRd_r
Purples   Purples_r
RdBu   RdBu_r
RdGy   RdGy_r
RdPu   RdPu_r
RdYlBu   RdYlBu_r
RdYlGn   RdYlGn_r
Reds   Reds_r
Set1   Set1_r
Set2   Set2_r
Set3   Set3_r
Spectral   Spectral_r
Wistia   Wistia_r
YlGn   YlGn_r
YlGnBu   YlGnBu_r
YlOrBr   YlOrBr_r
YlOrRd   YlOrRd_r
afmhot   afmhot_r
autumn   autumn_r
binary   binary_r
bone   bone_r
brg   brg_r
bwr   bwr_r
cividis   cividis_r
cool   cool_r
coolwarm   coolwarm_r
copper   copper_r
cubehelix   cubehelix_r
flag   flag_r
gist_earth   gist_earth_r
gist_gray   gist_gray_r
gist_heat   gist_heat_r
gist_ncar   gist_ncar_r
gist_rainbow   gist_rainbow_r
gist_stern   gist_stern_r
gist_yarg   gist_yarg_r
gnuplot   gnuplot_r
gnuplot2   gnuplot2_r
gray   gray_r
hot   hot_r
hsv   hsv_r
inferno   inferno_r
jet   jet_r
magma   magma_r
nipy_spectral   nipy_spectral_r
ocean   ocean_r
pink   pink_r
plasma   plasma_r
prism   prism_r
rainbow   rainbow_r
seismic   seismic_r
spring   spring_r
summer   summer_r
tab10   tab10_r
tab20   tab20_r
tab20b   tab20b_r
tab20c   tab20c_r
terrain   terrain_r
twilight   twilight_r
twilight_shifted   twilight_shifted_r
viridis   viridis_r
winter   winter_r

Kích cỡ

Bạn có thể thay đổi kích thước của các dấu chấm bằng sđối số.

Cũng giống như màu sắc, hãy đảm bảo rằng mảng cho các kích thước có cùng độ dài với các mảng cho trục x và y:

Thí dụ

Đặt kích thước của riêng bạn cho các điểm đánh dấu:

import matplotlib.pyplot as plt
import numpy as np

x = np.array([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.array([99,86,87,88,111,86,103,87,94,78,77,85,86])
sizes = np.array([20,50,100,200,500,1000,60,90,10,300,600,800,75])

plt.scatter(x, y, s=sizes)

plt.show()

Kết quả:


Alpha

Bạn có thể điều chỉnh độ trong suốt của các dấu chấm bằng alphađối số.

Cũng giống như màu sắc, hãy đảm bảo rằng mảng cho các kích thước có cùng độ dài với các mảng cho trục x và y:

Thí dụ

Đặt kích thước của riêng bạn cho các điểm đánh dấu:

import matplotlib.pyplot as plt
import numpy as np

x = np.array([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.array([99,86,87,88,111,86,103,87,94,78,77,85,86])
sizes = np.array([20,50,100,200,500,1000,60,90,10,300,600,800,75])

plt.scatter(x, y, s=sizes, alpha=0.5)

plt.show()

Kết quả:


Kết hợp Kích thước màu và Alpha

Bạn có thể kết hợp một bản đồ màu với các kích thước khác nhau trên các dấu chấm. Điều này được hình dung tốt nhất nếu các dấu chấm trong suốt:

Thí dụ

Tạo mảng ngẫu nhiên với 100 giá trị cho điểm x, điểm y, màu sắc và kích thước:

import matplotlib.pyplot as plt
import numpy as np

x = np.random.randint(100, size=(100))
y = np.random.randint(100, size=(100))
colors = np.random.randint(100, size=(100))
sizes = 10 * np.random.randint(100, size=(100))

plt.scatter(x, y, c=colors, s=sizes, alpha=0.5, cmap='nipy_spectral')

plt.colorbar()

plt.show()

Kết quả: