رسم اشکال گرافیکی در پایتون – به زبان ساده + کتابخانه ها و روش ها

۱۷
۱۴۰۴/۰۹/۲۳
۱۸ دقیقه
PDF
آموزش متنی جامع
امکان دانلود نسخه PDF

برای رسم اشکال گرافیکی در پایتون، کتابخانه‌های مختلفی مانند «Turtle» و «Plotly» و «Matplotlib» و غیره وجود دارند. هر کدام از این کتابخانه‌ها کاربردهای خاص خود را دارند. برای همین باید با توجه به پروژه، کتابخانه را انتخاب کنیم. از آنجا که زبان برنامه نویسی پایتون، بسیار گسترده شده و کاربرد‌های متنوعی پیدا کرده است، کتابخانه‌های مختلفی هم برای آن به وجود آمده‌اند. به عنوان مثال، طراح نرم‌افزارهای دسکتاپ برای ساخت رابط گرافیکی ممکن است به اشکال هندسی نیاز داشته باشد. تحلیل‌گران داده نیز برای برجسته کردن تکه‌های نمودار از این اشکال استفاده می‌کنند. برای همین کاربرد‌های مختلف است که باید روش‌ مورد نیاز خود را یاد بگیریم.

آنچه در این مطلب می‌آموزید:
  • با مهم‌ترین ماژول‌های پایتون برای رسم اشکال گرافیکی و کاربرد آن‌ها آشنا می‌شوید.
  • متوجه می‌شوید که Plotly چیست و چطور اشکال هندسی مانند مربع و دایره رسم را می‌کند.
  • با Matplotlib آشنا شده و روش رسم مستطیل، دایره و مثلث را در آن یاد می‌گیرید.
  • بعد از آشنا شدن با Tkinter و کاربرد آن روش رسم چند شکل را بر روی یک بوم می‌آموزید.
  • متوجه می‌‌شوید که Pygame چه کاربردی داشته و چرا باید اشکال گرافیکی در آن رسم کرد.
  • روش رسم اشکال گرافیکی در پایتون توسط PyQt را یاد می‌گیرید.
رسم اشکال گرافیکی در پایتون – به زبان ساده + کتابخانه ها و روش هارسم اشکال گرافیکی در پایتون – به زبان ساده + کتابخانه ها و روش ها
997696

در این مطلب از مجله فرادرس، روش‌های متفاوتی از رسم اشکال گرافیکی در پایتون را بررسی می‌کنیم. ابتدا با مفهوم این ویژگی و بعضی از پرکاربرد‌ترین کتابخانه‌های فرادرس آشنا می‌شویم. سپس یک به یک کتابخانه‌ها را بررسی کرده و برای هر کدام چند مثال حل می‌کنیم.

روش‌های رسم اشکال گرافیکی در پایتون

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

در این مطلب، چند کتابخانه مختلف را برای رسم اشکال گرافیکی بررسی می‌کنیم.

  • Plotly: کتابخانه Plotly برای مصور‌سازی داده‌ها به کار برده می‌شود. در این کتابخانه معمولا از اشکال گرافیکی برای علامت‌گذاری بخش‌های خاصی از نمودار‌ها استفاده می‌شود.
  • Matplotlib: این کتابخانه‌ در حوزه علم داده کاربرد زیادی دارد. برنامه نویسان با کمک اشکالی مانند دایره، مستطیل و غیره، داده‌های موجود بر روی نمودار را برجسته می‌کنند.
  • Tkinter: کتابخانه «Tkinter» یکی از بهترین ماژول‌ها برای ساخت «GUI» در پایتون است. برای همین امکانات خاصی برای رسم اشکال گرافیکی در آن تعبیه شده است.
  • Pygame: کتابخانه «Pygame» بیشتر در حوزه بازی‌سازی کاربرد دارد. در این فریم‌ورک برای ساخت عناصر بازی، از اشکال گرافیکی استفاده می‌کنیم.
  • PyQt: فریم‌ورک «PyQt» یکی از بهترین فریم‌ورک‌های پایتون برای ساخت رابط کاربری گرافیکی است. شاید بخواهیم از اشکال گرافیکی مختلف در پنجره‌های رابط کاربری خود استفاده کنیم.
  • Turtle: این کتابخانه بیشتر برای سرگرمی و آموزش استفاده می‌شود. می‌توان با آن شکل‌های مختلف یا حتی بازی‌های ساده ساخت. به همین دلیل، توابع آماده‌ای برای رسم انواع شکل‌ها در آن قرار داده شده‌اند.
کتابخانه‌های مفید برای رسم اشکال گرافیکی در پایتون
کتابخانه‌های کاربردی برای رسم اشکال گرافیکی در پایتون

در ادامه مطلب، همراه با مثال‌های ساده، روش ساخت اشکال هندسی را در این کتابخانه‌ها بررسی کرده‌ایم.

کتابخانهکاربرد در رسم اشکال گرافیکی
Plotlyعلامت‌گذاری بخش‌های مهم نمودار
Matplotlibبرجسته‌کردن داده‌ها با دایره، مستطیل و دیگر شکل‌ها
Tkinterرسم شکل‌ها برای ساخت رابط‌های گرافیکی ساده
Pygameاستفاده از اشکال برای ساخت عناصر بازی
PyQtاستفاده از اشکال در پنجره‌های رابط کاربری
Turtleرسم شکل‌های مختلف برای آموزش و سرگرمی

رسم اشکال گرافیکی در پایتون با کمک Plotly

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

در تصویر پایین روش استفاده از این اشکال را بر روی نمودار مشاهده می‌کنید.

دو نمودار مختلف یکی با اشکال هندسی و دیگری بدون شکل

بررسی شکل‌‌های کتابخانه Plotly

کتابخانه Plotly از چند شکل هندسی مختلف برای استفاده بر روی نمودارها پشتیبانی می‌کند. برای تعریف هر کدام از این شکل‌ها باید دو پارامتر اصلی یعنی «نوع شکل» و «مختصات آن» را مشخص کنیم.

در فهرست پایین، مهم‌ترین اشکال اولیه در کتابخانه plotly را به شکل خلاصه معرفی کرده‌ایم.

  • مستطیل» (Rectangle): برای تعریف نوع مستطیل از کد type: 'rect'  استفاده می‌کنیم. نکته بعد مختصات آن است. برای مشخص کردن این پارامتر کافیست که فقط مختصات دو گوشه مخالف هم را به صورت (x0, y0)  و (x1, y1) بنویسیم. مستطیل گزینه بسیار مناسبی برای سایه زدن در نواحی مهم یا پررنگ کردن پنجره خاصی از داده‌ها است.
  • «خط» (Line): در زمان مشخص کردن این عنصر هندسی از کد استفاده type: 'line'  میکنیم. مختصات خط را با نوشتن نقاط ابتدا (x0, y0)  و انتهای آن (x1, y1)  مشخص میکنیم.
  • دایره» (Circle): برای مشخص کردن نوع این شکل از عبارت type: 'circle'  استفاده می‌کنیم. در زمان رسم دایره باید مختصات مرکز و اندازه شعاع آن را مشخص کنیم. دایره، گزینه بسیار خوبی برای تاکید بر نقاط مجزایی از نمودار یا خوشه‌های کوچک اطلاعات است. توجه کنید که اغلب اوقات برای ایجاد دایره باید نسبت ابعاد محور‌ها را هم تنظیم کنیم. با این کار از تبدیل دایره به بیضی جلوگیری می‌کنیم.
  • مسیر» (Path): مسیر یا Path برای وقتی است که می‌خواهیم شکل‌های پیچیده رسم کنیم. برای این کار از رشته «SVG» به صورت path  استفاده می‌کنیم. در زمان رسم path  باید از مجموعه‌ای از دستورات مشخص استفاده کنیم. چند نمونه از این دستورات را در فهرست پایین نوشته‌ایم.
    • M  برای حرکت
    • L  برای متصل کردن خط
    • Z برای بستن مسیر
مهمترین اشکال اولیه در کتابخانه plotly
مهم‌ترین اشکال اولیه در کتابخانه Plotly

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

شکلکد مورد استفاده در Plotlyکاربرد و توضیح خلاصه
مستطیلtype: rectتعریف با دو نقطه مخالف، مناسب سایه‌زدن و مشخص‌کردن بخش‌های مهم نمودار
خطtype: lineتعریف با نقطه شروع و پایان، مناسب برای خطوط راهنما یا علامت‌گذاری
دایرهtype: circleنیاز به مرکز و شعاع، برای تاکید روی نقاط یا خوشه‌ها
مسیرtype: pathرسم شکل‌های پیچیده با دستورات SVG، مناسب برای فرم‌های غیرمنظم،

رسم شکل در plotly با کمک مثال

متد fig.add_shape()  مهم‌ترین ابزار برای رسم اشکال مختلف بر روی نمودار‌های plotly است. این متد، تابعی از شیء plotly.graph_objects.Figure  است. ابتدا باید نمودار یا تصویر اولیه خود را رسم کنیم. به عنوان مثال می‌توان به نمودار‌های پراکندگی یا خطی اشاره کرد. سپس متد add_shape()  را فراخوانی می‌کنیم تا اشکال را مانند لایه‌ای بر روی نمودار اصلی رسم کنند.

تا اینجای مطلب به مفهوم رسم اشکال گرافیکی در پایتون و کتابخانه‌های مناسب برای این وظیفه آشنا شده‌اید. در ادامه مطلب هر کدام از این کتابخانه‌ها را با چند مثال ساده بررسی کرده‌ایم. اما در صورت تمایل به مطالعه این نوع از مطالب پیشنهاد می‌کنیم که از اپلیکیشن مجله فرادرس استفاده کنید.

برای نصب اپلیکیشن رایگان مجله فرادرس، کلیک کنید.

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

بعد از اجرای کدهای بالا، تصویر زیر تولید شده و نمایش داده می‌شود.

نمودار داده علامت گذاری شده با مستطیل

تقویت مهارت برنامه نویسی پایتون با کمک فرادرس

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

مجموعه فیلم‌های آموزش برنامه نویسی پایتون Python – مقدماتی تا پیشرفته فرادرس
با کلیک بر روی تصویر بالا می‌توانید به صفحه اصلی مجموعه فیلم‌های آموزش برنامه نویسی پایتون Python از مقدماتی تا پیشرفته هدایت شوید.

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

رسم اشکال گرافیکی در پایتون با کمک Matplotlib

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

قبل از رسم نمودار در Matplotlib باید با مفاهیم زیر آشنا باشید.

  • Matplotlib: کتابخانه بسیار جامع برای رسم نمودارهای مختلف در پایتون است. با کمک این فریم‌ورک می‌توان نمودار‌های ایستا، پویا و جذابی بر اساس داده‌ها ایجاد کرد.
  • Axes: ناحیه‌‌ای که داده‌های خود را بر روی آن رسم می‌کنید. تمام اشکال بر روی این محورها رسم می‌شود.
  • پچ‌ها: مجموعه‌ای از کلاس‌ها در Matplotlib که برای رسم اشکالی مانند مستطیل، دایره و چندضلعی به کار برده می‌شوند.
کاربرد تصاویر گرافیکی در کتابخانه Matplotlib
کاربرد تصاویر گرافیکی در کتابخانه Matplotlib

در زمان رسم شکل در Matplotlib ابتدا باید صفحه مناسبی به عنوان صفحه کار رسم کنیم. برای رسم صفحه از کد زیر استفاده می‌کنیم.

در ادامه این بخش از مطلب، روش رسم چند شکل را با کمک Matplotlib و مثال ساده بررسی کرده‌ایم.

رسم مستطیل با کمک Matplotlib

برای رسم مستطیل در این کتابخانه باید از تابع Rectangle()  استفاده کنیم. این تابع از matplotlib.patches  به محیط کدنویسی اضافه می‌شود. در کادر پایین، ابتدا یک صفحه با دو محور عمودی و افقی ساخته‌ایم. سپس با کمک این تابع مستطیل مورد نظر خود را ایجاد می‌کنیم.

بعد از اجرای کدهای بالا خروجی به شکل زیر ظاهر می‌شود.

رسم مستطیل با کمک کتابخانه matplotlib - رسم اشکال گرافیکی در پایتون

در فهرست پایین روش کار کدهای بالا را نوشتیم.

  1. در دو خط اول ابزارهای pyplot  و Rectangle  را به برنامه اضافه می‌کنیم.
  2. در خط سوم شکل fig و محور ax  را برای رسم می‌سازیم.
  3. در خط بعد یک مستطیل با مختصات (0.2 , 0.2)، عرض 0.5  و ارتفاع 0.3  ساخته شده و رنگ لبه‌ها و داخل آن را تنظیم می‌کنیم.
  4. سپس با add_patch  مستطیل را به نمودار اضافه متصل می‌کنیم.
  5. در خطوط ۷ و ۸ محدوده محورهای x  و y  را روی 0  تا 1  تنظیم می‌کنیم.
  6. در خط ۹، نسبت محورها مساوی هم قرار داده می‌شود.
  7. در خط ۱۰ و ۱۱، شبکه فعال شده و عنوانی به نمودار اختصاص داده می‌شود.
  8. در نهایت با plt.show()  نمودار همراه مستطیل نمایش داده می‌شود.
لوگوی پایتون در حال رسم اشکال گرافیکی رنگی بر روی یک تبلت است.

رسم دایره با کمک Matplotlib

در کادر پایین با کمک matplotlib  دایره‌ای بر روی صفحه کار خود رسم کرده‌ایم.

بعد از اجرای کدهای بالا خروجی به شکل زیر ظاهر می‌شود.

رسم دایره با کمک Matplotlib

در فهرست پایین روش کار کدهای بالا را نوشتیم.

  1. در خطوط ۱ و ۲: کتابخانهmatplotlib.pyplot و کلاس Circle  برای ساخت دایره ایمپورت می‌شوند.
  2. در خط چهارم: شکل fig و محور ax  را برای رسم ساخته می‌شود.
  3. در خط ۵: دایره‌ای با مرکز (0.5 , 0.5)  و شعاع 0.2  ساخته شده و رنگ دور آن قرمز و رنگ داخل آن صورتی روشن تنظیم می‌شود.
  4. در خط۶: دایره با add_patch  به محور اضافه می‌شود.
  5. از خط ۷ تا ۹: محدوده محورهای x  و y  روی 0  تا 1  تنظیم شده است. همچنین نسبت محورها مساوی قرار داده شده تا دایره به شکل درست، نمایش داده شود.
  6. در خطوط ۹ و ۱۰: شبکه فعال شده و نام مرتبطی به نمودار تخصیص داده می‌شود.
  7. در آخر: با متد plt.show()  دایره روی نمودار نمایش داده می‌شود.

رسم مثلث با کمک matplotlib

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

بعد از اجرای کدهای بالا خروجی به شکل زیر ظاهر می‌شود.

رسم مثلث با کمک matplotlib - رسم اشکال گرافیکی در پایتون

در فهرست پایین روش کار کدهای بالا را نوشتیم.

  1. در خطوط ۱ و ۲: کتابخانه plt و کلاس Polygon  وارد برنامه می‌شوند.
  2. در خط ۴: شکل fig و محور ax  را برای رسم ساخته می‌شود.
  3. در خط ۵: چندضلعی با سه راس مشخص‌شده ساخته می‌شود. رنگ دور آن سبز و رنگ داخل آن سبز روشن قرار داده شده است. هر چند ضلعی که سه راس داشته باشد مثلث است.
  4. در خط ۶: با دستور add_patch  این شکل به محور اضافه می‌شود.
  5. در خط ۷ و ۸ و ۹: محدوده محورهای x  و y  روی 0  تا 1  تنظیم شده و نسبت محورها مساوی هم قرار داده می‌شود. در نتیجه شکل بدون تغییر عجیب در ظاهر، نمایش داده خواهد شد.
  6. در خطوط ۱۰ و ۱۱: شبکه فعال شده و نام مرتبطی به نمودار تخصیص داده می‌شود.
  7. در خط۱۲: با کمک تابع plt.show()  چندضلعی نمایش داده می‌شود.

رسم اشکال گرافیکی در پایتون با کمک Tkinter

Tkinter کتابخانه استاندارد برای ساخت GUI در پایتون است. ویجت بوم یا Canvas، یکی از ابزارهای بسیار قدرتمند این کتابخانه است. با کمک این ویجت می‌توانیم اشکال هندسی مختلفی را بسازیم. ویجت Canvas  در Tkinter فضای بسیار خوبی برای رسم اشکال گرافیکی دوبعدی است. در صورت تمایل به یادگیری استفاده از Tkinter پیشنهاد می‌کنیم که فیلم آموزش کتابخانه Tkinter در پایتون برای توسعه اپلیکیشن های دسکتاپ را در فرادرس مشاهده بکنید. برای کمک به مخاطبان مجله، لینک این فیلم را در پایین نیز قرار داده‌ایم.

در این بخش از مطلب اشکال مختلفی مانند بیضی، مستطیل، قوص و چندضلعی‌ را با استفاده از کلاس Canvas  رسم می‌کنیم.

رسم اشکال مختلف بر روی بوم در Tkinter

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

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

بعد از اجرای کدهای بالا خروجی به شکل زیر ظاهر می‌شود.

رسم اشکال مختلف بر روی بوم در Tkinter

در فهرست پایین روش کار کدهای بالا را نوشتیم.

  1. با کمک کلاس Shape  بوم یا Canvas ایجاد می‌کنیم.
  2. سپس با استفاده از متدهایی مانند create_oval  و create_rectangle و create_arc  و create_polygon  شکل‌های مختلف را روی بوم رسم می‌کنیم.
  3. اندازه و موقعیت پنجره با دستور geometry()  تنظیم شده و چیدمان عناصر با متد pack()  مدیریت می‌شوند.
  4. دستور mainloop()  برنامه را فعال و پنجره را باز نگه می‌دارد.

رسم اشکال گرافیکی در پایتون با کمک Pygame

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

با استفاده از متد draw  در pygame  به راحتی می‌توانیم اشکال مختلفی را در پایتون رسم کنیم. در این بخش از مطلب، چند شکل هندسی را با کمک کتابخانه Pygame رسم می‌کنیم.

رسم مستطیل با کمک Pygame

برای رسم مستطیل در پروژه‌های Pygame از تابع draw.rect()  استفاده می‌کنیم. سینتکس این تابع را در پایین نوشته‌ایم.

این سینتکس 4 پارامتر اصلی دارد.

  • surface: در این بخش سطحی، را معرفی می‌کنیم که باید مستطیل بر روی آن رسم شود.
  • color : در این پارامتر رنگ مستطیل مورد نظر را مشخص می‌کنیم.
  • rect: در این قسمت هم موقعیت و ابعاد مستطیل را مشخص می‌کنیم.
  • width: در این بخش نیز ضخامت خط را مشخص می‌کنیم. با تغییر دادن مقدار این پارامتر حتی می‌توان مستطیل توپر ساخت.

در کدهای پایین مستطیلی با همین سینتکس تعریف کرده‌ایم.

بعد از اجرای کدهای بالا خروجی به شکل زیر ظاهر می‌شود.

رسم مستطیل با کمک Pygame

در فهرست پایین روش کار کدهای بالا را نوشتیم.

  1. در ابتدا ماژول pygame  وارد و با pygame.init()  فعال می‌شود. در این صورت می‌توان از قابلیت‌های آن استفاده کرد.
  2. سپس پنجره‌‌ای با اندازه (600, 600) با set_mode()  ساخته شده و با رنگ زرد کم‌رنگ پر می‌شود.
  3. با استفاده از pygame.draw.rect  مستطیل آبی در مختصات (100 , 100)  با اندازه‌ی 400×100  و ضخامت 5 پیکسل رسم می‌کنیم.
  4. در پایان هم با کد pygame.image.save  تصویر را در فایل ذخیره کرده و با Image()  نمایش می‌دهیم. البته می‌توانید با کد pygame.display.update()  نیز تغییرات را به شکل مستقیم روی صفحه نمایش بدهید.

رسم دایره با کمک pygame

برای رسم دایره در پروژه‌های pygame  از تابع draw.circle()  استفاده می‌کنیم. روش کلی این عملیات شبیه به روش ساخت مستطیل است. فقط تابع و پارامتر‌ها به ترتیب تغییر کرده‌اند.

در کادر پایین، سینتکس مورد استفاده برای رسم دایره دیده می‌شود.

در سینتکس بالا ۵ پارامتر اصلی وجود دارند. این پارامتر‌ها را در فهرست پایین معرفی کرده‌ایم.

  • surface: در این پارامتر همان سطحی را معرفی می‌کنیم که دایره بر روی آن رسم می‌شود.
  • color: در این پارامتر هم باید رنگ دایره را مشخص کنیم.
  • center: در این پارامتر باید مختصات مرکز دایره را به شکل ( x, y ) ثبت کنیم.
  • radius: در این پارامتر اندازه شعاع دایره را مشخص می‌کنیم.
  • width: این پارامتر هم ضخامت خط را مشخص می‌کند. با تنظیم این پارامتر می‌توانیم دایره توپر بسازیم.

در کادر پایین، کدهای مربوط به رسم دایره توپر را نوشته‌ایم.

بعد از اجرای کدهای بالا خروجی به شکل زیر ظاهر می‌شود.

رسم دایره با کمک pygame

در فهرست پایین روش کار کدهای بالا را نوشتیم.

  1. ابتدا ماژول pygame  وارد شده و با pygame.init()  فعال می‌شود.
  2. پنجره‌ای با set_mode()  ساخته و صفحه آن را با رنگ زرد لیمویی پر می‌شود.
  3. سپس با استفاده از کد pygame.draw.circle دایره‌ی سبز با مرکز (300, 300)  و شعاع 170  روی صفحه رسم می‌شود.
  4. در پایان هم با کد pygame.image.save  تصویر را در فایل ذخیره کرده و با Image()  نمایش می‌دهیم. البته می‌توانید با کد pygame.display.update()  نیز تغییرات را به شکل مستقیم روی صفحه نمایش بدهید.

رسم چند شکل در کنار یکدیگر

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

بعد از اجرای کدهای بالا خروجی به شکل زیر ظاهر می‌شود.

رسم دایره سبز بر روی مستطیل آبی در کنار یکدیگر

در فهرست پایین روش کار کدهای بالا را نوشتیم.

  1. ابتدا ماژول pygame  را وارد کرده و با دستور pygame.init()  برنامه را آماده استفاده از امکانات آن می‌کنیم.
  2. پنجره‌ای با اندازه (600, 600) پیکسل می‌سازیم و آن را با رنگ زرد لیمویی پر می‌کنیم.
  3. با دستور pygame.draw.rect  مستطیل آبی روی صفحه رسم می‌کنیم.
  4. سپس با کد pygame.draw.circle  دایره سبز را داخل همان مستطیل می‌کشیم.
  5. در آخر با pygame.display.update()  صفحه را به‌روزرسانی می‌کنیم تا شکل‌ها نمایش داده شوند.

رسم اشکال گرافیکی در پایتون توسط PyQt

PyQt یکی از کتابخانه های گرافیکی پایتون است. این کتابخانه برای رسم رابط کاربری گرافیکی یا GUI در پایتون به کار برده می‌‌شود. در این قسمت از مطلب، چند شکل ساده و چندضلعی را با کمک PyQt رسم می‌کنیم.

رسم چندضلعی در PyQt

به منظور رسم چندضلعی در پایتون می‌توان از متد‌های createPoly()  یا QPolygon()  استفاده کرد. برای استفاده از این متدها باید آن‌ها را با تابع drawPolygon()  فراخوانی بکنیم. در مثال پایین از متدی به نام createPoly()  استفاده کرده‌ایم. این متد برای رسم چندضلعی در PyQt به کار برده می‌‌شود.

بعد از نوشتن و اجرای کدهای بالا شکل زیر در پنجره مستقل ساخته شده و ظاهر می‌شود.

رسم چندضلعی در PyQt

در فهرست پایین روش کار کدهای بالا را نوشتیم.

  1. ابتدا کتابخانه math و چند ابزار از کتابخانه PyQt6  را وارد می‌کنیم تا بتوانیم پنجره و شکل‌ها را بسازیم.
  2. در کلاس MyWidget، یک پنجره600×600  می‌سازیم.
  3. تابع createPoly  نقطه‌های ۸ضلعی را با استفاده از زاویه، سینوس و کسینوس محاسبه می‌کند.
  4. سپس با تابع createPoly شکل ۸ ضلعی می‌سازیم. راس‌های آن با استفاده از فرمول‌های سینوس و کسینوس محاسبه می‌شوند.
  5. در تابع paintEvent، شیء QPainter  ساخته می‌شود. خط دور شکل با رنگ آبی و ضخامت ۴ تنظیم می‌شود. رنگ داخل شکل نیز به زرد روشن تغییر می‌کند.
  6. در نهایت این ۸ضلعی روی صفحه رسم می‌شود.
  7. در پایان برنامه، تصویر مورد نظر ساخته شده و برنامه PyQt در حالت اجرا باقی می‌ماند.

رسم مثلث در PyQt

در این مثال می‌خواهیم با کمک متدهایی مانند QPolygon()  و QPoint()  و setGeometry()  مثلث رسم کنیم. در فهرست پایین، کلاس‌های QPolygon  و Qpoint  را تعریف کرده‌ایم.

  • QPolygon(): کلاس QPolygon  دارای «سازنده‌» (Constructor) داخلی به نام QPolygon()  است که لیست نقاط را با دقت «عدد صحیح» (Integer Precision) ذخیره می‌کند.
  • Qpoint(): کلاس QPoint  عملکرد مشابه با QPolygon  دارد. با این تفاوت که کلاس QPoint  از دو پارامتر x  و y  برای ذخیره کردن مختصات استفاده می‌کند.

توجه کنید که می‌توانیم بدون هیچ محدودیتی از QPoint()  بر روی کلاس QPolygon  استفاده کنیم. یعنی برای اضافه کردن نقطه‌های بیشتر مشکلی وجود ندارد و به راحتی می‌توانیم از کلاس QPoint()  کمک بگیریم. در مثال پایین با کمک این کلاس‌ها شکل مثلث ساخته‌ایم.

بعد از اجرای کدهای بالا خروجی به شکل زیر ظاهر می‌شود.

رسم مثلث در PyQt

در فهرست پایین روش کار کدهای بالا را نوشتیم.

  1. ابتدا کتابخانه‌های لازم را از PyQt6  وارد می‌کنیم. با کمک این کتابخانه‌ها می‌توانیم شکل‌های گرافیکی رسم کنیم.
  2. کلاسی به نام Example  می‌سازیم که از QWidget ارث بری می‌کند. در متد __init__()، اندازه و موقعیت پنجره را تعیین می‌کنیم. متد __init__ در پایتون به عنوان «سازنده» (Constructor) کلاس، شناخته می‌‌شود.
  3. متد paintEvent  مسئول رسم شکل روی پنجره است.
  4. در خط ۱۱، ابتدا شیء QPainter  می‌سازیم تا بتوانیم روی صفحه نقاشی کنیم.
  5. در خطوط ۱۲ و ۱۳ رنگ خط را مشکی و رنگ داخل شکل را صورتی روشن تنظیم می‌کنیم.
  6. با استفاده از QPoint  سه نقطه می‌سازیم و در QPolygon  قرار می‌دهیم. این سه نقطه رأس‌های مثلث هستند.
  7. با دستور qp.drawPolygon(points)  مثلث روی پنجره کشیده می‌شود.
  8. در بخش پایانی برنامه، شیئی از روی کلاس QApplication  می‌سازیم. سپس نمونه‌ای هم از کلاس Example  می‌سازیم. پنجره را نمایش می‌دهیم و با app.exec()  حلقه اصلی Qt را اجرا می‌کنیم تا برنامه باز بماند.

یادگیری پایتون با اجرای پروژه

هدف اصلی از یادگیری رسم اشکال گرافیکی در پایتون این است که بتوانیم در پروژه‌های خود از آن‌ها استفاده کنیم. برای مثال می‌توان به ساخت رابط کاربری گرافیکی یا بازی‌سازی اشاره کرد. البته برای پیاده‌سازی پروژه‌های واقعی به مهارت‌های متنوعی نیاز داریم. باید بتوانیم با ابزارهای کاربردی مانند حلقه‌ها، عبارت‌های شرطی و انواع ساختارهای ذخیره داده و غیره به خوبی کار کنیم. بهترین روش برای یادگیری این مهارت‌ها استفاده از آن‌ها در زمان ساخت پروژه است. این روش، تاثیر بسیار زیادی در نهادینه کردن تکنیک‌های برنامه نویسی دارد.

برای یادگیری پایتون با اجرای پروژه، در این قسمت چند مورد از فیلم‌های آموزشی بسیار خوب فرادرس را به شما پیشنهاد می‌دهیم.

برای مشاهده فیلم‌های بیشتر بر روی تصویر زیر کلیک کنید.

مجموعه آموزش پروژه محور برنامه نویسی پایتون (Python)
با کلیک بر روی تصویر بالا می‌توانید به صفحه اصلی مجموعه فیلم‌های آموزش پروژه محور برنامه نویسی پایتون هدایت شوید.

در ادامه روش رسم چند شکل هندسی توسط کتابخانه Turtle را نیز بررسی می‌کنیم.

رسم اشکال گرافیکی در پایتون توسط Turtle

Turtle هم مانند Tkinter یکی از ماژول‌های کتابخانه استاندارد پایتون است. این ماژول همراه با نصب پایتون بر روی کامپیوتر نصب می‌شود. کتابخانه Turtle به برنامه نویسان کمک می‌کند تا اشکال مختلف را بر روی بوم مجازی پایتون رسم کنند. از Turtle می‌توان برای ساخت بازی‌های ساده در پایتون استفاده کرد.

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

رسم اشکال گرافیکی در پایتون توسط Turtle
رسم اشکال گرافیکی در پایتون توسط Turtle

رسم مربع توپر

در کادر پایین، روش ساختن مربع توپر با استفاده کتابخانه Turtle را کدنویسی کرده‌ایم.

بعد از اجرای کدهای بالا خروجی به شکل زیر ظاهر می‌شود.

رسم مربع توپر با Turtle - رسم اشکال گرافیکی در پایتون

در فهرست پایین، روش کار کدهای بالا را نوشتیم.

  1. ابتدا ماژول turtle  را وارد کرده و شیء Turtle  را از روی آن می‌سازیم.
  2. رنگ داخل شکل را با کد tt.fillcolor("blue")  آبی قرار می‌دهیم.
  3. با tt.begin_fill()  پایتون نقطه شروع رسم چندضلعی را برای رنگ‌آمیزی به خاطر می‌سپارد.
  4. با حلقه for یک مربع با ضلع 150 پیکسل می‌کشیم و در هر ضلع با tt.right(90)  جهت را تغییر می‌دهیم.
  5. با کد tt.end_fill()  اعلام می‌کنیم که رسم چند‌ضلعی به پایان رسیده است و الان برنامه باید داخل آن را با رنگ آبی پر کند.
  6. در پایان با دستور turtle.done()  برنامه متوقف شده و پنجره باز می‌ماند.
نمودار از تبدیل کدهای پایتون به اشکال گرافیکی با دو مانیتور نصفه و چسبیده به هم

رسم دایره توپر با Turtle

در کادر پایین، دایره توپری با کمک کتابخانه turtle  در پایتون ساخته‌ایم.

بعد از اجرای کدهای بالا خروجی به شکل زیر ظاهر می‌شود.

رسم دایره با کمک کتابخانه Turtle

در فهرست پایین روش کار کدهای بالا را نوشتیم.

  1. ابتدا ماژول turtle  را وارد کرده و شیء Turtle  را از روی آن می‌سازیم.
  2. رنگ داخل شکل را با tt.fillcolor("blue")  آبی قرار می‌دهیم.
  3. با tt.begin_fill()  نقطه شروع رسم دایره را برای رنگ‌آمیزی به خاطر می‌سپارد.
  4. با کد tt.circle(100)  دایره‌‌ای با شعاع 100 پیکسل رسم می‌کنیم.
  5. با دستور tt.end_fill()  داخل دایره را با رنگ آبی پر می‌کنیم.
  6. در پایان با turtle.done()  برنامه متوقف شده و پنجره باز می‌ماند.

رسم مثلث توپر با Turtle

در این مثال، از کتابخانه Turtle برای رسم مثلث توپر کمک گرفته‌ایم.

بعد از اجرای کدهای بالا خروجی به شکل زیر ظاهر می‌شود.

رسم مثلث توپر با Turtle

در فهرست پایین روش کار کدهای بالا را نوشتیم.

  1. ابتدا ماژول turtle  را وارد کرده و شیء Turtle  می‌سازیم.
  2. رنگ داخل شکل را با کد tt.fillcolor("blue")  بر روی آبی تنظیم می‌کنیم.
  3. با tt.begin_fill()  پایتون، نقطه شروع رسم چندضلعی را برای رنگ‌آمیزی به خاطر می‌سپارد.
  4. با حلقه for  مثلثی با اندازه اضلاع 150 پیکسل رسم کرده و در هر راس با کد tt.left(120)  اندازه زاویه را تنظیم می‌کنیم.
  5. با کد tt.end_fill()  اعلام می‌کنیم که رسم چند‌ضلعی به پایان رسیده است. الان پایتون باید داخل آن را با رنگ آبی پر کند.
  6. در پایان هم با کد turtle.done()  برنامه متوقف شده و پنجره باز می‌ماند.

جمع‌بندی

در این مطلب از مجله فرادرس، روش‌های متنوع رسم اشکال گرافیکی در پایتون را بررسی کردیم. برای مثال، کتابخانه Plotly می‌تواند با متد add_shape()  روی نمودارها مستطیل، خط، دایره و مسیرهای SVG رسم کند. Matplotlib با کلاس‌های Rectangle  و Circle  و Polygon  برای رسم شکل و حاشیه‌نویسی حرفه‌ای مناسب است. Tkinter با ویجت Canvas  و متدهای create_oval  و create_rectangle  و create_polygon  رابط کاربری ساده می‌سازد. Pygame با ماژول draw  برای ساخت بازی و انیمیشن سرعت خوبی دارد. PyQt با QPainter  و QPolygon  برای ساخت برنامه‌های گرافیکی پیشرفته استفاده می‌شود. Turtle هم به عنوان ابزار آموزشی ساده، شکل‌هایی مثل مربع، دایره و مثلث را راحت رسم می‌کند.

قبل از انتخاب ماژول باید حتما به پروژه خود توجه کنیم. برای مثال کار با کتابخانه‌های Plotly و Matplotlib در پروژه‌های مربوط به داده‌کاوی مناسب است. در پروژه‌های بازی‌سازی هم بهتر است از کتابخانه‌های Pygame یا Turtle استفاده بکنیم.

بر اساس رای ۰ نفر
آیا این مطلب برای شما مفید بود؟
اگر پرسشی درباره این مطلب دارید، آن را با ما مطرح کنید.
منابع:
datacampnaukriGeeksforGeeks
PDF
مطالب مرتبط
نظر شما چیست؟

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