Một phần quan trọng của việc làm việc với dữ liệu là có thể trực quan hóa nó. Python có một số mô-đun của bên thứ ba mà bạn có thể sử dụng để trực quan hóa dữ liệu. Một trong những mô-đun phổ biến nhất là Matplotlib và mô-đun con pyplot của nó, thường được gọi bằng bí danh
import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
7. Matplotlib cung cấp một công cụ rất linh hoạt có tên là import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
8 cho phép bạn tạo các biểu đồ phân tán cơ bản và phức tạp hơnDưới đây, bạn sẽ xem qua một số ví dụ sẽ chỉ cho bạn cách sử dụng chức năng này một cách hiệu quả
Trong hướng dẫn này, bạn sẽ học cách
- Tạo biểu đồ phân tán bằng cách sử dụng
8import matplotlib.pyplot as plt price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40] sales_per_day = [34, 62, 49, 22, 13, 19] plt.scatter[price, sales_per_day] plt.show[]
- Sử dụng các tham số đầu vào bắt buộc và tùy chọn
- Tùy chỉnh các ô phân tán cho các ô cơ bản và nâng cao hơn
- Biểu thị nhiều hơn hai chiều trên biểu đồ phân tán
Để tận dụng tối đa hướng dẫn này, bạn nên làm quen với các kiến thức cơ bản về lập trình Python và kiến thức cơ bản về NumPy và đối tượng
plt.plot[price, sales_per_day, "o"]
plt.show[]
0 của nó. Bạn không cần phải quen thuộc với Matplotlib để làm theo hướng dẫn này, nhưng nếu bạn muốn tìm hiểu thêm về mô-đun, hãy xem Python Plotting With Matplotlib [Hướng dẫn]Tiền thưởng miễn phí. Nhấp vào đây để có quyền truy cập vào Hướng dẫn tài nguyên NumPy miễn phí chỉ cho bạn các hướng dẫn, video và sách tốt nhất để cải thiện kỹ năng NumPy của bạn
Tạo các ô phân tán
Biểu đồ phân tán là biểu diễn trực quan về cách hai biến liên quan với nhau. Bạn có thể sử dụng biểu đồ phân tán để khám phá mối quan hệ giữa hai biến, chẳng hạn bằng cách tìm bất kỳ mối tương quan nào giữa chúng
Trong phần hướng dẫn này, bạn sẽ làm quen với việc tạo các biểu đồ phân tán cơ bản bằng Matplotlib. Trong các phần sau, bạn sẽ tìm hiểu cách tùy chỉnh thêm các biểu đồ của mình để biểu thị dữ liệu phức tạp hơn bằng cách sử dụng nhiều hơn hai chiều
Loại bỏ các quảng cáoBắt đầu với import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
8
import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
Trước khi bạn có thể bắt đầu làm việc với
import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
8, bạn cần cài đặt Matplotlib. Bạn có thể làm như vậy bằng cách sử dụng trình quản lý gói tiêu chuẩn của Python, ________ 33, bằng cách chạy lệnh sau trong bảng điều khiển$ python -m pip install matplotlib
Bây giờ bạn đã cài đặt Matplotlib, hãy xem xét trường hợp sử dụng sau. Một quán cà phê bán sáu loại nước cam đóng chai khác nhau. Người chủ muốn hiểu mối quan hệ giữa giá đồ uống và số lượng mỗi loại anh ta bán, vì vậy anh ta theo dõi số lượng mỗi loại đồ uống anh ta bán mỗi ngày. Bạn có thể hình dung mối quan hệ này như sau
import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
Trong tập lệnh Python này, bạn nhập mô-đun con
plt.plot[price, sales_per_day, "o"]
plt.show[]
4 từ Matplotlib bằng bí danh import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
7. Bí danh này thường được sử dụng theo quy ước để rút ngắn tên mô-đun và mô-đun con. Sau đó, bạn tạo danh sách có giá và doanh số bán hàng trung bình mỗi ngày cho mỗi loại trong số sáu loại đồ uống màu cam đã bánCuối cùng, bạn tạo biểu đồ phân tán bằng cách sử dụng
import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
8 với hai biến mà bạn muốn so sánh làm đối số đầu vào. Khi bạn đang sử dụng tập lệnh Python, bạn cũng cần hiển thị rõ ràng hình bằng cách sử dụng plt.plot[price, sales_per_day, "o"]
plt.show[]
7Khi bạn đang sử dụng một môi trường tương tác, chẳng hạn như bảng điều khiển hoặc Máy tính xách tay Jupyter, bạn không cần gọi
plt.plot[price, sales_per_day, "o"]
plt.show[]
7. Trong hướng dẫn này, tất cả các ví dụ sẽ ở dạng tập lệnh và sẽ bao gồm lệnh gọi tới plt.plot[price, sales_per_day, "o"]
plt.show[]
7Đây là đầu ra từ mã này
Cốt truyện này cho thấy rằng, nói chung, đồ uống càng đắt tiền thì càng ít mặt hàng được bán. Tuy nhiên, đồ uống có giá 4 đô la. 02 là một ngoại lệ, điều này có thể cho thấy đây là một sản phẩm đặc biệt phổ biến. Khi sử dụng biểu đồ phân tán theo cách này, việc kiểm tra chặt chẽ có thể giúp bạn khám phá mối quan hệ giữa các biến. Sau đó, bạn có thể tiến hành phân tích sâu hơn, cho dù đó là sử dụng hồi quy tuyến tính hay các kỹ thuật khác
So sánh import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
8 và import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
61
import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
Bạn cũng có thể tạo biểu đồ phân tán được hiển thị ở trên bằng cách sử dụng một chức năng khác trong
import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
62. Matplotlib's import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
61 là một chức năng vẽ biểu đồ có mục đích chung sẽ cho phép bạn tạo nhiều biểu đồ đường hoặc điểm đánh dấu khác nhauBạn có thể đạt được biểu đồ phân tán giống như biểu đồ bạn đã nhận được trong phần trên với lệnh gọi sau tới
import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
61, sử dụng cùng một dữ liệuplt.plot[price, sales_per_day, "o"]
plt.show[]
Trong trường hợp này, bạn phải bao gồm điểm đánh dấu
import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
65 làm đối số thứ ba, nếu không thì import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
61 sẽ vẽ biểu đồ đường. Cốt truyện bạn đã tạo bằng mã này giống hệt với cốt truyện bạn đã tạo trước đó với import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
8Trong một số trường hợp, đối với biểu đồ phân tán cơ bản mà bạn đang vẽ trong ví dụ này, sử dụng
import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
61 có thể phù hợp hơn. Bạn có thể so sánh hiệu quả của hai chức năng bằng cách sử dụng mô-đun import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
69import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
6Hiệu suất sẽ khác nhau trên các máy tính khác nhau, nhưng khi bạn chạy mã này, bạn sẽ thấy rằng
import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
61 hiệu quả hơn đáng kể so với import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
8. Khi chạy ví dụ trên trên hệ thống của tôi, import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
61 nhanh hơn bảy lầnNếu bạn có thể tạo các biểu đồ phân tán bằng cách sử dụng
import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
61 và nó cũng nhanh hơn nhiều, tại sao bạn nên sử dụng import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
8? . Hầu hết các tùy chỉnh và cách sử dụng nâng cao mà bạn sẽ tìm hiểu trong hướng dẫn này chỉ có thể thực hiện được khi sử dụng import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
8. Đây là một quy tắc ngón tay cái mà bạn có thể sử dụng- Nếu bạn cần một biểu đồ phân tán cơ bản, hãy sử dụng
61, đặc biệt nếu bạn muốn ưu tiên hiệu suấtimport matplotlib.pyplot as plt price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40] sales_per_day = [34, 62, 49, 22, 13, 19] plt.scatter[price, sales_per_day] plt.show[]
- Nếu bạn muốn tùy chỉnh biểu đồ phân tán của mình bằng cách sử dụng các tính năng vẽ biểu đồ nâng cao hơn, hãy sử dụng
8import matplotlib.pyplot as plt price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40] sales_per_day = [34, 62, 49, 22, 13, 19] plt.scatter[price, sales_per_day] plt.show[]
Trong phần tiếp theo, bạn sẽ bắt đầu khám phá những cách sử dụng nâng cao hơn của
import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
8Loại bỏ các quảng cáoTùy chỉnh các điểm đánh dấu trong các ô phân tán
Bạn có thể hình dung nhiều hơn hai biến trên biểu đồ phân tán hai chiều bằng cách tùy chỉnh các điểm đánh dấu. Có bốn tính năng chính của các điểm đánh dấu được sử dụng trong biểu đồ phân tán mà bạn có thể tùy chỉnh với
import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
8- Kích thước
- Màu sắc
- Hình dạng
- minh bạch
Trong phần này của hướng dẫn, bạn sẽ học cách sửa đổi tất cả các thuộc tính này
Thay đổi kích thước
Hãy trở lại chủ quán cà phê mà bạn đã gặp trước đó trong hướng dẫn này. Các loại đồ uống màu cam khác nhau mà anh ấy bán đến từ các nhà cung cấp khác nhau và có tỷ suất lợi nhuận khác nhau. Bạn có thể hiển thị thông tin bổ sung này trong biểu đồ phân tán bằng cách điều chỉnh kích thước của điểm đánh dấu. Tỷ suất lợi nhuận được đưa ra dưới dạng phần trăm trong ví dụ này
plt.plot[price, sales_per_day, "o"]
plt.show[]
7Bạn có thể nhận thấy một vài thay đổi so với ví dụ đầu tiên. Thay vì danh sách, bạn hiện đang sử dụng mảng NumPy. Bạn có thể sử dụng bất kỳ cấu trúc dữ liệu dạng mảng nào cho dữ liệu và mảng NumPy thường được sử dụng trong các loại ứng dụng này vì chúng cho phép các hoạt động của phần tử được thực hiện hiệu quả. Mô-đun NumPy là phần phụ thuộc của Matplotlib, đó là lý do tại sao bạn không cần cài đặt thủ công
Bạn cũng đã sử dụng các tham số được đặt tên làm đối số đầu vào trong lệnh gọi hàm. Các tham số
plt.plot[price, sales_per_day, "o"]
plt.show[]
80 và plt.plot[price, sales_per_day, "o"]
plt.show[]
81 là bắt buộc nhưng tất cả các tham số khác là tùy chọnTham số
plt.plot[price, sales_per_day, "o"]
plt.show[]
82 biểu thị kích thước của điểm đánh dấu. Trong ví dụ này, bạn sử dụng tỷ suất lợi nhuận làm biến để xác định kích thước của điểm đánh dấu và nhân nó với plt.plot[price, sales_per_day, "o"]
plt.show[]
83 để hiển thị sự khác biệt về kích thước rõ ràng hơnBạn có thể xem biểu đồ phân tán được tạo bởi mã này bên dưới
Kích thước của điểm đánh dấu cho biết tỷ suất lợi nhuận cho mỗi sản phẩm. Hai loại nước cam bán chạy nhất cũng là loại có tỷ suất lợi nhuận cao nhất. Đây là tin vui cho chủ quán cà phê
Thay đổi màu sắc
Nhiều khách hàng của quán cà phê thích đọc nhãn cẩn thận, đặc biệt là để biết hàm lượng đường của đồ uống họ mua. Chủ quán cà phê muốn nhấn mạnh lựa chọn thực phẩm tốt cho sức khỏe trong chiến dịch tiếp thị tiếp theo của mình, vì vậy anh ấy phân loại đồ uống dựa trên hàm lượng đường và sử dụng hệ thống đèn giao thông để chỉ ra hàm lượng đường thấp, trung bình hoặc cao cho đồ uống
Bạn có thể thêm màu vào các điểm đánh dấu trong biểu đồ phân tán để hiển thị hàm lượng đường của mỗi loại đồ uống
plt.plot[price, sales_per_day, "o"]
plt.show[]
8Bạn định nghĩa các biến
plt.plot[price, sales_per_day, "o"]
plt.show[]
84, plt.plot[price, sales_per_day, "o"]
plt.show[]
85 và plt.plot[price, sales_per_day, "o"]
plt.show[]
86 là các bộ, mỗi bộ chứa ba giá trị đại diện cho các thành phần màu đỏ, lục và lam, theo thứ tự đó. Đây là các giá trị màu RGB. Các bộ dữ liệu cho plt.plot[price, sales_per_day, "o"]
plt.show[]
84, plt.plot[price, sales_per_day, "o"]
plt.show[]
85 và plt.plot[price, sales_per_day, "o"]
plt.show[]
86 tương ứng là màu xanh lục, vàng và đỏSau đó, bạn đã xác định biến
import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
90 để phân loại từng loại đồ uống. Bạn sử dụng tham số tùy chọn import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
91 trong lệnh gọi hàm để xác định màu của từng điểm đánh dấu. Đây là biểu đồ phân tán được tạo bởi mã nàyChủ quán cà phê đã quyết định loại bỏ thức uống đắt nhất khỏi thực đơn vì loại này bán không chạy và có hàm lượng đường cao. Liệu anh ta cũng có nên ngừng dự trữ những loại đồ uống rẻ nhất để nâng cao uy tín về sức khỏe của doanh nghiệp, mặc dù nó bán chạy và có tỷ suất lợi nhuận tốt?
Loại bỏ các quảng cáoThay đổi hình dạng
Chủ quán cà phê nhận thấy bài tập này rất hữu ích và anh ấy muốn điều tra một sản phẩm khác. Ngoài đồ uống cam, giờ đây bạn cũng sẽ vẽ dữ liệu tương tự cho nhiều loại thanh ngũ cốc có sẵn trong quán cà phê
import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
9Trong mã này, bạn cấu trúc lại các tên biến để tính đến việc bạn hiện có dữ liệu cho hai sản phẩm khác nhau. Sau đó, bạn vẽ cả hai biểu đồ phân tán trong một hình duy nhất. Điều này mang lại đầu ra sau
Thật không may, bạn không còn có thể tìm ra điểm dữ liệu nào thuộc về đồ uống màu cam và điểm nào thuộc về thanh ngũ cốc. Bạn có thể thay đổi hình dạng của điểm đánh dấu cho một trong các ô phân tán
import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
2Bạn giữ hình dạng điểm đánh dấu mặc định cho dữ liệu đồ uống màu cam. Điểm đánh dấu mặc định là
import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
65, đại diện cho một dấu chấm. Đối với dữ liệu thanh ngũ cốc, bạn đặt hình dạng điểm đánh dấu thành import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
93, đại diện cho điểm đánh dấu hình thoi. Bạn có thể tìm thấy danh sách tất cả các điểm đánh dấu mà bạn có thể sử dụng trong trang tài liệu về điểm đánh dấu. Đây là hai biểu đồ phân tán được đặt chồng lên nhau trên cùng một hìnhGiờ đây, bạn có thể phân biệt điểm dữ liệu của đồ uống màu cam với điểm dữ liệu của thanh ngũ cốc. Nhưng có một vấn đề với cốt truyện cuối cùng mà bạn đã tạo mà bạn sẽ khám phá trong phần tiếp theo
Thay đổi độ trong suốt
Một trong những điểm dữ liệu cho đồ uống cam đã biến mất. Nên có sáu đồ uống màu cam, nhưng chỉ có thể nhìn thấy năm dấu tròn trong hình. Một trong những điểm dữ liệu thanh ngũ cốc đang ẩn điểm dữ liệu đồ uống màu cam
Bạn có thể khắc phục sự cố trực quan hóa này bằng cách làm cho các điểm dữ liệu trong suốt một phần bằng cách sử dụng giá trị alpha
import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
5Bạn đã đặt giá trị
import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
94 của cả hai bộ đánh dấu thành import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
95, có nghĩa là chúng nửa trong suốt. Bây giờ bạn có thể thấy tất cả các điểm dữ liệu trong biểu đồ này, bao gồm cả những điểm trùng khớpBạn cũng đã thêm tiêu đề và các nhãn khác vào biểu đồ để hoàn thành hình với nhiều thông tin hơn về những gì đang được hiển thị
Tùy chỉnh Colormap và Style
Trong các ô phân tán mà bạn đã tạo cho đến nay, bạn đã sử dụng ba màu để thể hiện hàm lượng đường thấp, trung bình hoặc cao cho đồ uống và thanh ngũ cốc. Bây giờ, bạn sẽ thay đổi điều này để màu đại diện trực tiếp cho hàm lượng đường thực tế của các mặt hàng
Trước tiên, bạn cần cấu trúc lại các biến
import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
96 và import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
97 để chúng biểu thị giá trị hàm lượng đường thay vì chỉ các giá trị màu RGBplt.plot[price, sales_per_day, "o"]
plt.show[]
0Đây hiện là danh sách chứa tỷ lệ phần trăm lượng đường khuyến nghị hàng ngày trong mỗi mục. Phần còn lại của mã vẫn giữ nguyên, nhưng bây giờ bạn có thể chọn bản đồ màu để sử dụng. Điều này ánh xạ các giá trị thành màu sắc
import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
0Màu của các điểm đánh dấu hiện dựa trên tỷ lệ liên tục và bạn cũng đã hiển thị thanh màu đóng vai trò là chú giải cho màu của các điểm đánh dấu. Đây là biểu đồ phân tán kết quả
Tất cả các lô bạn đã vẽ cho đến nay đã được hiển thị theo kiểu Matplotlib gốc. Bạn có thể thay đổi kiểu này bằng cách sử dụng một trong các tùy chọn. Bạn có thể hiển thị các kiểu có sẵn bằng lệnh sau
>>>
import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
1Bây giờ bạn có thể thay đổi kiểu cốt truyện khi sử dụng Matplotlib bằng cách sử dụng lệnh gọi hàm sau trước khi gọi
import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
8import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
2Điều này thay đổi phong cách thành phong cách của Seaborn, một gói trực quan hóa bên thứ ba khác. Bạn có thể thấy phong cách khác nhau bằng cách vẽ biểu đồ phân tán cuối cùng mà bạn đã hiển thị ở trên bằng cách sử dụng phong cách Seaborn
Bạn có thể đọc thêm về cách tùy chỉnh các ô trong Matplotlib và cũng có các hướng dẫn khác trên các trang tài liệu Matplotlib
Sử dụng
import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
8 để tạo biểu đồ phân tán cho phép bạn hiển thị nhiều hơn hai biến. Dưới đây là các biến được biểu diễn trong ví dụ nàyBiến Được biểu thị bằng Giá Trục X Số lượng trung bình đã bán Trục Y Biên lợi nhuận Kích thước nhãn hiệu Loại sản phẩm Hình dạng nhãn hiệu Nội dung đường Màu nhãn hiệu
Khả năng biểu diễn nhiều hơn hai biến làm cho
import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
8 trở thành một công cụ rất mạnh mẽ và linh hoạtLoại bỏ các quảng cáoKhám phá thêm import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
21[]
import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
8 thậm chí còn linh hoạt hơn trong việc tùy chỉnh các biểu đồ phân tán. Trong phần này, bạn sẽ khám phá cách ẩn dữ liệu bằng cách sử dụng mảng NumPy và biểu đồ phân tán thông qua một ví dụ. Trong ví dụ này, bạn sẽ tạo các điểm dữ liệu ngẫu nhiên rồi tách chúng thành hai vùng riêng biệt trong cùng một biểu đồ phân tánMột hành khách thích thu thập dữ liệu đã đối chiếu thời gian đến của xe buýt tại trạm xe buýt địa phương của cô ấy trong khoảng thời gian sáu tháng. Thời gian đến theo lịch trình là vào lúc 15 phút và 45 phút qua một giờ, nhưng cô nhận thấy rằng thời gian đến thực sự tuân theo phân phối chuẩn vào khoảng thời gian này
Biểu đồ này cho thấy khả năng tương đối của một chiếc xe buýt đến mỗi phút trong vòng một giờ. Phân phối xác suất này có thể được biểu diễn bằng NumPy và
import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
23import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
3Bạn đã tạo hai bản phân phối bình thường tập trung vào
import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
24 và import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
25 phút trước giờ và tính tổng chúng. Bạn đặt thời gian đến có khả năng nhất thành giá trị import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
26 bằng cách chia cho giá trị tối đaBây giờ bạn có thể mô phỏng thời gian đến của xe buýt bằng cách sử dụng bản phân phối này. Để làm điều này, bạn có thể tạo thời gian ngẫu nhiên và xác suất tương đối ngẫu nhiên bằng cách sử dụng mô-đun
import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
27 tích hợp. Trong đoạn mã dưới đây, bạn cũng sẽ sử dụng khả năng hiểu danh sáchimport matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
4Bạn đã mô phỏng các lượt xe buýt đến của
import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
28, bạn có thể hình dung điều này bằng biểu đồ phân tán sauBiểu đồ của bạn sẽ trông khác vì dữ liệu bạn đang tạo là ngẫu nhiên. Tuy nhiên, không phải tất cả những điểm này đều có khả năng sát với thực tế mà người đi làm đã quan sát được từ dữ liệu mà cô ấy đã thu thập và phân tích. Bạn có thể vẽ biểu đồ phân phối mà cô ấy thu được từ dữ liệu với các lượt xe buýt mô phỏng
import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
5Điều này mang lại đầu ra sau
Để giữ cho mô phỏng thực tế, bạn cần đảm bảo rằng các lượt xe buýt ngẫu nhiên khớp với dữ liệu và phân phối thu được từ những dữ liệu đó. Bạn có thể lọc các điểm được tạo ngẫu nhiên bằng cách chỉ giữ lại những điểm nằm trong phân phối xác suất. Bạn có thể đạt được điều này bằng cách tạo mặt nạ cho biểu đồ phân tán
import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
6Các biến
import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
29 và import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
50 là các mảng NumPy chứa các giá trị Boolean dựa trên việc các khả năng được tạo ngẫu nhiên nằm trên hay dưới phân phối plt.plot[price, sales_per_day, "o"]
plt.show[]
81. Sau đó, bạn vẽ hai biểu đồ phân tán riêng biệt, một biểu đồ có các điểm nằm trong phân phối và một biểu đồ khác cho các điểm nằm ngoài phân phối. Các điểm dữ liệu nằm trên phân phối không đại diện cho dữ liệu thựcBạn đã phân đoạn các điểm dữ liệu từ biểu đồ phân tán ban đầu dựa trên việc chúng có nằm trong phân phối hay không và sử dụng màu và điểm đánh dấu khác để xác định hai bộ dữ liệu
Loại bỏ các quảng cáoXem lại các thông số đầu vào chính
Bạn đã tìm hiểu về các tham số đầu vào chính để tạo biểu đồ phân tán ở các phần trên. Dưới đây là tóm tắt ngắn gọn về các điểm chính cần nhớ về các tham số đầu vào chính
Mô tả tham số
plt.plot[price, sales_per_day, "o"]
plt.show[]
80 và plt.plot[price, sales_per_day, "o"]
plt.show[]
81Các tham số này đại diện cho hai biến chính và có thể là bất kỳ kiểu dữ liệu dạng mảng nào, chẳng hạn như danh sách hoặc mảng NumPy. Đây là những thông số bắt buộc. plt.plot[price, sales_per_day, "o"]
plt.show[]
82Tham số này xác định kích thước của điểm đánh dấu. Nó có thể là số float nếu tất cả các điểm đánh dấu có cùng kích thước hoặc cấu trúc dữ liệu dạng mảng nếu các điểm đánh dấu có kích thước khác nhau. import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
91Thông số này đại diện cho màu sắc của các điểm đánh dấu. Nó thường là một mảng màu, chẳng hạn như các giá trị RGB hoặc một chuỗi các giá trị sẽ được ánh xạ lên một bản đồ màu bằng cách sử dụng tham số import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
56. import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
57Thông số này được sử dụng để tùy chỉnh hình dạng của điểm đánh dấu. import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
56Nếu một chuỗi các giá trị được sử dụng cho tham số import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
91, thì tham số này có thể được sử dụng để chọn ánh xạ giữa các giá trị và màu sắc, thường bằng cách sử dụng một trong các bản đồ màu tiêu chuẩn hoặc bản đồ màu tùy chỉnh. import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
94Tham số này là một số float có thể lấy bất kỳ giá trị nào trong khoảng từ plt.plot[price, sales_per_day, "o"]
plt.show[]
01 đến import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
26 và biểu thị độ trong suốt của điểm đánh dấu, trong đó import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
26 biểu thị điểm đánh dấu mờ đụcĐây không phải là các tham số đầu vào duy nhất có sẵn với
import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
8. Bạn có thể truy cập danh sách đầy đủ các tham số đầu vào từ tài liệuSự kết luận
Bây giờ bạn đã biết cách tạo và tùy chỉnh biểu đồ phân tán bằng cách sử dụng
import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
8, bạn đã sẵn sàng bắt đầu thực hành với bộ dữ liệu và ví dụ của riêng mình. Chức năng linh hoạt này cung cấp cho bạn khả năng khám phá dữ liệu của mình và trình bày những phát hiện của bạn một cách rõ ràngTrong hướng dẫn này, bạn đã học cách
- Tạo biểu đồ phân tán bằng cách sử dụng
21[]import matplotlib.pyplot as plt price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40] sales_per_day = [34, 62, 49, 22, 13, 19] plt.scatter[price, sales_per_day] plt.show[]
- Sử dụng các tham số đầu vào bắt buộc và tùy chọn
- Tùy chỉnh các ô phân tán cho các ô cơ bản và nâng cao hơn
- Thể hiện nhiều hơn hai chiều với
8import matplotlib.pyplot as plt price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40] sales_per_day = [34, 62, 49, 22, 13, 19] plt.scatter[price, sales_per_day] plt.show[]
Bạn có thể tận dụng tối đa khả năng trực quan hóa bằng cách sử dụng
import matplotlib.pyplot as plt
price = [2.50, 1.23, 4.02, 3.25, 5.00, 4.40]
sales_per_day = [34, 62, 49, 22, 13, 19]
plt.scatter[price, sales_per_day]
plt.show[]
8 bằng cách tìm hiểu thêm về tất cả các tính năng trong Matplotlib và xử lý dữ liệu bằng NumPyĐánh dấu là đã hoàn thành
Xem ngay Hướng dẫn này có một khóa học video liên quan do nhóm Real Python tạo. Xem nó cùng với hướng dẫn bằng văn bản để hiểu sâu hơn. Sử dụng plt. scatter[] để trực quan hóa dữ liệu bằng Python
🐍 Thủ thuật Python 💌
Nhận một Thủ thuật Python ngắn và hấp dẫn được gửi đến hộp thư đến của bạn vài ngày một lần. Không có thư rác bao giờ. Hủy đăng ký bất cứ lúc nào. Được quản lý bởi nhóm Real Python
Gửi cho tôi thủ thuật Python »
Giới thiệu về Stephen Gruppetta
Stephen từng làm việc với tư cách là nhà vật lý nghiên cứu, phát triển các hệ thống hình ảnh để phát hiện bệnh về mắt. Bây giờ anh ấy dạy viết mã bằng Python cho trẻ em và người lớn. Và anh ấy gần như đã hoàn thành cuốn sách mã hóa Python đầu tiên của mình cho người mới bắt đầu
» Thông tin thêm về StephenMỗi hướng dẫn tại Real Python được tạo bởi một nhóm các nhà phát triển để nó đáp ứng các tiêu chuẩn chất lượng cao của chúng tôi. Các thành viên trong nhóm đã làm việc trong hướng dẫn này là
Aldren
Bartosz
David
Joanna
Gia-cốp
Bậc thầy Kỹ năng Python trong thế giới thực Với quyền truy cập không giới hạn vào Python thực
Tham gia với chúng tôi và có quyền truy cập vào hàng nghìn hướng dẫn, khóa học video thực hành và cộng đồng các Pythonistas chuyên gia
Nâng cao kỹ năng Python của bạn »
Bậc thầy Kỹ năng Python trong thế giới thực
Với quyền truy cập không giới hạn vào Python thực
Tham gia với chúng tôi và có quyền truy cập vào hàng ngàn hướng dẫn, khóa học video thực hành và cộng đồng Pythonistas chuyên gia
Nâng cao kỹ năng Python của bạn »
Bạn nghĩ sao?
Đánh giá bài viết này
Tweet Chia sẻ Chia sẻ EmailBài học số 1 hoặc điều yêu thích mà bạn đã học được là gì?
Mẹo bình luận. Những nhận xét hữu ích nhất là những nhận xét được viết với mục đích học hỏi hoặc giúp đỡ các sinh viên khác. Nhận các mẹo để đặt câu hỏi hay và nhận câu trả lời cho các câu hỏi phổ biến trong cổng thông tin hỗ trợ của chúng tôi