رسم نمودار در پایتون — ۸ روش پرکاربرد

عکس شاخص برای رسم نمودار در پایتون

در دنیای تحلیل داده و علم داده، رسم نمودار در پایتون یکی از مهم‌ترین ابزارها برای درک بهتر اطلاعات و مصورسازی نتایج است. پایتون به عنوان یکی از پرکاربردترین زبان‌های برنامه‌نویسی در این حوزه، مجموعه‌ای از کتابخانه‌های قدرتمند را برای رسم نمودار در پایتون ارائه می‌دهد. از نمودارهای ساده خطی و میله‌ای گرفته تا نمودارهای تعاملی و پیشرفته، این ابزارها به کاربران کمک می‌کنند تا داده‌ها را به شکلی بصری و قابل تفسیر نمایش دهند.

مقدمه

کتابخانه‌هایی مانند Matplotlib، Seaborn، Plotly و Bokeh از جمله محبوب‌ترین گزینه‌ها برای رسم نمودار در پایتون هستند. هر یک از این کتابخانه‌ها ویژگی‌های خاصی دارند که بسته به نوع داده‌ها و نیاز کاربر، می‌توان از آن‌ها استفاده کرد. Matplotlib به عنوان قدیمی‌ترین و پرکاربردترین ابزار، امکان ترسیم نمودارهای پایه‌ای را فراهم می‌کند، درحالی‌که Seaborn برای تجزیه‌وتحلیل آماری داده‌ها مناسب‌تر است. Plotly و Bokeh امکان ایجاد نمودارهای تعاملی را فراهم می‌کنند که برای نمایش داده‌ها در صفحات وب بسیار کاربردی است.  در این آموزش از سری مقاله های مجله پی استور شما را با رسم نمودار در پایتون با استفاده از Matplotlib آشنا می‌شوید، که شاید پرکاربردترین کتابخانه رسم و مصورسازی داده در پایتون باشد.

نصب Matplotlib در پایتون

ساده‌ترین راه برای نصب Matplotlib استفاده از pip است. دستور زیر را در ترمینال وارد کنید:

pip install matplotlib

یا می‌توانید Matplotlib را از اینجا دانلود کرده و به‌صورت دستی نصب کنید.

رسم نمودار در پایتون

روش‌های مختلفی برای رسم نمودار در پایتون وجود دارد. در اینجا برخی از روش‌های رایج برای رسم نمودار با Matplotlib را بررسی می‌کنیم:

  1. رسم یک خط
  2. رسم دو یا چند خط در یک نمودار
  3. سفارشی‌سازی نمودارها
  4. رسم نمودار میله‌ای با Matplotlib
  5. رسم هیستوگرام با Matplotlib
  6. رسم نمودار پراکندگی با Matplotlib
  7. رسم نمودار دایره‌ای با Matplotlib
  8. رسم منحنی‌های یک معادله داده‌شده

۱- رسم یک خط

در این مثال، کد از Matplotlib برای ایجاد یک نمودار خطی ساده استفاده می‌کند. مقادیر x و y برای نقاط داده تعریف شده، سپس با استفاده از ()plt.plot رسم می‌شوند. برچسب‌های محور x و y با ()plt.xlabel و ()plt.ylabel تعیین می‌شوند. عنوان نمودار با ()plt.title روی «اولین نمودار من!» تنظیم می‌شود. در نهایت، تابع ()plt.show برای نمایش نمودار با داده‌های مشخص‌شده، برچسب‌های محورها و عنوان استفاده می‌شود.

# importing the required module
import matplotlib.pyplot as plt

# x axis values
x = [1,2,3]
# corresponding y axis values
y = [2,4,1]

# plotting the points 
plt.plot(x, y)

# naming the x axis
plt.xlabel('x - axis')
# naming the y axis
plt.ylabel('y - axis')

# giving a title to my graph
plt.title('My first graph!')

# function to show the plot
plt.show()

خروجی:

عکس برای رسم نمودار در پایتون

۲- رسم دو یا چند خط در یک نمودار

در این مثال، کد از Matplotlib برای ایجاد یک نمودار با دو خط استفاده می‌کند. دو مجموعه از مقادیر x و y برای هر خط تعریف می‌شود و با استفاده از ()plt.plot رسم می‌شود. خطوط با پارامتر label به نام‌های «خط ۱» و «خط ۲» برچسب‌گذاری می‌شوند. محورها با ()plt.xlabel و ()plt.ylabel برچسب‌گذاری می‌شوند و عنوان نمودار با ()plt.title روی «دو خط در یک نمودار!» تنظیم می‌شود. افسانه «legend» با استفاده از ()plt.legend نمایش داده می‌شود و تابع ()plt.show برای مشاهده نمودار با هر دو خط و برچسب‌ها استفاده می‌شود.

import matplotlib.pyplot as plt

# line 1 points
x1 = [1,2,3]
y1 = [2,4,1]
# plotting the line 1 points 
plt.plot(x1, y1, label = "line 1")

# line 2 points
x2 = [1,2,3]
y2 = [4,1,3]
# plotting the line 2 points 
plt.plot(x2, y2, label = "line 2")

# naming the x axis
plt.xlabel('x - axis')
# naming the y axis
plt.ylabel('y - axis')
# giving a title to my graph
plt.title('Two lines on same graph!')

# show a legend on the plot
plt.legend()

# function to show the plot
plt.show()

خروجی:

عکس برای رسم نمودار در پایتون

۳- سفارشی‌ سازی نمودارها

در این مثال، کد از Matplotlib برای ایجاد یک نمودار خطی سفارشی استفاده می‌کند. مقادیر x و y تعریف شده و نمودار با یک خط سبز نقطه‌چین، یک نشانگر دایره‌ای آبی برای هر نقطه و اندازه نشانگر ۱۲ سفارشی‌سازی می‌شود. محدودیت‌های محور y بین ۱ و ۸ و محدودیت‌های محور x نیز بین ۱ و ۸ با استفاده از ()plt.ylim و ()plt.xlim تنظیم می‌شود. محورها با ()plt.xlabel و ()plt.ylabel برچسب‌گذاری می‌شوند و عنوان نمودار با ()plt.title روی «برخی سفارشی‌سازی‌های جالب!» قرار می‌گیرد.

import matplotlib.pyplot as plt

# x axis values
x = [1,2,3,4,5,6]
# corresponding y axis values
y = [2,4,1,5,2,6]

# plotting the points 
plt.plot(x, y, color='green', linestyle='dashed', linewidth = 3,
         marker='o', markerfacecolor='blue', markersize=12)

# setting x and y axis range
plt.ylim(1,8)
plt.xlim(1,8)

# naming the x axis
plt.xlabel('x - axis')
# naming the y axis
plt.ylabel('y - axis')

# giving a title to my graph
plt.title('Some cool customizations!')

# function to show the plot
plt.show()

خروجی:عکس برای رسم نمودار در پایتون

۴- رسم نمودار میله‌ ای با Matplotlib

در این مثال، کد از Matplotlib برای ایجاد یک نمودار میله‌ای استفاده می‌کند. مختصات x (left)، ارتفاع میله‌ها (height) و برچسب‌های میله‌ها (tick_label) تعریف می‌شود. سپس از تابع ()plt.bar برای رسم نمودار میله‌ای با پارامترهای مشخص‌شده مانند عرض میله، رنگ‌ها و برچسب‌ها استفاده می‌شود. محورها با ()plt.xlabel و ()plt.ylabel برچسب‌گذاری می‌شوند و عنوان نمودار با ()plt.title روی «نمودار میله‌ای من!» قرار می‌گیرد.

import matplotlib.pyplot as plt

# x-coordinates of left sides of bars 
left = [1, 2, 3, 4, 5]

# heights of bars
height = [10, 24, 36, 40, 5]

# labels for bars
tick_label = ['one', 'two', 'three', 'four', 'five']

# plotting a bar chart
plt.bar(left, height, tick_label = tick_label,
        width = 0.8, color = ['red', 'green'])

# naming the x-axis
plt.xlabel('x - axis')
# naming the y-axis
plt.ylabel('y - axis')
# plot title
plt.title('My bar chart!')

# function to show the plot
plt.show()

خروجی:

عکس برای رسم نمودار در پایتون

۵- رسم هیستوگرام با Matplotlib

در این مثال، کد از Matplotlib برای ایجاد یک هیستوگرام استفاده می‌کند. یک لیست از فرکانس‌های سنی «ages» تعریف می‌شود، محدوده مقادیر از ۰ تا ۱۰۰ تنظیم می‌شود و تعداد بینه‌ها به ۱۰ مشخص می‌شود. سپس از تابع ()plt.hist برای رسم هیستوگرام با داده‌ها و فرمت‌دهی مشخص شده، شامل رنگ، نوع هیستوگرام و عرض میله‌ها استفاده می‌شود. محورها با ()plt.xlabel و ()plt.ylabel برچسب‌گذاری می‌شوند و عنوان نمودار با ()plt.title روی «هیستوگرام من» قرار می‌گیرد.

import matplotlib.pyplot as plt

# frequencies
ages = [2,5,70,40,30,45,50,45,43,40,44,
        ۶۰,۷,۱۳,۵۷,۱۸,۹۰,۷۷,۳۲,۲۱,۲۰,۴۰]

# setting the ranges and no. of intervals
range = (0, 100)
bins = 10  

# plotting a histogram
plt.hist(ages, bins, range, color = 'green',
        histtype = 'bar', rwidth = 0.8)

# x-axis label
plt.xlabel('age')
# frequency label
plt.ylabel('No. of people')
# plot title
plt.title('My histogram')

# function to show the plot
plt.show()

خروجی:عکس برای رسم نمودار در پایتون

۶- رسم نمودار پراکندگی با Matplotlib

در این مثال، کد از Matplotlib برای ایجاد یک نمودار پراکندگی استفاده می‌کند. مقادیر x و y تعریف شده و به‌عنوان نقاط پراکندگی با نشانگرهای ستاره‌ای سبز (*) با اندازه ۳۰ رسم می‌شوند. محورها با ()plt.xlabel و ()plt.ylabel برچسب‌گذاری می‌شوند و عنوان نمودار با ()plt.title روی «نمودار پراکندگی من!» قرار می‌گیرد. افسانه «legend» با برچسب «ستاره‌ها» از طریق ()plt.legend نمایش داده می‌شود و در نهایت نمودار پراکندگی با استفاده از ()plt.show نمایش داده می‌شود.

import matplotlib.pyplot as plt

# x-axis values
x = [1,2,3,4,5,6,7,8,9,10]
# y-axis values
y = [2,4,5,7,6,8,9,11,12,12]

# plotting points as a scatter plot
plt.scatter(x, y, label= "stars", color= "green", 
            marker= "*", s=30)

# x-axis label
plt.xlabel('x - axis')
# frequency label
plt.ylabel('y - axis')
# plot title
plt.title('My scatter plot!')
# showing legend
plt.legend()

# function to show the plot
plt.show()

خروجی:عکس برای رسم نمودار در پایتون

۷- رسم نمودار دایره‌ ای با Matplotlib

در این مثال، کد از Matplotlib برای ایجاد یک نمودار دایره‌ای استفاده می‌کند. برچسب‌هایی برای فعالیت‌های مختلف «activities»، سهم هر برچسب «slices» و رنگ‌ها برای هر برچسب «colors» تعریف می‌شود. سپس از تابع ()plt.pie برای رسم نمودار دایره‌ای با گزینه‌های فرمت‌دهی مختلف، از جمله زاویه شروع، سایه، انفجار برای یک بخش خاص، شعاع و نمایش درصد با استفاده از autopct استفاده می‌شود. افسانه «legend» با ()plt.legend اضافه می‌شود و در نهایت نمودار دایره‌ای با استفاده از ()plt.show نمایش داده می‌شود.

import matplotlib.pyplot as plt

# defining labels
activities = ['eat', 'sleep', 'work', 'play']

# portion covered by each label
slices = [3, 7, 8, 6]

# color for each label
colors = ['r', 'y', 'g', 'b']

# plotting the pie chart
plt.pie(slices, labels = activities, colors=colors, 
        startangle=90, shadow = True, explode = (0, 0, 0.1, 0),
        radius = 1.2, autopct = '%1.1f%%')

# plotting legend
plt.legend()

# showing the plot
plt.show()

خروجی:عکس برای رسم نمودار در پایتون

۸- رسم منحنی‌ های یک معادله داده‌ شده

در این مثال، کد از Matplotlib و NumPy برای ایجاد نمودار یک موج سینوسی استفاده می‌کند. مختصات x از ۰ تا ۲π در افزایش‌های ۰.۱ با استفاده از ()np.arange تولید می‌شود و مختصات y با محاسبه سینوس هر مقدار x با استفاده از ()np.sin محاسبه می‌شود. سپس نقاط با استفاده از ()plt.plot رسم می‌شوند و نتیجه یک موج سینوسی خواهد بود. در نهایت، از تابع ()plt.show برای نمایش نمودار موج سینوسی استفاده می‌شود.

# importing the required modules
import matplotlib.pyplot as plt
import numpy as np

# setting the x - coordinates
x = np.arange(0, 2*(np.pi), 0.1)
# setting the corresponding y - coordinates
y = np.sin(x)

# plotting the points
plt.plot(x, y)

# function to show the plot
plt.show()

خروجی:عکس برای رسم نمودار در پایتون

نتیجه گیری

رسم نمودار در پایتون یکی از ابزارهای کلیدی برای تحلیل و مصورسازی داده‌ها است. با استفاده از کتابخانه‌هایی مانند Matplotlib، Seaborn، Plotly و Bokeh، می‌توان نمودارهای متنوعی از جمله خطی، میله‌ای، پراکندگی، دایره‌ای و هیستوگرام ایجاد کرد. هر یک از این کتابخانه‌ها ویژگی‌های منحصربه‌فردی دارند که بسته به نیاز می‌توان از آن‌ها استفاده کرد. یادگیری و به‌کارگیری روش‌های مختلف رسم نمودار در پایتون، به درک بهتر داده‌ها و تصمیم‌گیری‌های دقیق‌تر کمک می‌کند.


سوالات متداول


آیا می‌توان نمودارها را به صورت سه‌بعدی رسم کرد؟

بله، Matplotlib از نمودارهای سه‌بعدی با استفاده از mpl_toolkits.mplot3d پشتیبانی می‌کند و Plotly نیز قابلیت رسم نمودارهای سه‌بعدی تعاملی را دارد.

چگونه می‌توان یک نمودار ساده در پایتون رسم کرد؟

با استفاده از Matplotlib می‌توان به راحتی یک نمودار ساده رسم کرد. ابتدا matplotlib.pyplot را ایمپورت کرده، داده‌ها را مشخص کنید و سپس با ()plt.plot نمودار را نمایش دهید.

تفاوت بین Matplotlib و Seaborn چیست؟

Matplotlib یک کتابخانه پایه برای رسم نمودار است، در حالی که Seaborn بر اساس آن ساخته شده و برای مصورسازی داده‌های آماری با قالب‌های پیش‌فرض زیباتر استفاده می‌شود.

میزان رضایتمندی
لطفاً میزان رضایت خودتان را از این مطلب با دادن امتیاز اعلام کنید.
[ امتیاز میانگین 0 از 0 نفر ]
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع و مراجع:
geeksforgeeks w3schools opensource

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

2 × پنج =



برچسب‌ها:
پایتون


پیمایش به بالا