Âm mưu phân tán với trăn dòng trung bình

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ơn

Dướ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
    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
  • 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áo

Bắ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

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án

Cuố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[]
7

Khi 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

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 nhau

Bạ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ệu

plt.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[]
8

Trong 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[]
69

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[]
6

Hiệ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ần

Nế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
    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 biệt nếu bạn muốn ưu tiên hiệu suất
  • 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
    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

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[]
8

Loại bỏ các quảng cáo

Tù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

  1. Kích thước
  2. Màu sắc
  3. Hình dạng
  4. 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[]
7

Bạ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ọn

Tham 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ơn

Bạ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[]
8

Bạ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ày

Chủ 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áo

Thay đổ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[]
9

Trong 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[]
2

Bạ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ình

Giờ đâ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[]
5

Bạ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ớp

Bạ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 RGB

plt.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[]
0

Mà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[]
1

Bâ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[]
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[]
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ày

Biế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ạt

Loại bỏ các quảng cáo

Khá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[]
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án

Mộ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[]
23

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[]
3

Bạ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 đa

Bâ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ách

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[]
4

Bạ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 sau

Biể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[]
6

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[]
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ực

Bạ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áo

Xem 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ệu

Sự 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àng

Trong 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
    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[]
  • 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
    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ể 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ề Stephen

Mỗ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ẻ Email

Bà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

Chủ Đề