Biểu đồ trong Python là gì?

Python cung cấp một trong những thư viện vẽ sơ đồ phổ biến nhất có tên là Matplotlib. Nó là mã nguồn mở, đa nền tảng để tạo các biểu đồ 2D từ dữ liệu trong mảng. Nó thường được sử dụng để trực quan hóa dữ liệu và biểu thị thông qua các biểu đồ khác nhau

Matplotlib ban đầu được hình thành bởi John D. Thợ săn năm 2003. Phiên bản gần đây của matplotlib là 2. 2. 0 phát hành vào tháng 1 năm 2018

Trước khi bắt đầu làm việc với thư viện matplotlib, chúng ta cần cài đặt trong môi trường Python của mình

Cài đặt Matplotlib

Nhập lệnh sau trong thiết bị đầu cuối của bạn và nhấn enter

Lệnh trên sẽ cài đặt thư viện matplotlib và gói phụ thuộc của nó trên hệ điều hành Window

Khái niệm cơ bản về Matplotlib

Một biểu đồ chứa các phần sau. Hãy hiểu những phần này

Nhân vật. Đó là một hình toàn bộ có thể chứa một hoặc nhiều trục [ô]. Chúng ta có thể coi Hình như một khung vẽ chứa các ô

trục. Một Hình có thể chứa một số Trục. Nó bao gồm hai hoặc ba đối tượng Trục [trong trường hợp 3D]. Mỗi Trục bao gồm tiêu đề, nhãn x và nhãn y

trục. Các trục là số lượng các đối tượng giống như đường và chịu trách nhiệm tạo ra các giới hạn biểu đồ

Nghệ sĩ. Nghệ sĩ là tất cả những gì chúng ta thấy trên biểu đồ như đối tượng Văn bản, đối tượng Line2D và đối tượng bộ sưu tập. Hầu hết các nghệ sĩ đều bị ràng buộc với Axes

Giới thiệu pyplot

Matplotlib cung cấp gói pyplot được sử dụng để vẽ đồ thị của dữ liệu đã cho. matplotlib. pyplot là một tập hợp các hàm kiểu lệnh giúp matplotlib hoạt động giống như MATLAB. Gói pyplot chứa nhiều hàm dùng để tạo hình, tạo vùng vẽ trong hình, trang trí đồ thị bằng nhãn, vẽ một số đường trong vùng vẽ, v.v.

Chúng ta có thể vẽ đồ thị bằng pyplot một cách nhanh chóng. Hãy cùng xem ví dụ sau

Ví dụ cơ bản về vẽ đồ thị

Đây là ví dụ cơ bản về tạo một biểu đồ đơn giản;

đầu ra

Vẽ các loại đồ thị khác nhau

Chúng ta có thể vẽ đồ thị khác nhau bằng cách sử dụng mô-đun pyplot. Hãy hiểu các ví dụ sau đây

1. đồ thị đường

Biểu đồ đường được sử dụng để hiển thị thông tin dưới dạng một chuỗi các đường. Thật dễ dàng để âm mưu. Xem xét ví dụ sau

Thí dụ -

đầu ra

Dòng có thể được sửa đổi bằng các chức năng khác nhau. Nó làm cho biểu đồ hấp dẫn hơn. Dưới đây là ví dụ

Thí dụ -

2. Thanh biểu đồ

Biểu đồ thanh là một trong những biểu đồ phổ biến nhất và nó được sử dụng để biểu thị dữ liệu được liên kết với các biến phân loại. Hàm bar[] chấp nhận ba đối số - biến phân loại, giá trị và màu sắc

Thí dụ -

3. Biểu đồ tròn

Biểu đồ là một đồ thị hình tròn được chia thành các phần con hoặc đoạn. Nó được sử dụng để biểu thị dữ liệu tỷ lệ phần trăm hoặc tỷ lệ trong đó mỗi lát bánh đại diện cho một danh mục cụ thể. Hãy hiểu ví dụ dưới đây

Thí dụ -

đầu ra

4. Biểu đồ

Biểu đồ và biểu đồ thanh khá giống nhau nhưng có một sự khác biệt nhỏ giữa chúng. Một biểu đồ được sử dụng để biểu thị phân phối và biểu đồ thanh được sử dụng để so sánh các thực thể khác nhau. Biểu đồ thường được sử dụng để vẽ biểu đồ tần suất của một số giá trị so với một tập hợp các phạm vi giá trị

Trong ví dụ sau, chúng tôi đã lấy dữ liệu về tỷ lệ phần trăm điểm khác nhau của học sinh và vẽ biểu đồ theo số lượng học sinh. Hãy hiểu ví dụ sau

Thí dụ -

đầu ra

Hãy hiểu một ví dụ khác

Ví dụ - 2

đầu ra

5. Âm mưu phân tán

Biểu đồ phân tán được sử dụng để so sánh biến này với các biến khác. Nó được định nghĩa là cách một biến ảnh hưởng đến biến kia. Dữ liệu được biểu diễn dưới dạng tập hợp các điểm. Hãy hiểu ví dụ sau

Thí dụ -

đầu ra

Ví dụ - 2

đầu ra

Trong hướng dẫn này, chúng ta đã thảo luận về tất cả các loại biểu đồ cơ bản được sử dụng trong trực quan hóa dữ liệu. Để tìm hiểu thêm về biểu đồ, hãy truy cập hướng dẫn matplotlib của chúng tôi

Hình trên cho thấy một đồ thị có trọng số đơn giản và chúng ta có thể biểu diễn đồ thị này dưới dạng tập hợp sáu đỉnh

$$V = \{a, b, c, d, e, f\}$$

và tập chín cạnh

$$E = \{[a,b,7],[a,c,9],[a,f,14],[b,d,15],[b,c,10],[c,d
  • Đường dẫn
    Đường đi trong đồ thị là dãy các đỉnh nối với nhau bằng các cạnh. Chúng ta thường định nghĩa một đường dẫn là $w_1, w_2,. , w_n$ sao cho $[w_i, w_{i+1}] \in E$ với mọi $1 \le i \le n-1$. Độ dài đường dẫn không trọng số là số cạnh trong đường dẫn $[n-1]$. Độ dài đường dẫn có trọng số là tổng trọng số của tất cả các cạnh trong đường dẫn. Ví dụ ở hình trên, đường đi từ $a$ đến $e$ là dãy các đỉnh $[a, c, d, e]$. Các cạnh là $\{[a, c, 9], [c, d, 11], [d, e, 6]\}$
  • Xe đạp
    Chu trình trong đồ thị có hướng là đường đi bắt đầu và kết thúc tại cùng một đỉnh. Đồ thị không có chu trình gọi là đồ thị tuần hoàn. Đồ thị có hướng không có chu trình được gọi là đồ thị có hướng theo chu trình hoặc DAG
  • Trong mã, chúng tôi tạo hai lớp. Biểu đồ, chứa danh sách chính của các đỉnh và Vertex, biểu thị từng đỉnh trong biểu đồ

    class Vertex:
        def __init__[self, node]:
            self.id = node
            self.adjacent = {}
    
        def __str__[self]:
            return str[self.id] + ' adjacent: ' + str[[x.id for x in self.adjacent]]
    
        def add_neighbor[self, neighbor, weight=0]:
            self.adjacent[neighbor] = weight
    
        def get_connections[self]:
            return self.adjacent.keys[]  
    
        def get_id[self]:
            return self.id
    
        def get_weight[self, neighbor]:
            return self.adjacent[neighbor]
    
    class Graph:
        def __init__[self]:
            self.vert_dict = {}
            self.num_vertices = 0
    
        def __iter__[self]:
            return iter[self.vert_dict.values[]]
    
        def add_vertex[self, node]:
            self.num_vertices = self.num_vertices + 1
            new_vertex = Vertex[node]
            self.vert_dict[node] = new_vertex
            return new_vertex
    
        def get_vertex[self, n]:
            if n in self.vert_dict:
                return self.vert_dict[n]
            else:
                return None
    
        def add_edge[self, frm, to, cost = 0]:
            if frm not in self.vert_dict:
                self.add_vertex[frm]
            if to not in self.vert_dict:
                self.add_vertex[to]
    
            self.vert_dict[frm].add_neighbor[self.vert_dict[to], cost]
            self.vert_dict[to].add_neighbor[self.vert_dict[frm], cost]
    
        def get_vertices[self]:
            return self.vert_dict.keys[]
    
    if __name__ == '__main__':
    
        g = Graph[]
    
        g.add_vertex['a']
        g.add_vertex['b']
        g.add_vertex['c']
        g.add_vertex['d']
        g.add_vertex['e']
        g.add_vertex['f']
    
        g.add_edge['a', 'b', 7]  
        g.add_edge['a', 'c', 9]
        g.add_edge['a', 'f', 14]
        g.add_edge['b', 'c', 10]
        g.add_edge['b', 'd', 15]
        g.add_edge['c', 'd', 11]
        g.add_edge['c', 'f', 2]
        g.add_edge['d', 'e', 6]
        g.add_edge['e', 'f', 9]
    
        for v in g:
            for w in v.get_connections[]:
                vid = v.get_id[]
                wid = w.get_id[]
                print '[ %s , %s, %3d]'  % [ vid, wid, v.get_weight[w]]
    
        for v in g:
            print 'g.vert_dict[%s]=%s' %[v.get_id[], g.vert_dict[v.get_id[]]]
    

    Lớp Vertex sử dụng một từ điển [liền kề] để theo dõi các đỉnh mà nó được kết nối và trọng số của mỗi cạnh. Hàm tạo Vertex khởi tạo id, thường là một chuỗi và từ điển liền kề. Phương thức add_neighbor[] được sử dụng để thêm kết nối từ đỉnh này sang đỉnh khác. Phương thức get_connections[] trả về tất cả các đỉnh trong danh sách kề. Phương thức get_weight[] trả về trọng số của cạnh từ đỉnh này đến đỉnh được truyền dưới dạng tham số

    Lớp Graph chứa một từ điển [vert-dict] ánh xạ tên đỉnh tới các đối tượng đỉnh và chúng ta có thể thấy đầu ra bằng phương thức __str__[] của lớp Vertex

    g.vert_dict[a]=a adjacent: ['f', 'c', 'b']
    

    Đồ thị cũng cung cấp các phương thức để thêm các đỉnh vào biểu đồ và kết nối đỉnh này với đỉnh khác. Phương thức get_vertices[] trả về tên của tất cả các đỉnh trong biểu đồ. Ngoài ra, chúng ta có phương thức __iter__[] để dễ dàng lặp lại tất cả các đối tượng đỉnh trong một biểu đồ cụ thể. Cùng với nhau, hai phương thức cho phép chúng ta lặp qua các đỉnh trong biểu đồ theo tên hoặc theo chính các đối tượng

    Trong hàm main[], chúng tôi đã tạo sáu đỉnh có tên là 'a' đến 'f'. Sau đó, chúng tôi hiển thị từ điển đỉnh. Lưu ý rằng đối với mỗi khóa 'a' đến 'f', chúng tôi đã tạo một phiên bản của Vertex. Tiếp theo, chúng ta thêm các cạnh nối các đỉnh lại với nhau. Cuối cùng, một vòng lặp lồng nhau xác minh rằng mỗi cạnh trong biểu đồ được lưu trữ đúng cách

    Biểu đồ trong lập trình là gì?

    Đồ thị là cấu trúc dữ liệu phi tuyến tính bao gồm các đỉnh và cạnh . Các đỉnh đôi khi còn được gọi là các nút và các cạnh là các đường hoặc cung nối hai nút bất kỳ trong biểu đồ. Chính thức hơn, Đồ thị bao gồm một tập hợp các đỉnh [ V ] và một tập hợp các cạnh [ E ]. Đồ thị được ký hiệu là G[E,V].

    Biểu đồ được biểu diễn bằng Python như thế nào?

    Trong Python, chúng ta có thể biểu diễn các đồ thị như thế này bằng mảng hai chiều. Và một mảng hai chiều có thể đạt được trong Python bằng cách tạo một danh sách các danh sách. Các chỉ số của danh sách sẽ đại diện cho các nút. Vì vậy, nếu chúng ta muốn tạo một biểu đồ có 5 nút, chúng ta sẽ biểu diễn các nút từ 0 đến 4

    giải thích đồ thị là gì?

    Một đồ thị được xác định là cấu trúc toán học biểu diễn một hàm cụ thể bằng cách kết nối một tập hợp các điểm . Nó được sử dụng để tạo mối quan hệ theo cặp giữa các đối tượng. Đồ thị được tạo thành từ các đỉnh [nút] được kết nối bởi các cạnh [đường].

    Các loại biểu đồ trong Python là gì?

    Các ô khác .
    'bar' hoặc 'barh' cho ô thanh
    'hist' cho biểu đồ
    'hộp' cho boxplot
    'kde' hoặc 'mật độ' cho biểu đồ mật độ
    'khu vực' cho các ô diện tích
    'phân tán' cho các ô phân tán
    'hexbin' cho ô lục giác
    'chiếc bánh' cho lô bánh

    Chủ Đề