Chỉ để bổ sung một số suy nghĩ có thể giúp những người khác gặp sự cố về loại miền không đều. Đối với trường hợp người dùng có ba màn hình / danh sách, x, y, z đại diện cho giải pháp 2D trong đó z sẽ được vẽ trên lưới hình chữ nhật làm bề mặt, các nhận xét 'plot_trisurf []' của ArtifixR . Một ví dụ tương tự nhưng với miền không phải hình chữ nhật là
import matplotlib.pyplot as plt
from matplotlib import cm
from mpl_toolkits.mplot3d import Axes3D
# problem parameters
nu = 50; nv = 50
u = np.linspace[0, 2*np.pi, nu,]
v = np.linspace[0, np.pi, nv,]
xx = np.zeros[[nu,nv],dtype='d']
yy = np.zeros[[nu,nv],dtype='d']
zz = np.zeros[[nu,nv],dtype='d']
# populate x,y,z arrays
for i in range[nu]:
for j in range[nv]:
xx[i,j] = np.sin[v[j]]*np.cos[u[i]]
yy[i,j] = np.sin[v[j]]*np.sin[u[i]]
zz[i,j] = np.exp[-4*[xx[i,j]**2 + yy[i,j]**2]] # bell curve
# convert arrays to vectors
x = xx.flatten[]
y = yy.flatten[]
z = zz.flatten[]
# Plot solution surface
fig = plt.figure[figsize=[6,6]]
ax = Axes3D[fig]
ax.plot_trisurf[x, y, z, cmap=cm.jet, linewidth=0,
antialiased=False]
ax.set_title[r'trisurf example',fontsize=16, color='k']
ax.view_init[60, 35]
fig.tight_layout[]
plt.show[]
Palette code on create
Nguyễn Văn Hoàng @hoangnguyen293
Theo dõi
891 27 26
Đã đăng vào ngày 7 tháng 20 năm 2019 11. 44 CH 13 phút đọc
45. 5K
1
5
Giới thiệu về Matplotlib [một thư viện rất hữu ích của Python dùng để vẽ đồ thị]- Report
- Add to series of me
Bài đăng này đã không được cập nhật trong 3 năm
Matplotlib
Để thực hiện các suy luận về thống kê cần thiết, cần phải trực tiếp quan sát hóa dữ liệu của bạn và Matplotlib là một trong những giải pháp như vậy cho người dùng Python. Nó là một thư viện vẽ đồ thị rất mạnh cực hữu ích cho những người làm việc với Python và NumPy. Mô-đun được sử dụng nhiều nhất của Matplotib là Pyplot cung cấp giao diện như MATLAB nhưng thay vào đó, nó sử dụng Python và nó là nguồn mở
Để cài đặt Matplotlib nếu bạn có Anaconda chỉ cần nhập conda install matplotlib
hoặc sử dụng công cụ pip pip install matplotlib
Khái niệm chung
One Matplotlib figure can be phan loại thành nhiều phần như dưới đây
- Nhân vật. Như một cái cửa sổ chứa tất cả những gì bạn sẽ vẽ trên đó
- trục. Thành phần chính của một hình là các trục [các khung nhỏ hơn để vẽ hình lên đó]. Một hình có thể chứa một hoặc nhiều trục. Nói cách khác, hình chỉ là các khung chứa, các trục chính mới thật sự là nơi các hình vẽ được vẽ lên
- trục. Chúng là các dòng số giống như các đối tượng và nhiệm vụ tạo các giới hạn biểu đồ
- Nghệ sĩ. Tất cả những thứ mà bạn có thể nhìn thấy trên hình là một nghệ sĩ như đồ vật
Text
, đồ vậtLine2D
, đồ vậtcollection
. Hầu hết các Artist đều được gắn với Axes
Start with Pyplot
Pyplot là một mô-đun của Matplotlib cung cấp các hàm đơn giản để bổ sung các thành phần cốt truyện như dòng, hình ảnh, văn bản, v. v. to the axis in figure
Create a menu icon
import matplotlib.pyplot as plt
import numpy as np
Ở đây chúng ta nhập mô-đun Pyplot của Matplotlib và thư viện Numpy vì hầu hết các dữ liệu mà chúng ta sẽ làm việc sẽ chỉ ở dạng mảng.
Chúng ta chuyển hai mảng làm tham số đầu vào cho phương thức plot[]
và sử dụng phương thức show[]
để gọi biểu đồ được yêu cầu. Ở đây lưu ý rằng mảng đầu tiên xuất hiện trên trục x và mảng thứ hai xuất hiện trên trục y của biểu đồ. Bây giờ, biểu đồ đầu tiên của chúng ta đã có sẵn, chúng ta hãy thêm tiêu đề và đặt tên trục x và trục y bằng cách sử dụng các phương thức title[]
,
import matplotlib.pyplot as plt
import numpy as np
0 và import matplotlib.pyplot as plt
import numpy as np
1Chúng ta cũng có thể chỉ định kích thước của hình bằng cách sử dụng phương thức
import matplotlib.pyplot as plt
import numpy as np
2 và truyền các giá trị bên dưới dưới dạng một bộ về độ dài của các hàng và cột cho các đối số import matplotlib.pyplot as plt
import numpy as np
3Với mỗi đối số X và Y, bạn cũng có thể chuyển một đối số thứ ba tùy chọn dưới dạng một chuỗi để biết màu sắc và loại đường của biểu đồ. Định dạng mặc định là b- có nghĩa là một đường màu xanh lam đặc trưng. Trong hình dưới đây, mình sử dụng đi có nghĩa là cây lá xanh hình tròn màu. Tương tự như vậy, chúng ta có thể thực hiện nhiều kết hợp như vậy để định dạng biểu đồ của mình
Chúng ta cũng có thể vẽ nhiều bộ dữ liệu bằng cách chuyển vào nhiều bộ đối số của trục X và Y theo phương thức plot[]
như bên dưới
Nhiều biểu tượng trong 1 hình
Chúng ta có thể sử dụng phương thức
import matplotlib.pyplot as plt
import numpy as np
5 để thêm nhiều ô trong một hình. Trong hình ảnh bên dưới, mình đã sử dụng phương pháp này để tách hai biểu tượng mà đồ họa đã vẽ trên cùng một hệ thống trong ví dụ trước. Phương thức import matplotlib.pyplot as plt
import numpy as np
5 có ba đối số. import matplotlib.pyplot as plt
import numpy as np
7, import matplotlib.pyplot as plt
import numpy as np
8 và import matplotlib.pyplot as plt
import numpy as np
9. Chúng chỉ ra số lượng hàng, số cột và số chỉ mục của sub-plot. Ví dụ, mình muốn tạo hai sub-plot trong một hình sao cho nó nằm trên một hàng và trên hai cột và làm như vậy để chuyển các đối số [1,2,1] và [1,2,2] trong phương thức . Lưu ý rằng ta đã sử dụng phương thức riêng title[]
cho cả các ô con. Ta sử dụng phương thức conda install matplotlib
2 để tạo tiêu đề tập trung cho hìnhNếu ta muốn các ô con thành hai hàng và một cột, chúng ta có thể truyền các đối số [2,1,1] và [2,1,2]
Cách tạo ra các ô con trên đây trở nên hơi nhạt nhạt khi chúng ta muốn có nhiều ô con trong hình. Một cách thuận tiện hơn là sử dụng phương thức conda install matplotlib
3. Lưu ý về sự khác biệt của các giá trị trong cả hai phương thức. Phương thức này lấy hai đối số
import matplotlib.pyplot as plt
import numpy as np
7 và import matplotlib.pyplot as plt
import numpy as np
8 làm cho số lượng hàng và cột số tương ứng. Phương thức này tạo ra hai đối tượng. conda install matplotlib
6 và conda install matplotlib
7 mà chúng tôi lưu trữ trong các biến fig và rìu có thể được sử dụng để thay đổi các thuộc tính tính toán của figure và rìu tương ứng. Lưu ý rằng các tên biến này được tùy ý chọnTạo các loại biểu đồ khác nhau với Pyplot
1. Icon icon
Biểu đồ thanh là một trong những loại biểu đồ biến phổ biến nhất và được sử dụng để hiển thị dữ liệu được liên kết với các loại biến thể. Pyplot cung cấp một phương thức conda install matplotlib
8 để tạo các biểu đồ thanh có các đối số. biến phân loại, giá trị và màu sắc của chúng [nếu bạn muốn chỉ định bất kỳ]
Để tạo biểu đồ thanh ngang sử dụng phương thức conda install matplotlib
9 Ngoài ra, chúng ta có thể truyền đối số [với giá trị của nó] pip install matplotlib
0 hoặc pip install matplotlib
1 [trong trường hợp biểu tượng thanh dọc trên dữ liệu] để mô tả sai phương thức trong dữ liệu
Để tạo các biểu đồ thanh xếp chồng theo chiều ngang, ta sử dụng phương thức conda install matplotlib
8 hai lần và chuyển các đối số trong đó ta đề cập đến chỉ số và chiều rộng của biểu đồ thanh để xếp chúng theo chiều ngang. Ngoài ra, chú ý về việc sử dụng hai phương thức pip install matplotlib
3 được sử dụng để hiển thị chú giải của biểu đồ và pip install matplotlib
4 để gắn nhãn mạng x dựa trên vị trí của các thanh
Tương tự như vậy, để xếp hạng theo chiều dọc của các biểu đồ thanh với nhau, chúng ta có thể sử dụng các đối số pip install matplotlib
5 và các chủ đề liên quan đến biểu đồ thanh mà chúng ta muốn xếp hạng các bên dưới giá trị của nó
2. Round map
Một loại biểu đồ cơ bản nữa là biểu đồ Pie có thể được tạo bằng phương thức pip install matplotlib
6 Chúng ta cũng có thể chuyển đổi các đối số để tùy chỉnh biểu đồ Pie của mình nhằm hiển thị bóng, làm nổ tung một phần của nó, theo đúng nghĩa của nó
3. Histogram Histogram là một loại biểu đồ rất phổ biến khi chúng ta xem xét dữ liệu như chiều cao và cân nặng, giá cổ phiếu, thời gian chờ đợi của khách hàng, v.v. v. liên tục trong tự nhiên. Dữ liệu của biểu đồ được vẽ trong một phạm vi so với tần số của nó. Biểu đồ là các biểu đồ xuất hiện rất phổ biến trong chính xác và thống kê và tạo cơ sở cho các bản phân phối khác nhau như normal -distribution, t-distribution, v. v. Trong ví dụ sau, chúng ta tạo dữ liệu liên tục ngẫu nhiên bao gồm 1000 mục nhập và vẽ biểu đồ theo tần số của nó với dữ liệu được chia thành 10 tầng bằng nhau. Mình đã sử dụng phương thức pip install matplotlib
7 của NumPy's để tạo dữ liệu với các thuộc tính của phân phối chuẩn chuẩn, nghĩa là = 0 và độ lệch chuẩn = 1 và do đó biểu đồ trông giống như một đường cong phân phối chuẩn
4. Sơ đồ phân tán và 3 chiều
Các biểu đồ phân tán là các biểu đồ được sử dụng rộng rãi, đặc biệt là chúng có ích trong việc hình dung một vấn đề về hồi quy. Trong ví dụ sau, cung cấp dữ liệu được tạo ra tùy chọn về chiều cao và cân nặng và vẽ chúng với nhau. Mình đã sử dụng các phương thức pip install matplotlib
8 và pip install matplotlib
9 để đặt giới hạn của trục X và trục Y tương ứng
Sự phân tán ở trên cũng có thể được hình dung trong ba chiều. Để sử dụng chức năng này, trước tiên ta cần nhập mô-đun Text
0 như sau
Text
1
Khi mô-đun được nhập, một chiều ba chiều được tạo bằng cách chuyển từ khóa Text
2 sang phương thức Text
3 của mô-đun Pyplot. Khi các đối tượng được tạo, chúng ta chuyển chiều cao và trọng số của các đối số cho phương thức Text
4
Chúng ta cũng có thể tạo các biểu đồ 3 chiều của các loại khác nhau như biểu đồ đường, bề mặt, khung lưới, đường viền, v. v. Ví dụ trên một dạng biểu đồ đường đơn giản như sau. Ở đây thay vì Text
4 chúng ta sử dụng phương thức Text
6
Kết luận
Hy vọng bài viết này hữu ích cho bạn. Trước khi mình kết thúc bài viết ở đây là danh sách tất cả các phương thức mà chúng đã xuất hiện