Giới thiệu về Matplotlib sử dụng Python cho người mới bắt đầu

Nút nguồn: 1172034

Bài báo này đã được xuất bản như một phần của Blogathon Khoa học Dữ liệu

Nếu bạn quan tâm đến phân tích dữ liệu hoặc trực quan hóa dữ liệu, bạn đang ở đúng nơi để bắt đầu. Vì vậy, hãy bắt đầu với phần giới thiệu đơn giản về, Trực quan hóa dữ liệu đó là quá trình dịch các số, văn bản hoặc tập dữ liệu lớn thành nhiều loại biểu đồ khác nhau như biểu đồ, bản đồ, biểu đồ thanh, biểu đồ hình tròn, v.v. Để trực quan hóa, chúng ta cần một số công cụ hoặc công nghệ. Matplotlib là một trong những thư viện mạnh nhất trong python để trực quan hóa dữ liệu. Trong bài viết này, tôi sẽ giải thích cho bạn cách bạn có thể trực quan hóa các loại đồ thị và biểu đồ khác nhau để giải thích dữ liệu của mình cho ai đó một cách dễ dàng.

Trong bài viết này, chúng tôi sẽ thảo luận về những điều sau đây:

  1. của DINTEK
  2. Các loại lô đất quan trọng

Hãy bắt đầu với một giới thiệu nhỏ về Matplotlib. Matplotlib là thư viện trực quan hóa hoặc vẽ sơ đồ cơ bản của ngôn ngữ lập trình python. Matplotlib là một công cụ mạnh mẽ để thực hiện nhiều nhiệm vụ khác nhau. Nó có thể tạo các loại báo cáo trực quan khác nhau như biểu đồ đường, biểu đồ phân tán, biểu đồ, biểu đồ thanh, biểu đồ hình tròn, biểu đồ hộp và nhiều biểu đồ khác nhau. Thư viện này cũng hỗ trợ vẽ đồ thị 3 chiều.

Cài đặt Matplotlib

Hãy kiểm tra cách thiết lập Matplotlib trong Google-Colab. Colab Notebook tương tự như Jupyter Notebook ngoại trừ việc chúng chạy trên đám mây. Nó cũng được kết nối với Google Drive của chúng tôi để giúp truy cập sổ ghi chép Colab của chúng tôi mọi lúc, mọi nơi và trên mọi hệ thống dễ dàng hơn nhiều. Bạn có thể cài đặt Matplotlib bằng cách sử dụng PIP chỉ huy.

!pip cài đặt matplotlib
Sử dụng pip để cài đặt Matplotlib
Nguồn: Địa phương

Để xác minh cài đặt, bạn sẽ phải viết đoạn mã sau:

nhập bản in matplotlib (matplotlib.__version__)
In phiên bản Matplotlib
Nguồn: Địa phương

Các loại ô quan trọng trong Matplotlib

Bây giờ bạn biết những gì là Matplotlib và cách bạn có thể cài đặt nó trong hệ thống của mình, hãy thảo luận về các loại biểu đồ khác nhau mà bạn có thể vẽ để phân tích dữ liệu hoặc để trình bày những phát hiện của mình.

Lô phụ-

Subplots() là một Matplotlib chức năng được sử dụng để hiển thị nhiều đồ thị trong một hình. Nó nhận nhiều đối số khác nhau, chẳng hạn như một số hàng, cột hoặc trục chia sẻ, chia sẻ.

Mã Code:

# Đầu tiên tạo một lưới các ô
fig, ax = plt.subplots(2,2,figsize=(10,6)) #this sẽ tạo các ô con có 2 hàng và 2 cột 
#và đối số thứ hai là kích thước của cốt truyện 
# Cho phép vẽ tất cả các số liệu 
ax[0][0].plot(x1, np.sin(x1), 'g') #row=0,col=0 
ax[0][1].plot(x1, np.cos(x1), 'y') #hàng=0,col=1 ax[1][0].plot(x1, np.sin(x1), 'b') #row=1,col=0 ax[1][1].plot(x1, np.cos(x1), 'đỏ') #row=1,col=1 plt.strict_layout() 
#hiển thị lô đất
plt.show ()
Các ô con trong matplotlib
Nguồn: Địa phương

Bây giờ hãy kiểm tra các loại ô khác nhau mà Matplotlib cung cấp.

  • Sơ đồ dòng
  • Histogram
  • Biểu đồ
  • Biểu đồ phân tán
  • Biểu đồ hình tròn
  • ô hộp

Hầu hết thời gian chúng ta phải làm việc với Pyplot như một giao diện của Matplotlib. Vì vậy, chúng tôi nhập Pyplot như thế này:

import matplotlib.pyplot

Để làm cho mọi thứ dễ dàng hơn, chúng ta có thể nhập nó như thế này:

nhập matplotlib.pyplot dưới dạng plt 

Sơ đồ đường-

Biểu đồ đường được sử dụng để xem mối quan hệ giữa trục x và trục y.

Hàm plot() trong Matplotlib mô-đun Pyplot của thư viện được sử dụng để tạo biểu đồ lục giác 2D có tọa độ x và y. plot() sẽ có nhiều đối số khác nhau như cốt truyện (x, y, scalex, scaley, data, **kwargs).

x, y là tọa độ của trục ngang và trục dọc trong đó giá trị x là tùy chọn và giá trị mặc định của nó là phạm vi (len (y)).

vảy, vảy tham số được sử dụng để tự động chia tỷ lệ trục x hoặc trục y và giá trị mặc định của nó là đúng.

** kwargs được sử dụng để chỉ định thuộc tính như nhãn dòng, băng thông, điểm đánh dấu, màu, v.v.

Mã Code:

# dòng này sẽ tạo mảng các số từ 1 đến 10 có độ dài 100 
#np.linspace(satrt,stop,num) 
x1 = np.linspace(0, 10, 100) #line cốt truyện 
plt.plot(x1, np.sin(x1), '-',color='orange') 
plt.plot(x1, np.cos(x1), '--',color='b')
#đặt tên cho trục x và y 
plt.xlabel('nhãn x')
plt.ylabel('nhãn y') 
# cũng đưa ra tiêu đề của cốt truyện 
plt.title("Tiêu đề") 
plt.show () 
Kẻ vạch trong matplotlib
Nguồn: Địa phương

Biểu đồ-

Biểu đồ phổ biến nhất để hiển thị phân phối tần số là biểu đồ. Để tạo một biểu đồ, bước đầu tiên là tạo một thùng các phạm vi, sau đó phân phối toàn bộ phạm vi giá trị thành một loạt các khoảng và đếm giá trị sẽ rơi vào khoảng đã cho. chúng ta có thể sử dụng plt.hist() chức năng để vẽ biểu đồ sẽ nhận các đối số khác nhau như dữ liệu, thùng, màu, v.v.

x: tọa độ x hoặc trình tự của mảng

thùng: giá trị số nguyên cho số thùng mong muốn trong biểu đồ

phạm vi: phạm vi thùng dưới và trên

tỉ trọng: tham số tùy chọn có chứa giá trị boolean

kiểu mẫu: tham số tùy chọn được sử dụng để tạo các loại biểu đồ khác nhau như: -bar, thanh xếp chồng lên nhau, bước, bước được lấp đầy và mặc định là một thanh

Mã Code:

#draw các mẫu ngẫu nhiên từ các bản phân phối ngẫu nhiên. x = np.random.normal(170, 10, 250) #plot biểu đồ plt.hist(x) plt.show()
Biểu đồ trong matplotlib
Nguồn: Địa phương

Âm mưu quán bar-

Chủ yếu barplot được sử dụng để hiển thị mối quan hệ giữa các giá trị số và phân loại. Trong biểu đồ thanh, chúng ta có một trục biểu thị một danh mục cụ thể của các cột và một trục khác biểu thị các giá trị hoặc số lượng của danh mục cụ thể. Barcharts được vẽ theo cả chiều dọc và chiều ngang và được vẽ bằng cách sử dụng dòng mã sau:

plt.bar(x,chiều cao,chiều rộng,đáy,căn chỉnh)

x: biểu diễn tọa độ của trục x

Chiều cao: chiều cao của các thanh

chiều rộng: chiều rộng của các thanh. Giá trị mặc định của nó là 0.8

phía dưới: Nó là tùy chọn. Nó là tọa độ y của thanh, giá trị mặc định của nó là Không có

căn chỉnh: trung tâm, cạnh giá trị mặc định của nó là trung tâm

Mã Code:

#define dữ liệu mảng = [5. , 25. , 50. , 20.] plt.bar(range(len(data)), data,color='c') plt.show()
Barplot trong Matplotlib
Nguồn: Địa phương

Âm mưu phân tán-

Biểu đồ phân tán được sử dụng để hiển thị mối quan hệ giữa các biến và sử dụng các dấu chấm để vẽ biểu đồ hoặc nó được sử dụng để hiển thị mối quan hệ giữa hai biến số.

Sản phẩm tiêu tan() phương pháp trong Matplotlib thư viện được sử dụng để vẽ đồ thị.

Mã Code:

#tạo tọa độ trục x và y 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 ,XNUMX]) plt.scatter(x, y) plt.legend() plt.show()
Âm mưu phân tán trong Matplotlib
Nguồn: Địa phương

Biểu đồ tròn-

Biểu đồ hình tròn (hoặc biểu đồ hình tròn) được sử dụng để hiển thị tỷ lệ phần trăm của toàn bộ. Do đó, nó được sử dụng khi chúng ta muốn so sánh các danh mục riêng lẻ với tổng thể. Bánh() sẽ lấy các tham số khác nhau như:

x: Trình tự của một mảng

nhãn: Danh sách các chuỗi sẽ là tên của mỗi lát cắt trong biểu đồ hình tròn

Số tự động: Nó được sử dụng để dán nhãn các nêm bằng các giá trị số. Các nhãn sẽ được đặt bên trong các nêm. Định dạng của nó là %1.2f%

Mã Code:

#xác định kích thước hình plt.figure(figsize=(7,7)) x = [25,30,45,10] #nhãn của biểu đồ hình tròn tags = ['A','B','C',' D'] plt.pie(x, nhãn=nhãn) plt.show()
Biểu đồ tròn trong matplotlib
Nguồn: Địa phương

Lô hộp-

Biểu đồ Hộp được sử dụng để hiển thị tóm tắt của toàn bộ tập dữ liệu hoặc tất cả các giá trị số trong tập dữ liệu. Tóm tắt chứa tối thiểu, phần tư thứ nhất, trung bình, phần tư thứ ba và tối đa. Ngoài ra, trung bình có mặt giữa phần tư thứ nhất và thứ ba. Ở đây trục x chứa các giá trị dữ liệu và tọa độ y hiển thị phân bố tần suất.

Các thông số được sử dụng trong các ô hộp như sau:

dữ liệu: Mảng NumPy

đỉnh: Nó sẽ nhận các giá trị boolean tức là true hoặc false cho ô dọc và ngang mặc định là True

chiều rộng: Điều này sẽ lấy mảng và tập hợp chiều rộng của hộp, Tham số tùy chọn

Patch_artist: Nó được sử dụng để tô màu cho các ô và giá trị mặc định của nó là sai

nhãn: Mảng các chuỗi được sử dụng để đặt nhãn của tập dữ liệu

Mã Code:

#tạo các giá trị ngẫu nhiên bằng cách sử dụng numpy values= np.random.normal(100, 20, 300) #tạo biểu đồ bằng hàm boxplot() có sẵn trong matplotlib plt.boxplot(values,patch_artist=True,vert=True) plt.show()
Boxplot trong matplotlib
Nguồn: Địa phương

Biểu đồ khu vực-

Biểu đồ diện tích hoặc biểu đồ diện tích được sử dụng để trực quan hóa dữ liệu định lượng bằng đồ họa dựa trên biểu đồ đường. điền_giữa() chức năng được sử dụng để vẽ biểu đồ khu vực.

Thông số:

x, y đại diện cho tọa độ x và y của cốt truyện. Điều này sẽ lấy một mảng có độ dài n.

Nội suy là một giá trị boolean và là tùy chọn. Nếu đúng, hãy nội suy giữa hai đường thẳng để tìm điểm giao nhau chính xác.

** kwargs: alpha, màu sắc, màu sắc, màu sắc cạnh, độ rộng đường truyền.

Mã Code:

nhập numpy dưới dạng np nhập gấu trúc dưới dạng pd nhập matplotlib.pyplot dưới dạng plt y = [2, 7, 14, 17, 20, 27, 30, 38, 25, 18, 6, 1] #plot dòng của dữ liệu đã cho plt .plot(np.arange(12),y, color="blue", alpha=0.6, linewidth=2) #decorate thw plot bằng cách đặt nhãn plt.xlabel('Month', size=12) plt.ylabel( 'Doanh thu(Cr.)', size=12) #đặt trục y bắt đầu bằng 0 plt.ylim(bottom=XNUMX) plt.show()
Biểu đồ khu vực
Nguồn: Địa phương

Điền vào khu vực trong biểu đồ đường bằng cách sử dụng fill_between() cho biểu đồ khu vực.

plt.fill_between(np.arange(12), doanh thu, màu="teal", alpha=0.4)
Lấp đầy khu vực trong biểu đồ đường bằng cách sử dụng fill_between()
Nguồn: Địa phương

Lời đám mây-

Wordcloud là biểu diễn trực quan của dữ liệu văn bản. Các từ thường là đơn lẻ và tầm quan trọng của mỗi từ được hiển thị bằng cỡ chữ hoặc màu sắc. Các đám mây từ() chức năng được sử dụng để tạo đám mây từ trong python.

Sản phẩm đám mây từ() sẽ có nhiều đối số như:

chiều rộng: đặt chiều rộng của canvas .default 400

Chiều cao: đặt chiều cao của canvas .default 400

max_words: số từ được phép, giá trị mặc định của nó là 200.

màu nền: màu nền cho hình ảnh đám mây từ. Màu mặc định là màu đen.

Khi đối tượng đám mây từ được tạo, bạn có thể gọi hàm tạo để tạo đám mây từ và truyền dữ liệu văn bản.

Mã Code:

# nhập các thư viện từ wordcloud nhập WordCloud nhập matplotlib.pyplot dưới dạng plt từ PIL nhập Hình ảnh numpy dưới dạng np #đặt kích thước hình . plt.figure(figsize=(10,15)) #dummy văn bản. text = '''Nulla laoreet bibendum purus, vitae sollicitudin sapien facilisis at.
 Donec erat diam, faucibus pulvinar eleifend vitae, vulputate quis ipsum.
 Maecenas luctus odio turpis, nec dignissim dolor aliquet id.
 Mauris eu semper risus, ut volutpat mi. Vivamus ut pelentesque sapien.
 Etiam fringilla tincidunt lectus sed interdum. Đây là thời đại có tính chất cao quý.
 Curabitur placerat massa nisl, quis tristique ante mattis vitae.
 Ut volutpat augue non semper finibus. Nullam commodo dolor sit amet purus auctor mattis.
 Bạn không có ý định làm điều đó. Ut venenatis sollicitudin est eget gradida.
 Bạn cần phải thực hiện một điều tối hậu. Maecenas dapibus eu odio id hendrerit.
 Quisque eu velit hendrerit, commodo magna euismod, luctus Nunc.
 Proin vel augue cursus, placerat urna aliquet, do đó nisl.
 Duis vulputate turpis a faucibus porta. Etiam nhạt nhẽo tra tấn vitae dui vestibulum viverra.
 Phasellus tại porta elit. Duis vel ligula consectetur, pulvinar nisl vel, lobortis ex.'''
wordcloud = WordCloud( margin=0,colormap='BuPu').generate(text) #imshow() hàm trong mô-đun pyplot của thư viện matplotlib được sử dụng để hiển thị dữ liệu dưới dạng hình ảnh. plt.imshow(wordcloud, nội suy='bilinear') plt.axis('off') plt.margins(x=0, y=0) plt.show()
Đám mây từ
Nguồn: Địa phương

Đồ thị 3-D-

Bây giờ bạn đã thấy một số đồ thị đơn giản, đã đến lúc kiểm tra một số đồ thị phức tạp, tức là đồ thị 3-D. Ban đầu, Matplotlib được xây dựng cho đồ thị 2 chiều nhưng sau đó, đồ thị 3D đã được thêm vào. Hãy xem cách bạn có thể vẽ biểu đồ 3-D trong Matplotlib.

Mã Code:

từ mpl_toolkits nhập mplot3d
%matplotlib inline import numpy as np import matplotlib.pyplot as plt
fig = plt.figure() ax = plt.axes(projection='3d')

Đoạn mã trên được sử dụng để tạo các trục 3 chiều.

Đồ thị 3-D trong Matplotlib
Nguồn: Địa phương

Mỗi và mọi biểu đồ mà chúng ta đã thấy trong biểu đồ 2-D thông qua Matplotlib cũng có thể được vẽ dưới dạng biểu đồ 3-D. Chẳng hạn, hãy kiểm tra một biểu đồ đường thẳng trong mặt phẳng 3-D.

ax = plt.axes(projection='3d') # Dữ liệu cho đường ba chiều zline = np.linspace(0, 15, 1000) xline = np.sin(zline) yline = np.cos(zline) ax. plot3D(xline, yline, zline, 'grey') # Dữ liệu cho các điểm phân tán ba chiều zdata = 15 * np.random.random(100) xdata = np.sin(zdata) + 0.1 * np.random.randn(100 ) ydata = np.cos(zdata) + 0.1 * np.random.randn(100) ax.scatter3D(xdata, ydata, zdata, c=zdata, cmap='Greens');
Biểu đồ phân tán 3D
Nguồn: Địa phương

tất cả các loại biểu đồ khác có thể được vẽ theo cùng một cách. Một biểu đồ đặc biệt mà Matplotlib 3-D cung cấp là Biểu đồ đường viền. Bạn có thể vẽ một biểu đồ đường viền bằng liên kết sau:

fig = plt.figure() ax = plt.axes(projection='3d') ax.plot_wireframe(X, Y, Z, color='black') ax.set_title('wireframe');
Biểu đồ đường viền trong Matplotlib
Nguồn: Địa phương

Để hiểu tất cả các loại cốt truyện được đề cập, bạn có thể tham khảo phần sau - https://www.youtube.com/watch?v=yZTBMMdPOww

Kết luận

Trong bài viết này, chúng tôi đã thảo luận Matplotlib tức là thư viện vẽ sơ đồ cơ bản trong python và thông tin cơ bản về các loại biểu đồ khác nhau để phân tích thống kê thường được sử dụng. Ngoài ra, chúng ta đã thảo luận cách vẽ nhiều ô trong một hình bằng cách sử dụng hàm subplot.

Cũng tại đây, chúng ta đã thảo luận cách tùy chỉnh hình hoặc cách thay đổi kích thước và cả cách trang trí các ô bằng cách sử dụng các đối số khác nhau. Vì bây giờ bạn đã biết kiến ​​thức cơ bản về vẽ đồ thị và vẽ biểu đồ nên bạn có thể thử vẽ đồ thị các tập dữ liệu và hàm toán học khác nhau.

Với tư cách là Chuyên gia dữ liệu (bao gồm Nhà phân tích dữ liệu, Nhà khoa học dữ liệu, Kỹ sư ML, Kỹ sư DL), tại một số thời điểm, tất cả họ cần trực quan hóa dữ liệu và trình bày các phát hiện, vậy đâu sẽ là lựa chọn tốt hơn thế này và bây giờ bạn biết công nghệ này, bạn sẽ là hơi tự tin vào ngành.

Cảm ơn đã đọc bài viết, hãy chia sẻ bài viết nếu bạn thấy hay nhé!

Phương tiện hiển thị trong bài viết này không thuộc sở hữu của Analytics Vidhya và được sử dụng theo quyết định của Tác giả.

Nguồn: https://www.analyticsvidhya.com/blog/2021/10/introduction-to-matplotlib-using-python-for-beginners/

Dấu thời gian:

Thêm từ Phân tích Vidhya