Python có thể được sử dụng để tạo biểu đồ không?

Nếu bạn chưa làm như vậy, hãy cài đặt gói Matplotlib trong Python bằng lệnh bên dưới [trong Windows]

pip install matplotlib

Bạn có thể tham khảo hướng dẫn sau để biết hướng dẫn cài đặt gói trong Python

Bước 2. Thu thập dữ liệu cho biểu đồ thanh

Tiếp theo, thu thập dữ liệu cho biểu đồ thanh của bạn

Đối với mục đích minh họa, hãy sử dụng tập dữ liệu sau

quốc giagdp_per_capitaA45000B42000C52000D49000E47000

Mục tiêu cuối cùng là mô tả dữ liệu trên bằng biểu đồ thanh

Bước 3. Nắm bắt dữ liệu trong Python

Đối với bước này, hãy chụp tập dữ liệu trên bằng Python. Bạn có thể nắm bắt tập dữ liệu này bằng cách sử dụng danh sách

country = ['A', 'B', 'C', 'D', 'E']
gdp_per_capita = [45000, 42000, 52000, 49000, 47000]

Bước 4. Tạo biểu đồ thanh trong Python bằng Matplotlib

Cuối cùng, bạn có thể sử dụng mẫu dưới đây để hỗ trợ bạn mô tả biểu đồ thanh

import matplotlib.pyplot as plt

x_axis = ['value_1', 'value_2', 'value_3', ...]
y_axis = ['value_1', 'value_2', 'value_3', ...]

plt.bar[x_axis, y_axis]
plt.title['title name']
plt.xlabel['x_axis name']
plt.ylabel['y_axis name']
plt.show[]

Ví dụ của chúng tôi, mã Python hoàn chỉnh sẽ như sau

import matplotlib.pyplot as plt
   
country = ['A', 'B', 'C', 'D', 'E']
gdp_per_capita = [45000, 42000, 52000, 49000, 47000]

plt.bar[country, gdp_per_capita]
plt.title['Country Vs GDP Per Capita']
plt.xlabel['Country']
plt.ylabel['GDP Per Capita']
plt.show[]

Chạy mã và bạn sẽ nhận được biểu đồ thanh

Bạn có thể tạo kiểu thêm cho biểu đồ thanh bằng mã này

import matplotlib.pyplot as plt
   
country = ['A', 'B', 'C', 'D', 'E']
gdp_per_capita = [45000, 42000, 52000, 49000, 47000]

colors = ['green', 'blue', 'purple', 'brown', 'teal']
plt.bar[country, gdp_per_capita, color=colors]
plt.title['Country Vs GDP Per Capita', fontsize=14]
plt.xlabel['Country', fontsize=14]
plt.ylabel['GDP Per Capita', fontsize=14]
plt.grid[True]
plt.show[]

Bây giờ, bạn sẽ có một biểu đồ thanh được tạo kiểu, trong đó mỗi quốc gia được thể hiện bằng một màu khác nhau

Tạo biểu đồ thanh bằng Python với Pandas DataFrame

Cho đến giờ, bạn đã biết cách tạo biểu đồ thanh bằng cách sử dụng danh sách

Ngoài ra, bạn có thể chụp tập dữ liệu trong Python bằng Pandas DataFrame, sau đó vẽ biểu đồ của bạn

Có nhiều tài liệu về thuật toán đồ thị, là một phần quan trọng của toán học rời rạc. Đồ thị cũng có nhiều ứng dụng thực tế trong các thuật toán máy tính. Có thể tìm thấy các ví dụ rõ ràng trong việc quản lý mạng, nhưng có rất nhiều ví dụ trong nhiều lĩnh vực khác. Chẳng hạn, mối quan hệ giữa người gọi và người gọi trong chương trình máy tính có thể được xem dưới dạng biểu đồ [trong đó các chu kỳ biểu thị đệ quy và các nút không thể truy cập biểu thị mã chết]

Rất ít ngôn ngữ lập trình cung cấp hỗ trợ trực tiếp cho biểu đồ dưới dạng kiểu dữ liệu và Python cũng không ngoại lệ. Tuy nhiên, đồ thị dễ dàng được xây dựng từ danh sách và từ điển. Chẳng hạn, đây là một biểu đồ đơn giản [tôi không thể sử dụng hình vẽ trong các cột này, vì vậy tôi viết ra các cung của biểu đồ]

    A -> B
    A -> C
    B -> C
    B -> D
    C -> D
    D -> C
    E -> F
    F -> C
Đồ thị này có sáu nút [A-F] và tám cung. Nó có thể được biểu diễn bằng cấu trúc dữ liệu Python sau.
    graph = {'A': ['B', 'C'],
             'B': ['C', 'D'],
             'C': ['D'],
             'D': ['C'],
             'E': ['F'],
             'F': ['C']}
Đây là một cuốn từ điển có khóa là các nút của biểu đồ. Với mỗi khóa, giá trị tương ứng là danh sách chứa các nút được nối với nhau bằng một cung trực tiếp từ nút này. Điều này càng đơn giản càng tốt [thậm chí còn đơn giản hơn, các nút có thể được biểu thị bằng số thay vì tên, nhưng tên thuận tiện hơn và có thể dễ dàng tạo ra để mang nhiều thông tin hơn, chẳng hạn như tên thành phố]

Hãy viết một hàm đơn giản để xác định đường đi giữa hai nút. Nó lấy một biểu đồ và các nút bắt đầu và kết thúc làm đối số. Nó sẽ trả về một danh sách các nút [bao gồm cả nút bắt đầu và nút kết thúc] bao gồm đường dẫn. Khi không tìm thấy đường dẫn, nó trả về Không có. Nút tương tự sẽ không xảy ra nhiều lần trên đường dẫn được trả về [i. e. nó sẽ không chứa chu kỳ]. Thuật toán sử dụng một kỹ thuật quan trọng được gọi là quay lui. nó lần lượt thử từng khả năng cho đến khi tìm ra giải pháp

    def find_path[graph, start, end, path=[]]:
        path = path + [start]
        if start == end:
            return path
        if not graph.has_key[start]:
            return None
        for node in graph[start]:
            if node not in path:
                newpath = find_path[graph, node, end, path]
                if newpath: return newpath
        return None
Một lần chạy mẫu [sử dụng biểu đồ ở trên].
    >>> find_path[graph, 'A', 'D']
    ['A', 'B', 'C', 'D']
    >>>
Câu lệnh 'nếu' thứ hai chỉ cần thiết trong trường hợp có các nút được liệt kê là điểm cuối của các cung nhưng bản thân chúng không có các cung đi ra và hoàn toàn không được liệt kê trong biểu đồ. Các nút như vậy cũng có thể được chứa trong biểu đồ, với một danh sách trống các cung đi ra, nhưng đôi khi sẽ thuận tiện hơn nếu không yêu cầu điều này

Lưu ý rằng trong khi người dùng gọi

    A -> B
    A -> C
    B -> C
    B -> D
    C -> D
    D -> C
    E -> F
    F -> C
2 với ba đối số, nó sẽ gọi chính nó bằng đối số thứ tư. con đường đã đi qua. Giá trị mặc định cho đối số này là danh sách trống, '[]', nghĩa là chưa có nút nào được duyệt qua. Đối số này được sử dụng để tránh các chu kỳ ['if' đầu tiên bên trong vòng lặp 'for']. Đối số 'đường dẫn' không được sửa đổi. phép gán "path = path + [start]" tạo một danh sách mới. Nếu chúng ta đã viết "con đường. append[start]" thay vào đó, chúng tôi sẽ sửa đổi biến 'đường dẫn' trong trình gọi, với kết quả thảm hại. [Sử dụng các bộ dữ liệu, chúng ta có thể chắc chắn rằng điều này sẽ không xảy ra, với cái giá phải trả là phải viết "path = path + [start,]" vì "[start]" không phải là một bộ dữ liệu đơn -- nó chỉ là một bộ trong ngoặc đơn . ]

Thật đơn giản để thay đổi chức năng này để trả về danh sách tất cả các đường dẫn [không có chu trình] thay vì đường dẫn đầu tiên mà nó tìm thấy

country = ['A', 'B', 'C', 'D', 'E']
gdp_per_capita = [45000, 42000, 52000, 49000, 47000]
0A chạy mẫu.
country = ['A', 'B', 'C', 'D', 'E']
gdp_per_capita = [45000, 42000, 52000, 49000, 47000]
1Một biến thể khác tìm đường đi ngắn nhất.
country = ['A', 'B', 'C', 'D', 'E']
gdp_per_capita = [45000, 42000, 52000, 49000, 47000]
2Chạy mẫu.
country = ['A', 'B', 'C', 'D', 'E']
gdp_per_capita = [45000, 42000, 52000, 49000, 47000]
3Các chức năng này đơn giản như chúng nhận được. Tuy nhiên, chúng gần như tối ưu [đối với mã được viết bằng Python]. Trong một cột Mẫu Python khác, tôi sẽ cố gắng phân tích tốc độ chạy của chúng và cải thiện hiệu suất của chúng, với chi phí là nhiều mã hơn

CẬP NHẬT. Eryk Kopczyński đã chỉ ra rằng các chức năng này không tối ưu. Ngược lại, "chương trình này chạy theo thời gian hàm mũ, trong khi find_shortest_path có thể được thực hiện trong thời gian tuyến tính bằng cách sử dụng BFS [Tìm kiếm theo chiều rộng đầu tiên]. Hơn nữa, một BFS tuyến tính đơn giản hơn. "

country = ['A', 'B', 'C', 'D', 'E']
gdp_per_capita = [45000, 42000, 52000, 49000, 47000]
4Lưu ý rằng điều này trả về đường dẫn ở định dạng lạ, e. g. ,
    A -> B
    A -> C
    B -> C
    B -> D
    C -> D
    D -> C
    E -> F
    F -> C
4. Cụ thể,
    A -> B
    A -> C
    B -> C
    B -> D
    C -> D
    D -> C
    E -> F
    F -> C
5 sẽ đưa ra câu trả lời sai [2, vì danh sách bên ngoài có độ dài 2]. Điều này là do việc thêm vào được thực hiện dưới dạng
    A -> B
    A -> C
    B -> C
    B -> D
    C -> D
    D -> C
    E -> F
    F -> C
6 thay vì
    A -> B
    A -> C
    B -> C
    B -> D
    C -> D
    D -> C
    E -> F
    F -> C
7. Phương pháp thứ hai sẽ sử dụng thời gian bậc hai và bộ nhớ, nhưng vẫn ổn đối với các đồ thị tương đối nhỏ;

Một biến thể khác là thêm nhiều dữ liệu trừu tượng hơn. tạo một lớp để biểu diễn các biểu đồ, có các phương thức thực hiện các thuật toán khác nhau. Mặc dù điều này thu hút mong muốn lập trình có cấu trúc, nhưng nó không làm cho mã hiệu quả hơn [ngược lại]. Việc thêm các nhãn khác nhau vào các nút hoặc cung và thêm các thuật toán tính đến các nhãn đó giúp dễ dàng hơn [e. g. để tìm con đường ngắn nhất giữa hai thành phố trên bản đồ]. Đây cũng sẽ là chủ đề của một chuyên mục khác

Python có tốt cho việc vẽ đồ thị không?

Thư viện đồ thị Python của Plotly giúp dễ dàng tạo các đồ thị tương tác, chất lượng xuất bản . Nó cũng có thể tạo các biểu đồ tương tự như Matplotlib và seaborn như biểu đồ đường, biểu đồ phân tán, biểu đồ vùng, biểu đồ thanh, v.v.

Làm cách nào để vẽ biểu đồ bằng Python?

Các bước sau đã được thực hiện. .
Xác định các giá trị trục x và trục y tương ứng dưới dạng danh sách
Vẽ chúng trên canvas bằng cách sử dụng. hàm lô []
Đặt tên cho trục x và trục y bằng cách sử dụng. xlabel[] và. các hàm ylabel[]
Đặt tiêu đề cho cốt truyện của bạn bằng cách sử dụng. chức năng tiêu đề []
Cuối cùng, để xem cốt truyện của bạn, chúng tôi sử dụng. chức năng hiển thị []

Python có thể được sử dụng để trực quan hóa dữ liệu không?

Python cung cấp nhiều thư viện đi kèm với các tính năng khác nhau để trực quan hóa dữ liệu. Tất cả các thư viện này đều có các tính năng khác nhau và có thể hỗ trợ nhiều loại biểu đồ khác nhau

Làm cách nào để tạo biểu đồ trong Python?

Các bước để tạo biểu đồ thanh trong Python bằng Matplotlib .
Bước 1. Cài đặt gói Matplotlib. .
Bước 2. Thu thập dữ liệu cho biểu đồ thanh. .
Bước 3. Nắm bắt dữ liệu trong Python. .
Bước 4. Tạo biểu đồ thanh trong Python bằng Matplotlib

Chủ Đề