پایتون پر از کتابخانههایی است که میتوانند دادهها را ترسیم کنند. یکی از گزینههای با تعامل بسیار بالا Pygal است که به درد آن دسته از کاربران میخورد که به ظاهر زیبای دادههای ترسیم شده اهمیت میدهند. Pygal فایلهای خروجی بسیار زیبا با فرمت SVG تحویل میدهد که کاربران میتوانند به راحتی با آنها تعامل داشته باشند. SVG یک فرمت استاندارد برای تصاویر تعاملی است و میتواند تنها با چند خط کد پایتون، تجربه کاربری بسیار خوبی ارائه دهد.
چگونه از کتابخانه Pygal برای ترسیم نمودارهای زیبا استفاده کنیم؟
در این بخش میخواهیم این شکل چند ستونی را که مربوط به نتیجه انتخابات انگلیس از سال ۱۹۶۶ تا ۲۰۲۰ است، بازسازی کنیم.
قبل از اینکه ادامه بدهیم، توجه داشته باشید که ممکن است نیاز به تنظیم کردن محیط پایتون برای اجرا شدن این کد داشته باشید. اقداماتی نظیر:
- اجرا کردن یکی از نسخههای اخیر پایتون (دستورالعملهای برای لینوکس، مک و ویندوز)
- تأیید این که در حال اجرای نسخهای از پایتون هستید که با این کتابخانهها کار میکند
دیتای مورد نیاز ما به صورت آنلاین در دسترس است و میتوانید با کمک pandas آن را ایمپورت کنید:
import pandas as pd
df = pd.read_csv('https://anvil.works/blog/img/plotting-in-python/uk-election-results.csv')
حالا دیتا آماده است. چیزی شبیه به این:
ترسیم این داده در Paygal به شکلی انجام میشود که خوانش آن بسیار آسان است. اول، آبجکت استایل را به شکلی تعریف میکنیم که تعریف بار چارت ما را ساده خواهد کرد. بعد از آن استایل سفارشی را با در نظر گرفتن دیگر متادیتاها به یک آبجکت Bar میدهیم:
import pygal
from pygal.style import Style
custom_style = Style(
colors=('#0343df', '#e50000', '#ffff14', '#929591'),
font_family='Roboto,Helvetica,Arial,sans-serif',
background='transparent',
label_font_size=14,
)
c = pygal.Bar(
title="UK Election Results",
style=custom_style,
y_title='Seats',
width=1200,
x_label_rotation=270,
)
در مرحله بعد دیتای مورد نظر را در آبجکت Bar اضافه میکنیم:
c.add('Conservative', df['conservative'])
c.add('Labour', df['labour'])
c.add('Liberal', df['liberal'])
c.add('Others', df['others'])
c.x_labels = df['year']
نهایتاً شکل plot را با فرمت SVG خروجی میگیریم:
c.render_to_file('pygal.svg')
نتیجه، یک plot تعاملی SVG میشود که در شکل زیر میبینید:
همانطور که میبینید این تصویر بسیار ساده و زیبا و بسیار خوانا است.
نتیجهگیری
بعضی از آپشنهای ترسیم در پایتون، نیازمند ساخت تکتک آبجکتها با جزئیات کامل هستند. Paygal از همان ابتدا این عملکرد را در اختیار شما قرار میدهد. اگر دیتایی برای ترسیم دارید و میخواهید آن را به صورت تعاملی و به شکل ساده و زیبا و خوانا بصری کنید، حتماً Paygal را امتحان کنید.