Bạn có thể tạo hoạt ảnh bằng python không?

Khi dữ liệu không ngừng mở rộng với tốc độ chưa từng thấy, các nhà khoa học dữ liệu được kêu gọi phân tích và hiểu ý nghĩa của nó. Khi điều đó xảy ra, cần phải truyền đạt kết quả một cách hiệu quả

Tuy nhiên, việc truyền đạt kết quả phân tích dữ liệu thường có thể phức tạp. Để giao tiếp hiệu quả, một kỹ thuật phổ biến và rất hiệu quả là kể chuyện

Có tất cả thông tin trên thế giới trong tầm tay của chúng tôi không giúp giao tiếp dễ dàng hơn. nó làm cho nó khó khăn hơn. - Cole Nussbaumer Knaflic

Để hỗ trợ kể chuyện và giao tiếp, trực quan hóa dữ liệu là rất quan trọng. Trực quan hóa dữ liệu hoạt hình đưa mọi thứ lên một tầm cao mới và thêm yếu tố đáng kinh ngạc

Trong blog này, chúng tôi sẽ kiểm tra cách bạn có thể làm động các biểu đồ của mình. Chúng ta sẽ tìm hiểu cách thêm thứ nguyên mới vào biểu đồ đường, biểu đồ thanh và biểu đồ hình tròn. Blog này sẽ giúp bạn bắt đầu, nhưng khả năng là vô tận

Con lắc đôi Hoạt hình hoạt động như thế nào

Theo cách thông thường, như bạn mong đợi từ Python, tồn tại một gói rất dễ sử dụng cho phép chúng tôi thêm một chiều bổ sung vào trực quan hóa dữ liệu của mình

Gói được đề cập là và là một phần của lớp Hoạt hình trong thư viện matplotlib của Python. Chúng ta sẽ xem xét nhiều ví dụ về cách sử dụng nó, nhưng hiện tại, bạn có thể coi chức năng này như một vòng lặp while tiếp tục vẽ lại hình của chúng ta trên khung vẽ

Cách sử dụng thư viện

Điều giúp tôi hiểu cách tạo hiệu ứng đồ thị là bắt đầu từ cuối. Phép thuật hoạt hình sẽ xảy ra từ hai dòng sau

import matplotlib.animation as anianimator = ani.FuncAnimation(fig, chartfunc, interval = 100)

Chúng ta hãy xem các đầu vào trên của FuncAnimation

  1. fig là đối tượng hình mà chúng ta sẽ sử dụng để “vẽ đồ thị” trên
  2. chartfunc là một hàm lấy đầu vào là số, biểu thị thời gian trên chuỗi thời gian (khi số tăng lên, chúng tôi di chuyển dọc theo dòng thời gian)
  3. khoảng thời gian là độ trễ giữa các khung tính bằng mili giây. Mặc định là 200

Để biết thêm đầu vào tùy chọn, hãy kiểm tra

Tìm hiểu kỹ hơn một chút về phần trên, tất cả những gì người ta cần làm là tham số hóa biểu đồ của họ thành một hàm lấy điểm đầu vào làm đầu vào trong chuỗi thời gian và trò chơi sẽ tiếp tục

Bắt đầu

Để đảm bảo chúng tôi có tất cả các cơ sở được đề cập, chúng tôi sẽ xây dựng dựa trên các ví dụ trước đây về trực quan hóa dữ liệu mà chúng tôi đã đề cập trong

Khái niệm cơ bản về trực quan hóa dữ liệu với Python

Giới thiệu từng bước trong vòng chưa đầy 5 phút

hướng tới khoa học dữ liệu. com

Nói cách khác, chúng tôi sẽ sử dụng dữ liệu từ đại dịch (số ca tử vong mỗi ngày) và chúng tôi sẽ sử dụng tập dữ liệu cuối cùng được cung cấp từ mã bên dưới. Nếu bạn muốn tìm hiểu thêm về các chuyển đổi dữ liệu bên dưới và cách bắt đầu với trực quan hóa dữ liệu đơn giản, trước tiên hãy đọc bài viết trên

import matplotlib.animation as ani
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
url = 'https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_deaths_global.csv'
df = pd.read_csv(url, delimiter=',', header='infer')
df_interest = df.loc[
df['Country/Region'].isin(['United Kingdom', 'US', 'Italy', 'Germany'])
& df['Province/State'].isna()]
df_interest.rename(
index=lambda x: df_interest.at[x, 'Country/Region'], inplace=True)
df1 = df_interest.transpose()
df1 = df1.drop(['Province/State', 'Country/Region', 'Lat', 'Long'])
df1 = df1.loc[(df1 != 0).any(1)]
df1.index = pd.to_datetime(df1.index)

Cốt truyện hoạt hình

Điều đầu tiên chúng ta cần làm là xác định các mục trong biểu đồ của chúng ta, chúng sẽ không đổi. Đó là, tạo đối tượng hình, nhãn x và y, đặt màu đường kẻ và lề hình

import numpy as np
import matplotlib.pyplot as plt
color = ['red', 'green', 'blue', 'orange']
fig = plt.figure()
plt.xticks(rotation=45, ha="right", rotation_mode="anchor") #rotate the x-axis values
plt.subplots_adjust(bottom = 0.2, top = 0.9) #ensuring the dates (on the x-axis) fit in the screen
plt.ylabel('No of Deaths')
plt.xlabel('Dates')

Sau đó, chúng tôi phải thiết lập chức năng đường cong của mình và sau đó tạo hoạt ảnh cho nó

def buildmebarchart(i=int):
plt.legend(df1.columns)
p = plt.plot(df1[:i].index, df1[:i].values) #note it only returns the dataset, up to the point i
for i in range(0,4):
p[i].set_color(color[i]) #set the colour of each curve
import matplotlib.animation as ani
animator = ani.FuncAnimation(fig, buildmebarchart, interval = 100)
plt.show()

Biểu đồ hình tròn hoạt hình

Cấu trúc mã trông giống hệt cấu trúc của biểu đồ đường. Tuy nhiên, có một số khác biệt mà chúng ta sẽ đi qua

import numpy as np
import matplotlib.pyplot as plt
fig,ax = plt.subplots()
explode=[0.01,0.01,0.01,0.01] #pop out each slice from the pie
def getmepie(i):
def absolute_value(val): #turn % back to a number
a = np.round(val/100.*df1.head(i).max().sum(), 0)
return int(a)
ax.clear()
plot = df1.head(i).max().plot.pie(y=df1.columns,autopct=absolute_value, label='',explode = explode, shadow = True)
plot.set_title('Total Number of Deaths\n' + str(df1.index[min( i, len(df1.index)-1 )].strftime('%y-%m-%d')), fontsize=12)
import matplotlib.animation as ani
animator = ani.FuncAnimation(fig, getmepie, interval = 200)
plt.show()

Một trong những điểm khác biệt chính là trong đoạn mã trên, chúng tôi trả về một bộ giá trị mỗi lần. Trong biểu đồ dòng, chúng tôi đã quay lại toàn bộ chuỗi thời gian cho đến thời điểm chúng tôi đang ở. Chúng tôi đạt được điều đó thông qua việc sử dụng

df1.head(i).max()

df1. head(i) trả về một chuỗi thời gian, nhưng. max() đảm bảo rằng chúng tôi chỉ nhận được các bản ghi mới nhất (vì tổng số người chết sẽ giữ nguyên hoặc tăng lên)

Biểu đồ thanh hoạt hình

Xây dựng biểu đồ thanh cũng dễ dàng như các ví dụ mà chúng ta đã thấy cho đến nay. Đối với ví dụ này, tôi đã bao gồm cả biểu đồ thanh ngang và dọc. Tùy thuộc vào cái nào bạn muốn xem, bạn chỉ cần xác định thanh biến

Làm cách nào để tạo hoạt hình 3D bằng Python?

MatPlotLib với Python .
Nhập các gói cần thiết. .
Đặt kích thước hình và điều chỉnh phần đệm giữa và xung quanh các ô con
Tạo t, x, y và các điểm dữ liệu bằng cách sử dụng numpy
Tạo một hình mới hoặc kích hoạt một hình hiện có
Lấy ví dụ về trục 3D
Tắt các trục
Vẽ các dòng với dữ liệu

Thư viện Python nào được sử dụng cho hoạt hình?

Matplotlib được biết đến nhờ lập trình trực quan hóa hướng đối tượng giữa các thư viện Python. Đây là một công cụ hữu ích nếu bạn cần tạo các hình ảnh tĩnh, hoạt hình và thậm chí là tương tác cho một dự án.

Tôi có thể tạo hoạt hình bằng mã hóa không?

Mã hóa có thể được sử dụng để tạo hoạt ảnh thông qua việc sử dụng CSS . Các tiêu đề trang web hoạt hình đang ngày càng trở nên phổ biến như một cách để thu hút người dùng và khiến họ quan tâm đến những gì bạn cung cấp.

Ngôn ngữ lập trình nào được sử dụng cho hoạt hình?

> Ngôn ngữ lập trình ActionScript cho phép hoạt ảnh tương tác, trò chơi điện tử, ứng dụng web, ứng dụng dành cho máy tính để bàn và thiết bị di động.