Computer >> Máy Tính >  >> Lập trình >> Python

Cách kết hợp nhiều đồ thị trong Python

Giới thiệu

Matplotlib cho phép thêm nhiều hơn một ô trong cùng một đồ thị. Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách trình bày dữ liệu trong cùng một biểu đồ, trên hai trục khác nhau.

Cách thực hiện ..

1.Cài đặt matplotlib bằng cách mở dấu nhắc lệnh python và kích hoạt pip cài đặt matplotlib.

import matplotlib.pyplot as plt

2.Chuẩn bị dữ liệu sẽ được hiển thị.

import matplotlib.pyplot as plt

# data prep (I made up data no accuracy in these stats)
mobile = ['Iphone','Galaxy','Pixel']

# Data for the mobile units sold for 4 Quaters in Million
units_sold = (('2016',12,8,6),
('2017',14,10,7),
('2018',16,12,8),
('2019',18,14,10),
('2020',20,16,5),)

3. Ghép dữ liệu vào các mảng cho các đơn vị di động của từng công ty.

# data prep - splitting the data
Years, IPhone_Sales, Galaxy_Sales, Pixel_Sales = zip(*units_sold)

# set the position
Position = list(range(len(units_sold)))

# set the width
Width = 0.2

4 Tạo ô con đầu tiên.

plt.subplot(2, 1, 1)
<matplotlib.axes._subplots.AxesSubplot at 0x214185d4e50>

Cách kết hợp nhiều đồ thị trong Python

5. Tạo biểu đồ thanh với thông tin về IPhone_Sales.

Iphone = plt.bar(Position, IPhone_Sales,color='green')
plt.ylabel('IPhone Sales')
plt.xticks(Position, Years)


([<matplotlib.axis.XTick at 0x214186115e0>,
<matplotlib.axis.XTick at 0x21418611580>,
<matplotlib.axis.XTick at 0x2141861fc40>,
<matplotlib.axis.XTick at 0x21418654e20>,
<matplotlib.axis.XTick at 0x2141865f370>],
[Text(0, 0, '2016'),
Text(0, 0, '2017'),
Text(0, 0, '2018'),
Text(0, 0, '2019'),
Text(0, 0, '2020')])

Cách kết hợp nhiều đồ thị trong Python

6.Bây giờ hãy tạo một trục y khác để thêm thông tin về doanh số bán hàng của Samsung Galaxy.

plt.twinx()
Galaxy = plt.plot(Position, Galaxy_Sales, 'o-', color='blue')
plt.ylabel('Galaxy Sales')
plt.xticks(Position, Years)


([<matplotlib.axis.XTick at 0x214186b4c40>,
<matplotlib.axis.XTick at 0x214186b4c10>,
<matplotlib.axis.XTick at 0x21418682ac0>,
<matplotlib.axis.XTick at 0x214186dd8e0>,
<matplotlib.axis.XTick at 0x214186dddf0>],
[Text(0, 0, '2016'),
Text(0, 0, '2017'),
Text(0, 0, '2018'),
Text(0, 0, '2019'),
Text(0, 0, '2020')])

Cách kết hợp nhiều đồ thị trong Python

7. Bây giờ chúng tôi sẽ lập kế hoạch Bán hàng Google Pixel cuối cùng.

plt.subplot(2, 1, 2)
plt.plot(Position, Pixel_Sales, color='yellow')
plt.gca().set_ylim(ymin=0)
plt.xticks(Position, Years)


([<matplotlib.axis.XTick at 0x2141870f9a0>,
<matplotlib.axis.XTick at 0x2141870f580>,
<matplotlib.axis.XTick at 0x2141870a730>,
<matplotlib.axis.XTick at 0x2141873c9d0>,
<matplotlib.axis.XTick at 0x2141873cee0>],
[Text(0, 0, '2016'),
Text(0, 0, '2017'),
Text(0, 0, '2018'),
Text(0, 0, '2019'),
Text(0, 0, '2020')])


Cách kết hợp nhiều đồ thị trong Python

plt.show()

Ví dụ

8.Đặt tất cả và lưu biểu đồ.

import matplotlib.pyplot as plt

# data prep (I made up data no accuracy in these stats)
mobile = ['Iphone','Galaxy','Pixel']

# Data for the mobile units sold for 4 Quaters in Million
units_sold = (('2016',12,8,6),
('2017',14,10,7),
('2018',16,12,8),
('2019',18,14,10),
('2020',20,16,5),)
# data prep - splitting the data
Years, IPhone_Sales, Galaxy_Sales, Pixel_Sales = zip(*units_sold)

# set the position
Position = list(range(len(units_sold)))

# set the width
Width = 0.2

plt.subplot(2, 1, 1)
Iphone = plt.bar(Position, IPhone_Sales,color='green')
plt.ylabel('IPhone Sales')
plt.xticks(Position, Years)

plt.twinx()
Galaxy = plt.plot(Position, Galaxy_Sales, 'o-', color='blue')
plt.ylabel('Galaxy Sales')
plt.xticks(Position, Years)

plt.subplot(2, 1, 2)
plt.plot(Position, Pixel_Sales, color='yellow')
plt.ylabel('Pixel Sales')
plt.gca().set_ylim(ymin=0)
plt.xticks(Position, Years)

# plt.show()
plt.savefig('CombiningGraphs.png', dpi=72)


Cách kết hợp nhiều đồ thị trong Python