Hướng dẫn python plot multiple lists - Python âm mưu nhiều danh sách

Xin vui lòng, giúp tôi vẽ hai danh sách trên cùng một biểu đồ. Các dòng nên có màu sắc khác nhau. Đây là mã tôi đã thử:

Nội phân Chính showShow

  • Giới thiệu¶
  • Sử dụng cơ bản - pyplot.plot¶
  • Nhiều lô khác
  • Tương tác và lưu vào File¶
  • Nhiều hình
  • Bài tập
  • Làm thế nào để bạn vẽ hai mảng trong Python?
  • Bạn có thể vẽ danh sách trong Python không?
  • Làm thế nào để bạn vẽ nhiều dữ liệu trong Python?
  • Làm thế nào để bạn tạo ra một cốt truyện phân tán với hai danh sách trong Python?

Nội phân chính

  • Giới thiệu¶
  • Sử dụng cơ bản - pyplot.plot¶
  • Nhiều lô khác
  • Tương tác và lưu vào File¶
  • Nhiều hình
  • Bài tập
  • Làm thế nào để bạn vẽ hai mảng trong Python?
  • Bạn có thể vẽ danh sách trong Python không?
  • Làm thế nào để bạn vẽ nhiều dữ liệu trong Python?
  • Làm thế nào để bạn tạo ra một cốt truyện phân tán với hai danh sách trong Python?
import matplotlib.pyplot as plt 
train_X = [1,2,3,4,5] 
train_Y = [10, 20, 30, 40, 50] 
train_Z = [10, 20, 30, 40, 50,25] 
alpha = float[input["Input alpha: "]] 
forecast = [] for x in range[0, len[train_X]+1]:  
    if x==0:       
        forecast.append[train_Y[0]]  
    else:  
        forecast.append[alpha*train_Y[x-1] + [1 - alpha] * forecast[x-1]]
plt.plot[forecast,train_Z,'g'] 
plt.show[]

Nội phân chínhJul 17, 2017 at 23:50

hỏi ngày 17 tháng 7 năm 2017 lúc 23:50Alberto Alvarez

Alberto Alvarezalberto Alvarez2 gold badges9 silver badges16 bronze badges

5

7072 Huy hiệu vàng9 Huy hiệu bạc16 Huy hiệu đồng

Bạn nên sử dụng

# plt.plot[forecast,train_Z,'g'] # replace this line, with the following for loop

for x1, x2, y1,y2 in zip[forecast, forecast[1:], train_Z, train_Z[1:]]:
    if y1 > y2:
        plt.plot[[x1, x2], [y1, y2], 'r']
    elif y1 < y2:
        plt.plot[[x1, x2], [y1, y2], 'g']
    else:
        plt.plot[[x1, x2], [y1, y2], 'b'] # only visible if slope is zero

plt.show[]
2 hai lần để vẽ hai dòng.

Tôi không biết trục X của bạn là gì nhưng rõ ràng bạn nên tạo một mảng/danh sách khác để trở thành giá trị x của bạn.

Sau đó sử dụng

# plt.plot[forecast,train_Z,'g'] # replace this line, with the following for loop

for x1, x2, y1,y2 in zip[forecast, forecast[1:], train_Z, train_Z[1:]]:
    if y1 > y2:
        plt.plot[[x1, x2], [y1, y2], 'r']
    elif y1 < y2:
        plt.plot[[x1, x2], [y1, y2], 'g']
    else:
        plt.plot[[x1, x2], [y1, y2], 'b'] # only visible if slope is zero

plt.show[]
3 và
# plt.plot[forecast,train_Z,'g'] # replace this line, with the following for loop

for x1, x2, y1,y2 in zip[forecast, forecast[1:], train_Z, train_Z[1:]]:
    if y1 > y2:
        plt.plot[[x1, x2], [y1, y2], 'r']
    elif y1 < y2:
        plt.plot[[x1, x2], [y1, y2], 'g']
    else:
        plt.plot[[x1, x2], [y1, y2], 'b'] # only visible if slope is zero

plt.show[]
4.

. Vui lòng tham khảo tài liệu PYPLOT để biết thêm chi tiết.

Kye3 gold badges19 silver badges48 bronze badges

3.9413 huy hiệu vàng19 Huy hiệu bạc48 Huy hiệu đồngJul 18, 2017 at 0:39

import matplotlib.pyplot as plt
plt.plot[[1,2,3,4,12,15],'g*', [1,4,9,16], 'ro']
plt.show[]

Đã trả lời ngày 18 tháng 7 năm 2017 lúc 0:39

Thật dễ dàng, hy vọng mã mẫu này sẽ giúp ích.Apr 15, 2019 at 14:59

Đã trả lời ngày 15 tháng 4 năm 2019 lúc 14:59subrata

subratasubrata1 silver badge8 bronze badges

Huy hiệu Silver 1111 Huy hiệu Đồng

# plt.plot[forecast,train_Z,'g'] # replace this line, with the following for loop

for x1, x2, y1,y2 in zip[forecast, forecast[1:], train_Z, train_Z[1:]]:
    if y1 > y2:
        plt.plot[[x1, x2], [y1, y2], 'r']
    elif y1 < y2:
        plt.plot[[x1, x2], [y1, y2], 'g']
    else:
        plt.plot[[x1, x2], [y1, y2], 'b'] # only visible if slope is zero

plt.show[]

Ăn cắp mượn từ một câu trả lời khác, điều này dường như hoạt động:

Câu trả lời khác: Python/matplotlib - dòng nhiều màu

Tất nhiên, hãy thay thế các giá trị

# plt.plot[forecast,train_Z,'g'] # replace this line, with the following for loop

for x1, x2, y1,y2 in zip[forecast, forecast[1:], train_Z, train_Z[1:]]:
    if y1 > y2:
        plt.plot[[x1, x2], [y1, y2], 'r']
    elif y1 < y2:
        plt.plot[[x1, x2], [y1, y2], 'g']
    else:
        plt.plot[[x1, x2], [y1, y2], 'b'] # only visible if slope is zero

plt.show[]
5,
# plt.plot[forecast,train_Z,'g'] # replace this line, with the following for loop

for x1, x2, y1,y2 in zip[forecast, forecast[1:], train_Z, train_Z[1:]]:
    if y1 > y2:
        plt.plot[[x1, x2], [y1, y2], 'r']
    elif y1 < y2:
        plt.plot[[x1, x2], [y1, y2], 'g']
    else:
        plt.plot[[x1, x2], [y1, y2], 'b'] # only visible if slope is zero

plt.show[]
6,
# plt.plot[forecast,train_Z,'g'] # replace this line, with the following for loop

for x1, x2, y1,y2 in zip[forecast, forecast[1:], train_Z, train_Z[1:]]:
    if y1 > y2:
        plt.plot[[x1, x2], [y1, y2], 'r']
    elif y1 < y2:
        plt.plot[[x1, x2], [y1, y2], 'g']
    else:
        plt.plot[[x1, x2], [y1, y2], 'b'] # only visible if slope is zero

plt.show[]
7 bằng bất kỳ giá trị nào khác trong //matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.plot Danh sách màuJul 18, 2017 at 1:34

Giới thiệu¶

Đã trả lời ngày 18 tháng 7 năm 2017 lúc 1:34matplotlib, chosen because it is the de facto plotting library and integrates very well with Python.

Có nhiều gói âm mưu khoa học. Trong chương này, chúng tôi tập trung vào matplotlib, được chọn bởi vì đây là thư viện âm mưu thực tế và tích hợp rất tốt với Python.

Sử dụng cơ bản - pyplot.plot¶

Đây chỉ là một giới thiệu ngắn về gói âm mưu

# plt.plot[forecast,train_Z,'g'] # replace this line, with the following for loop

for x1, x2, y1,y2 in zip[forecast, forecast[1:], train_Z, train_Z[1:]]:
    if y1 > y2:
        plt.plot[[x1, x2], [y1, y2], 'r']
    elif y1 < y2:
        plt.plot[[x1, x2], [y1, y2], 'g']
    else:
        plt.plot[[x1, x2], [y1, y2], 'b'] # only visible if slope is zero

plt.show[]
8. Khả năng và tùy chỉnh của nó được mô tả ở độ dài trong trang web của dự án, hướng dẫn của người mới bắt đầu, hướng dẫn
# plt.plot[forecast,train_Z,'g'] # replace this line, with the following for loop

for x1, x2, y1,y2 in zip[forecast, forecast[1:], train_Z, train_Z[1:]]:
    if y1 > y2:
        plt.plot[[x1, x2], [y1, y2], 'r']
    elif y1 < y2:
        plt.plot[[x1, x2], [y1, y2], 'g']
    else:
        plt.plot[[x1, x2], [y1, y2], 'b'] # only visible if slope is zero

plt.show[]
9 và tài liệu
# plt.plot[forecast,train_Z,'g'] # replace this line, with the following for loop

for x1, x2, y1,y2 in zip[forecast, forecast[1:], train_Z, train_Z[1:]]:
    if y1 > y2:
        plt.plot[[x1, x2], [y1, y2], 'r']
    elif y1 < y2:
        plt.plot[[x1, x2], [y1, y2], 'g']
    else:
        plt.plot[[x1, x2], [y1, y2], 'b'] # only visible if slope is zero

plt.show[]
9. [Kiểm tra cụ thể các tài liệu cụ thể của
>>> from matplotlib import pyplot as plt
>>> plt.plot[[1,2,3,4]]
[]
>>> plt.show[]
1].

>>> from matplotlib import pyplot as plt
>>> plt.plot[[1,2,3,4]]
[]
>>> plt.show[]

Việc sử dụng đơn giản

# plt.plot[forecast,train_Z,'g'] # replace this line, with the following for loop

for x1, x2, y1,y2 in zip[forecast, forecast[1:], train_Z, train_Z[1:]]:
    if y1 > y2:
        plt.plot[[x1, x2], [y1, y2], 'r']
    elif y1 < y2:
        plt.plot[[x1, x2], [y1, y2], 'g']
    else:
        plt.plot[[x1, x2], [y1, y2], 'b'] # only visible if slope is zero

plt.show[]
8 rất đơn giản:

Nếu bạn chạy mã này trong trình thông dịch Python tương tác, bạn sẽ nhận được một âm mưu như sau:

  • Hai điều cần lưu ý từ cốt truyện này:

  • >>> from matplotlib import pyplot as plt
    >>> plt.plot[[1,2,3,4]]
    []
    >>> plt.show[]
    
    1 giả định danh sách dữ liệu duy nhất của chúng tôi là giá trị y;

    Trong trường hợp không có danh sách giá trị X, [0, 1, 2, 3] đã được sử dụng thay thế.

    Ghi chú

    Trong trường hợp không có danh sách giá trị X, [0, 1, 2, 3] đã được sử dụng thay thế.

    Ghi chú

>>> from matplotlib import pyplot as plt
>>> plt.plot[[1,2,3,4]]
[]
>>> plt.show[]
4 thường được sử dụng viết tắt là
>>> from matplotlib import pyplot as plt
>>> plt.plot[[1,2,3,4]]
[]
>>> plt.show[]
5, giống như
>>> from matplotlib import pyplot as plt
>>> plt.plot[[1,2,3,4]]
[]
>>> plt.show[]
6 thường được viết tắt là
>>> from matplotlib import pyplot as plt
>>> plt.plot[[1,2,3,4]]
[]
>>> plt.show[]
7. Phần còn lại của chương này sử dụng hình thức viết tắt.

>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4]]

Các phiên dịch viên Python tương tác nâng cao như Ipython có thể tự động hóa một số cuộc gọi âm mưu cho bạn. Chẳng hạn, bạn có thể chạy

>>> from matplotlib import pyplot as plt
>>> plt.plot[[1,2,3,4]]
[]
>>> plt.show[]
8 trong ipython, sau đó bạn không còn cần phải chạy
>>> from matplotlib import pyplot as plt
>>> plt.plot[[1,2,3,4]]
[]
>>> plt.show[]
9 mỗi khi gọi
>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4]]
0. Để đơn giản,
>>> from matplotlib import pyplot as plt
>>> plt.plot[[1,2,3,4]]
[]
>>> plt.show[]
9 cũng sẽ bị loại khỏi phần còn lại của các ví dụ này.

>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4, 5]]
ValueError: x and y must have same first dimension

Nếu bạn chuyển hai danh sách cho

>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4]]
0, bạn sẽ đặt rõ ràng các giá trị x:

>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4],
             [0.1, 0.2, 0.3, 0.4], [1, 4, 9, 16]]

Có thể hiểu được, nếu bạn cung cấp hai danh sách độ dài của chúng phải khớp:

>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4]]
>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 4, 9, 16]]

Để vẽ nhiều đường cong, chỉ cần gọi

>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4]]
0 với nhiều cặp danh sách X X khi cần thiết:

>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4]]
>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 4, 9, 16]]
>>> plt.xlabel["Time [s]"]
>>> plt.ylabel["Scale [Bananas]"]

Thay vào đó, nhiều lô có thể được thêm vào bằng cách liên tục gọi

>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4]]
0. Đoạn mã sau đây tạo ra âm mưu tương tự như ví dụ mã trước:

>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4], label='first plot']
>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 4, 9, 16], label='second plot']
>>> plt.legend[]

Việc thêm thông tin vào các trục lô rất đơn giản để làm:

import matplotlib.pyplot as plt
plt.plot[[1,2,3,4,12,15],'g*', [1,4,9,16], 'ro']
plt.show[]
0

Ngoài ra, việc thêm một huyền thoại khá đơn giản:

import matplotlib.pyplot as plt
plt.plot[[1,2,3,4,12,15],'g*', [1,4,9,16], 'ro']
plt.show[]
1

Và các phạm vi trục điều chỉnh có thể được thực hiện bằng cách gọi

>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4]]
5 và
>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4]]
6 với giới hạn thấp hơn và cao hơn cho các trục tương ứng.

Ngoài danh sách dữ liệu X và Y,

>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4]]
0 cũng có thể lấy các chuỗi xác định kiểu vẽ âm mưu:

Nhiều lô khác

Các chuỗi kiểu, một cặp mỗi X, Y, chỉ định màu sắc và hình dạng: ‘RX, viết tắt của Hội Chữ thập đỏ và‘ B-. Kiểm tra tài liệu của

>>> from matplotlib import pyplot as plt
>>> plt.plot[[1,2,3,4]]
[]
>>> plt.show[]
1 để biết danh sách các màu sắc và hình dạng.

Cuối cùng,

>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4]]
0 cũng có thể, thuận tiện, lấy các mảng numpy làm đối số của nó.

import matplotlib.pyplot as plt
plt.plot[[1,2,3,4,12,15],'g*', [1,4,9,16], 'ro']
plt.show[]
2

Trong khi

>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4]]
0 có thể đáp ứng các nhu cầu âm mưu cơ bản,
# plt.plot[forecast,train_Z,'g'] # replace this line, with the following for loop

for x1, x2, y1,y2 in zip[forecast, forecast[1:], train_Z, train_Z[1:]]:
    if y1 > y2:
        plt.plot[[x1, x2], [y1, y2], 'r']
    elif y1 < y2:
        plt.plot[[x1, x2], [y1, y2], 'g']
    else:
        plt.plot[[x1, x2], [y1, y2], 'b'] # only visible if slope is zero

plt.show[]
8 cung cấp nhiều chức năng âm mưu hơn. Dưới đây chúng tôi thử chức năng
>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4, 5]]
ValueError: x and y must have same first dimension
2, để vẽ biểu đồ thanh. Danh sách đầy đủ các chức năng âm mưu có thể được tìm thấy trong tài liệu
# plt.plot[forecast,train_Z,'g'] # replace this line, with the following for loop

for x1, x2, y1,y2 in zip[forecast, forecast[1:], train_Z, train_Z[1:]]:
    if y1 > y2:
        plt.plot[[x1, x2], [y1, y2], 'r']
    elif y1 < y2:
        plt.plot[[x1, x2], [y1, y2], 'g']
    else:
        plt.plot[[x1, x2], [y1, y2], 'b'] # only visible if slope is zero

plt.show[]
9.

Một trong những đối số tùy chọn cho

>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4, 5]]
ValueError: x and y must have same first dimension
2 là
>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4, 5]]
ValueError: x and y must have same first dimension
9, cho phép bạn chỉ định chiều rộng của các thanh. Mặc định của nó là 0,8 có thể không phù hợp nhất cho tất cả các trường hợp, đặc biệt là khi các giá trị X nhỏ:

import matplotlib.pyplot as plt
plt.plot[[1,2,3,4,12,15],'g*', [1,4,9,16], 'ro']
plt.show[]
3

Chỉ định các thanh hẹp hơn cho chúng ta một kết quả tốt hơn nhiều:

import matplotlib.pyplot as plt
plt.plot[[1,2,3,4,12,15],'g*', [1,4,9,16], 'ro']
plt.show[]
4

Đôi khi bạn sẽ muốn so sánh một hàm với dữ liệu đo được của bạn; ví dụ khi bạn vừa trang bị một chức năng. Tất nhiên điều này là có thể với matplotlib. Hãy nói rằng chúng tôi đã trang bị một hàm bậc hai cho 10 số nguyên tố đầu tiên và muốn kiểm tra mức độ phù hợp của chúng tôi phù hợp với dữ liệu của chúng tôi.

import matplotlib.pyplot as plt
plt.plot[[1,2,3,4,12,15],'g*', [1,4,9,16], 'ro']
plt.show[]
5
import matplotlib.pyplot as plt
plt.plot[[1,2,3,4,12,15],'g*', [1,4,9,16], 'ro']
plt.show[]
6

Chúng tôi đã tạo ra biểu đồ phân tán màu đỏ bằng cách chuyển nó thành đối số từ khóa

>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4],
             [0.1, 0.2, 0.3, 0.4], [1, 4, 9, 16]]
0;
>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4],
             [0.1, 0.2, 0.3, 0.4], [1, 4, 9, 16]]
1 là viết tắt của màu sắc,
>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4],
             [0.1, 0.2, 0.3, 0.4], [1, 4, 9, 16]]
2 cho màu đỏ. Ngoài ra, nhãn mà chúng tôi đã đưa ra cho tuyên bố
>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4],
             [0.1, 0.2, 0.3, 0.4], [1, 4, 9, 16]]
3 ở định dạng latex, làm cho nó thực sự rất đẹp. Nó không phải là một sự phù hợp tuyệt vời, nhưng đó là bên cạnh điểm ở đây.

Tương tác và lưu vào File¶

Nếu bạn đã thử các ví dụ trước bằng cách sử dụng bảng điều khiển Python/Ipython, bạn có thể có cho mỗi lô một cửa sổ tương tác. Thông qua bốn nút ngoài cùng bên phải trong cửa sổ này, bạn có thể thực hiện một số hành động:

  • Chảo xung quanh khu vực cốt truyện;
  • Phóng to và phóng to;
  • Truy cập kiểm soát kích thước lô tương tác;
  • Lưu vào Tệp.

Ba nút ngoài cùng bên trái sẽ cho phép bạn điều hướng giữa các chế độ xem lô khác nhau, sau khi phóng to/đăng tải.

Như đã giải thích ở trên, lưu vào tệp có thể dễ dàng thực hiện từ cửa sổ lô tương tác. Tuy nhiên, nhu cầu có thể phát sinh để tập lệnh của bạn viết trực tiếp biểu đồ dưới dạng hình ảnh và không đưa ra bất kỳ cửa sổ tương tác nào. Điều này dễ dàng được thực hiện bằng cách gọi

>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4],
             [0.1, 0.2, 0.3, 0.4], [1, 4, 9, 16]]
4:

import matplotlib.pyplot as plt
plt.plot[[1,2,3,4,12,15],'g*', [1,4,9,16], 'ro']
plt.show[]
7

Ghi chú

Khi lưu một lô, bạn sẽ muốn chọn định dạng vector [PDF, PS, EPS hoặc SVG]. Đây là các định dạng độc lập với độ phân giải và sẽ mang lại chất lượng tốt nhất, ngay cả khi được in ở kích thước rất lớn. Tiết kiệm như PNG nên tránh, và tiết kiệm khi JPG nên tránh nhiều hơn nữa.

Nhiều hình

Với nền tảng này, chúng ta có thể chuyển sang một số sử dụng matplotlib tiên tiến hơn. Cũng có thể sử dụng nó theo cách hướng đối tượng, cho phép tách biệt nhiều hơn giữa một số lô và hình. Hãy nói rằng chúng tôi có hai bộ dữ liệu mà chúng tôi muốn vẽ bên cạnh nhau, thay vì trong cùng một hình. Matplotlib có một số lớp tổ chức: Đầu tiên, có một đối tượng

>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4],
             [0.1, 0.2, 0.3, 0.4], [1, 4, 9, 16]]
5, về cơ bản là cửa sổ cốt truyện của bạn được vẽ. Hoàn toàn có thể có nhiều trục [hoặc không] trong một hình. Chúng tôi sẽ giải thích phương pháp
>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4],
             [0.1, 0.2, 0.3, 0.4], [1, 4, 9, 16]]
7 một chút sau đó. Hiện tại, nó chỉ tạo ra một thể hiện trục.

import matplotlib.pyplot as plt
plt.plot[[1,2,3,4,12,15],'g*', [1,4,9,16], 'ro']
plt.show[]
8
import matplotlib.pyplot as plt
plt.plot[[1,2,3,4,12,15],'g*', [1,4,9,16], 'ro']
plt.show[]
9

Ví dụ này cũng nhấn mạnh một cách gọn gàng một trong những thiếu sót của Matplotlib: API rất không nhất quán. Nơi chúng tôi có thể làm

>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4],
             [0.1, 0.2, 0.3, 0.4], [1, 4, 9, 16]]
8 trước đây, bây giờ chúng tôi cần phải làm
>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4],
             [0.1, 0.2, 0.3, 0.4], [1, 4, 9, 16]]
9. Ngoài ra, chúng ta có thể hiển thị từng con số một [tức là
>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4]]
>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 4, 9, 16]]
0]; Thay vào đó, chúng ta chỉ có thể cho tất cả họ hiển thị cùng một lúc với
>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4]]
>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 4, 9, 16]]
1.

Bây giờ, chúng tôi muốn thực hiện nhiều lô bên cạnh nhau. Chúng tôi làm điều đó bằng cách gọi

>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4],
             [0.1, 0.2, 0.3, 0.4], [1, 4, 9, 16]]
3 trên hai trục khác nhau:

import matplotlib.pyplot as plt
plt.plot[[1,2,3,4,12,15],'g*', [1,4,9,16], 'ro']
plt.show[]
5
import matplotlib.pyplot as plt
plt.plot[[1,2,3,4,12,15],'g*', [1,4,9,16], 'ro']
plt.show[]
6

Chúng tôi đã tạo ra biểu đồ phân tán màu đỏ bằng cách chuyển nó thành đối số từ khóa

>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4],
             [0.1, 0.2, 0.3, 0.4], [1, 4, 9, 16]]
0;
>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4],
             [0.1, 0.2, 0.3, 0.4], [1, 4, 9, 16]]
1 là viết tắt của màu sắc,
>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4],
             [0.1, 0.2, 0.3, 0.4], [1, 4, 9, 16]]
2 cho màu đỏ. Ngoài ra, nhãn mà chúng tôi đã đưa ra cho tuyên bố
>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4],
             [0.1, 0.2, 0.3, 0.4], [1, 4, 9, 16]]
3 ở định dạng latex, làm cho nó thực sự rất đẹp. Nó không phải là một sự phù hợp tuyệt vời, nhưng đó là bên cạnh điểm ở đây.

Tương tác và lưu vào File¶

  1. Nếu bạn đã thử các ví dụ trước bằng cách sử dụng bảng điều khiển Python/Ipython, bạn có thể có cho mỗi lô một cửa sổ tương tác. Thông qua bốn nút ngoài cùng bên phải trong cửa sổ này, bạn có thể thực hiện một số hành động:
  2. Chảo xung quanh khu vực cốt truyện;

Phóng to và phóng to;

Truy cập kiểm soát kích thước lô tương tác;.

Lưu vào Tệp.

Ba nút ngoài cùng bên trái sẽ cho phép bạn điều hướng giữa các chế độ xem lô khác nhau, sau khi phóng to/đăng tải.

Như đã giải thích ở trên, lưu vào tệp có thể dễ dàng thực hiện từ cửa sổ lô tương tác. Tuy nhiên, nhu cầu có thể phát sinh để tập lệnh của bạn viết trực tiếp biểu đồ dưới dạng hình ảnh và không đưa ra bất kỳ cửa sổ tương tác nào. Điều này dễ dàng được thực hiện bằng cách gọi

>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4],
             [0.1, 0.2, 0.3, 0.4], [1, 4, 9, 16]]
4:

Ghi chú

Khi lưu một lô, bạn sẽ muốn chọn định dạng vector [PDF, PS, EPS hoặc SVG]. Đây là các định dạng độc lập với độ phân giải và sẽ mang lại chất lượng tốt nhất, ngay cả khi được in ở kích thước rất lớn. Tiết kiệm như PNG nên tránh, và tiết kiệm khi JPG nên tránh nhiều hơn nữa.

Nhiều hình

Với nền tảng này, chúng ta có thể chuyển sang một số sử dụng matplotlib tiên tiến hơn. Cũng có thể sử dụng nó theo cách hướng đối tượng, cho phép tách biệt nhiều hơn giữa một số lô và hình. Hãy nói rằng chúng tôi có hai bộ dữ liệu mà chúng tôi muốn vẽ bên cạnh nhau, thay vì trong cùng một hình. Matplotlib có một số lớp tổ chức: Đầu tiên, có một đối tượng
>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4],
             [0.1, 0.2, 0.3, 0.4], [1, 4, 9, 16]]
5, về cơ bản là cửa sổ cốt truyện của bạn được vẽ. Hoàn toàn có thể có nhiều trục [hoặc không] trong một hình. Chúng tôi sẽ giải thích phương pháp
>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4],
             [0.1, 0.2, 0.3, 0.4], [1, 4, 9, 16]]
7 một chút sau đó. Hiện tại, nó chỉ tạo ra một thể hiện trục.

import matplotlib.pyplot as plt
plt.plot[[1,2,3,4,12,15],'g*', [1,4,9,16], 'ro']
plt.show[]
8use the matplotlib library. It is a popular Python library for data visualization. Using this, we can easily plot a list in a few lines of code.

import matplotlib.pyplot as plt
plt.plot[[1,2,3,4,12,15],'g*', [1,4,9,16], 'ro']
plt.show[]
9

Ví dụ này cũng nhấn mạnh một cách gọn gàng một trong những thiếu sót của Matplotlib: API rất không nhất quán. Nơi chúng tôi có thể làm

>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4],
             [0.1, 0.2, 0.3, 0.4], [1, 4, 9, 16]]
8 trước đây, bây giờ chúng tôi cần phải làm
>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4],
             [0.1, 0.2, 0.3, 0.4], [1, 4, 9, 16]]
9. Ngoài ra, chúng ta có thể hiển thị từng con số một [tức là
>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4]]
>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 4, 9, 16]]
0]; Thay vào đó, chúng ta chỉ có thể cho tất cả họ hiển thị cùng một lúc với
>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4]]
>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 4, 9, 16]]
1.specifying different columns of the array as the x and y-axis parameters in the matplotlib. pyplot. plot[] function.

Bây giờ, chúng tôi muốn thực hiện nhiều lô bên cạnh nhau. Chúng tôi làm điều đó bằng cách gọi
>>> plt.plot[[0.1, 0.2, 0.3, 0.4], [1, 2, 3, 4],
             [0.1, 0.2, 0.3, 0.4], [1, 4, 9, 16]]
3 trên hai trục khác nhau:

Các sơ đồ phân tán của các cặp điểm [x, y] được tạo bằng rìu của matplotlib.Phương pháp phân tán [].Các đối số vị trí cần thiết được cung cấp cho AX.Scatter [] là hai danh sách hoặc mảng.... Điểm phân tán..

Bài Viết Liên Quan

Chủ Đề