{"id":15053,"date":"2024-01-08T04:10:09","date_gmt":"2024-01-08T00:40:09","guid":{"rendered":"https:\/\/rasanegar.com\/blog\/%d8%a7%d8%af%d8%ba%d8%a7%d9%85-%d9%86%d9%85%d9%88%d8%af%d8%a7%d8%b1%d9%87%d8%a7%db%8c-matplotlib-%d8%af%d8%b1-pdf-%d8%af%d8%b1-%d9%be%d8%a7%db%8c%d8%aa%d9%88%d9%86-%d8%a8%d8%a7-borb\/"},"modified":"2024-01-08T04:10:09","modified_gmt":"2024-01-08T00:40:09","slug":"%d8%a7%d8%af%d8%ba%d8%a7%d9%85-%d9%86%d9%85%d9%88%d8%af%d8%a7%d8%b1%d9%87%d8%a7%db%8c-matplotlib-%d8%af%d8%b1-pdf-%d8%af%d8%b1-%d9%be%d8%a7%db%8c%d8%aa%d9%88%d9%86-%d8%a8%d8%a7-borb","status":"publish","type":"post","link":"https:\/\/rasanegaar.com\/blog\/%d8%a7%d8%af%d8%ba%d8%a7%d9%85-%d9%86%d9%85%d9%88%d8%af%d8%a7%d8%b1%d9%87%d8%a7%db%8c-matplotlib-%d8%af%d8%b1-pdf-%d8%af%d8%b1-%d9%be%d8%a7%db%8c%d8%aa%d9%88%d9%86-%d8%a8%d8%a7-borb\/","title":{"rendered":"\u0627\u062f\u063a\u0627\u0645 \u0646\u0645\u0648\u062f\u0627\u0631\u0647\u0627\u06cc Matplotlib \u062f\u0631 PDF \u062f\u0631 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0628\u0627 BORB"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\"><p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0633\u0631\u0641\u0635\u0644\u0647\u0627\u06cc \u0645\u0637\u0644\u0628<\/p>\n<\/div><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/rasanegaar.com\/blog\/%d8%a7%d8%af%d8%ba%d8%a7%d9%85-%d9%86%d9%85%d9%88%d8%af%d8%a7%d8%b1%d9%87%d8%a7%db%8c-matplotlib-%d8%af%d8%b1-pdf-%d8%af%d8%b1-%d9%be%d8%a7%db%8c%d8%aa%d9%88%d9%86-%d8%a8%d8%a7-borb\/#%d9%85%d8%b9%d8%b1%d9%81%db%8c\" >\u0645\u0639\u0631\u0641\u06cc<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/rasanegaar.com\/blog\/%d8%a7%d8%af%d8%ba%d8%a7%d9%85-%d9%86%d9%85%d9%88%d8%af%d8%a7%d8%b1%d9%87%d8%a7%db%8c-matplotlib-%d8%af%d8%b1-pdf-%d8%af%d8%b1-%d9%be%d8%a7%db%8c%d8%aa%d9%88%d9%86-%d8%a8%d8%a7-borb\/#%d9%86%d8%b5%d8%a8_borb_%d9%88_matplotlib\" >\u0646\u0635\u0628 borb (\u0648 Matplotlib)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/rasanegaar.com\/blog\/%d8%a7%d8%af%d8%ba%d8%a7%d9%85-%d9%86%d9%85%d9%88%d8%af%d8%a7%d8%b1%d9%87%d8%a7%db%8c-matplotlib-%d8%af%d8%b1-pdf-%d8%af%d8%b1-%d9%be%d8%a7%db%8c%d8%aa%d9%88%d9%86-%d8%a8%d8%a7-borb\/#%d8%a7%d8%af%d8%ba%d8%a7%d9%85_%d9%86%d9%85%d9%88%d8%af%d8%a7%d8%b1%d9%87%d8%a7%db%8c_matplotlib_%d8%af%d8%b1_%d8%a7%d8%b3%d9%86%d8%a7%d8%af_pdf_%d8%a8%d8%a7_borb\" >\u0627\u062f\u063a\u0627\u0645 \u0646\u0645\u0648\u062f\u0627\u0631\u0647\u0627\u06cc Matplotlib \u062f\u0631 \u0627\u0633\u0646\u0627\u062f PDF \u0628\u0627 BORB<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/rasanegaar.com\/blog\/%d8%a7%d8%af%d8%ba%d8%a7%d9%85-%d9%86%d9%85%d9%88%d8%af%d8%a7%d8%b1%d9%87%d8%a7%db%8c-matplotlib-%d8%af%d8%b1-pdf-%d8%af%d8%b1-%d9%be%d8%a7%db%8c%d8%aa%d9%88%d9%86-%d8%a8%d8%a7-borb\/#%d8%a7%d8%b6%d8%a7%d9%81%d9%87_%da%a9%d8%b1%d8%af%d9%86_%d9%86%d9%85%d9%88%d8%af%d8%a7%d8%b1_matplotlib_%d8%a8%d9%87_%db%8c%da%a9_%d8%b3%d9%86%d8%af_pdf\" >\u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0646\u0645\u0648\u062f\u0627\u0631 Matplotlib \u0628\u0647 \u06cc\u06a9 \u0633\u0646\u062f PDF<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/rasanegaar.com\/blog\/%d8%a7%d8%af%d8%ba%d8%a7%d9%85-%d9%86%d9%85%d9%88%d8%af%d8%a7%d8%b1%d9%87%d8%a7%db%8c-matplotlib-%d8%af%d8%b1-pdf-%d8%af%d8%b1-%d9%be%d8%a7%db%8c%d8%aa%d9%88%d9%86-%d8%a8%d8%a7-borb\/#%d9%86%d8%aa%db%8c%d8%ac%d9%87\" >\u0646\u062a\u06cc\u062c\u0647<\/a><\/li><\/ul><\/nav><\/div>\n<span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">\u0632\u0645\u0627\u0646 \u0644\u0627\u0632\u0645 \u0628\u0631\u0627\u06cc \u0645\u0637\u0627\u0644\u0639\u0647: <\/span> <span class=\"rt-time\"> 5<\/span> <span class=\"rt-label rt-postfix\">\u062f\u0642\u06cc\u0642\u0647<\/span><\/span><p> <br \/>\n<\/p>\n<div><noscript><\/noscript><\/p>\n<h2 id=\"introduction\"><span class=\"ez-toc-section\" id=\"%d9%85%d8%b9%d8%b1%d9%81%db%8c\"><\/span>\u0645\u0639\u0631\u0641\u06cc<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0627\u06cc\u0646 <em>\u0641\u0631\u0645\u062a \u0633\u0646\u062f \u0642\u0627\u0628\u0644 \u062d\u0645\u0644 (PDF)<\/em> \u0622\u06cc\u0627 \u0641\u0631\u0645\u062a wysiwyg \u0646\u06cc\u0633\u062a (\u0622\u0646\u0686\u0647 \u0645\u06cc \u0628\u06cc\u0646\u06cc\u062f \u0647\u0645\u0627\u0646 \u0686\u06cc\u0632\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0645\u06cc \u06af\u06cc\u0631\u06cc\u062f).  \u0627\u06cc\u0646 \u0628\u0631\u0627\u06cc \u067e\u0644\u062a\u0641\u0631\u0645-\u0622\u06af\u0646\u0648\u0633\u062a\u06cc\u06a9\u060c \u0645\u0633\u062a\u0642\u0644 \u0627\u0632 \u0633\u06cc\u0633\u062a\u0645 \u0639\u0627\u0645\u0644 \u0627\u0635\u0644\u06cc \u0648 \u0645\u0648\u062a\u0648\u0631\u0647\u0627\u06cc \u0631\u0646\u062f\u0631 \u062a\u0648\u0633\u0639\u0647 \u062f\u0627\u062f\u0647 \u0634\u062f.<\/p>\n<p>\u0628\u0631\u0627\u06cc \u062f\u0633\u062a\u06cc\u0627\u0628\u06cc \u0628\u0647 \u0627\u06cc\u0646 \u0647\u062f\u0641\u060c PDF \u0633\u0627\u062e\u062a\u0647 \u0634\u062f \u062a\u0627 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0686\u06cc\u0632\u06cc \u0628\u06cc\u0634\u062a\u0631 \u0634\u0628\u06cc\u0647 \u0628\u0647 \u06cc\u06a9 \u0632\u0628\u0627\u0646 \u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u06cc \u0648 \u0645\u062a\u06a9\u06cc \u0628\u0627 \u0622\u0646 \u062a\u0639\u0627\u0645\u0644 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f. \u0631\u0648\u06cc \u0645\u062c\u0645\u0648\u0639\u0647 \u0627\u06cc \u0627\u0632 \u062f\u0633\u062a\u0648\u0631\u0627\u0644\u0639\u0645\u0644 \u0647\u0627 \u0648 \u0639\u0645\u0644\u06cc\u0627\u062a \u0628\u0631\u0627\u06cc \u0631\u0633\u06cc\u062f\u0646 \u0628\u0647 \u0646\u062a\u06cc\u062c\u0647.  \u062f\u0631 \u0648\u0627\u0642\u0639 PDF \u0627\u0633\u062a <em>\u0645\u0633\u062a\u0642\u0631 \u0631\u0648\u06cc<\/em>  \u06cc\u06a9 \u0632\u0628\u0627\u0646 \u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u06cc &#8211; <a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/www.adobe.com\/products\/postscript.html\" class=\"broken_link\">\u067e\u0633\u062a \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a<\/a>\u06a9\u0647 \u0627\u0648\u0644\u06cc\u0646 \u062f\u0633\u062a\u06af\u0627\u0647 \u0645\u0633\u062a\u0642\u0644 \u0628\u0648\u062f <em>\u0632\u0628\u0627\u0646 \u062a\u0648\u0636\u06cc\u062d\u0627\u062a \u0635\u0641\u062d\u0647<\/em>.<\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0631\u0627\u0647\u0646\u0645\u0627\u060c \u0645\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f <a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/borbpdf.com\/\"><em>\u0628\u0648\u0631\u0628<\/em><\/a>  &#8211; \u06cc\u06a9 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u067e\u0627\u06cc\u062a\u0648\u0646 \u06a9\u0647 \u0628\u0647 \u062e\u0648\u0627\u0646\u062f\u0646\u060c \u062f\u0633\u062a\u06a9\u0627\u0631\u06cc \u0648 \u062a\u0648\u0644\u06cc\u062f \u0627\u0633\u0646\u0627\u062f PDF \u0627\u062e\u062a\u0635\u0627\u0635 \u06cc\u0627\u0641\u062a\u0647 \u0627\u0633\u062a.  \u0647\u0645 \u06cc\u06a9 \u0645\u062f\u0644 \u0633\u0637\u062d \u067e\u0627\u06cc\u06cc\u0646 (\u06a9\u0647 \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc\u200c\u062f\u0647\u062f \u0628\u0647 \u0645\u062e\u062a\u0635\u0627\u062a \u0648 \u0637\u0631\u062d\u200c\u0628\u0646\u062f\u06cc \u062f\u0642\u06cc\u0642 \u062f\u0631 \u0635\u0648\u0631\u062a \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0622\u0646\u200c\u0647\u0627 \u062f\u0633\u062a\u0631\u0633\u06cc \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f) \u0648 \u0647\u0645 \u06cc\u06a9 \u0645\u062f\u0644 \u0633\u0637\u062d \u0628\u0627\u0644\u0627 (\u06a9\u0647 \u062f\u0631 \u0622\u0646 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0645\u062d\u0627\u0633\u0628\u0627\u062a \u062f\u0642\u06cc\u0642 \u062d\u0627\u0634\u06cc\u0647\u200c\u0647\u0627\u060c \u0645\u0648\u0642\u0639\u06cc\u062a\u200c\u0647\u0627 \u0648 \u063a\u06cc\u0631\u0647 \u0631\u0627 \u0628\u0647 \u06cc\u06a9 \u0645\u062f\u06cc\u0631 \u0637\u0631\u062d\u200c\u0628\u0646\u062f\u06cc \u0648\u0627\u06af\u0630\u0627\u0631 \u06a9\u0646\u06cc\u062f) \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc\u200c\u062f\u0647\u062f. .<\/p>\n<p>Matplotlib \u06cc\u06a9 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u062a\u062c\u0633\u0645 \u062f\u0627\u062f\u0647 \u0627\u0633\u062a \u06a9\u0647 \u0646\u0633\u0644 \u06a9\u0627\u0645\u0644\u06cc \u0627\u0632 \u0645\u0647\u0646\u062f\u0633\u0627\u0646 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0634\u0631\u0648\u0639 \u062a\u062c\u0633\u0645 \u062f\u0627\u062f\u0647 \u0647\u0627 \u0648 \u0645\u0648\u062a\u0648\u0631 \u067e\u0634\u062a \u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0647\u0627\u06cc \u0645\u062d\u0628\u0648\u0628 \u062f\u06cc\u06af\u0631 \u0645\u0627\u0646\u0646\u062f Seaborn \u062a\u062d\u0631\u06cc\u06a9 \u06a9\u0631\u062f.<\/p>\n<p>\u0628\u0627 \u062a\u0648\u062c\u0647 \u0628\u0647 \u0627\u06cc\u0646\u06a9\u0647 \u0627\u0633\u0646\u0627\u062f PDF \u0631\u0627\u06cc\u062c \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u06af\u0632\u0627\u0631\u0634 \u0647\u0627 \u0686\u0642\u062f\u0631 \u0627\u0633\u062a (\u06a9\u0647 \u0627\u063a\u0644\u0628 \u0627\u0648\u0642\u0627\u062a \u0634\u0627\u0645\u0644 \u0646\u0645\u0648\u062f\u0627\u0631\u0647\u0627 \u0627\u0633\u062a) \u060c \u0645\u0627 \u0646\u06af\u0627\u0647\u06cc \u062e\u0648\u0627\u0647\u06cc\u0645 \u0627\u0646\u062f\u0627\u062e\u062a <em>\u0631\u0648\u0634 \u0627\u062f\u063a\u0627\u0645 \u0646\u0645\u0648\u062f\u0627\u0631\u0647\u0627\u06cc MATPLOTLIB \u062f\u0631 \u06cc\u06a9 \u0633\u0646\u062f PDF \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 BORB<\/em>.<\/p>\n<h2 id=\"installingborbandmatplotlib\"><span class=\"ez-toc-section\" id=\"%d9%86%d8%b5%d8%a8_borb_%d9%88_matplotlib\"><\/span>\u0646\u0635\u0628 borb (\u0648 Matplotlib)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><em>\u0628\u0648\u0631\u0628<\/em> \u0631\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646 \u0627\u0632 \u0645\u0646\u0628\u0639 \u062f\u0627\u0646\u0644\u0648\u062f \u06a9\u0631\u062f \u0631\u0648\u06cc <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/github.com\/jorisschellekens\/borb\">GitHub<\/a>\u060c \u06cc\u0627 \u0646\u0635\u0628 \u0634\u062f\u0647 \u0627\u0632 \u0637\u0631\u06cc\u0642 <code>pip<\/code>:<\/p>\n<pre><code class=\"hljs\"><span class=\"hljs-meta\">$<\/span><span class=\"bash\"> pip install borb<\/span>\n<\/code><\/pre>\n<p><em>Matplotlib<\/em> \u0642\u0627\u0628\u0644 \u0646\u0635\u0628 \u0627\u0632 \u0637\u0631\u06cc\u0642 <code>pip<\/code>:<\/p>\n<pre><code class=\"hljs\"><span class=\"hljs-meta\">$<\/span><span class=\"bash\"> pip install matplotlib<\/span>\n<\/code><\/pre>\n<h2 id=\"integratingmatplotlibchartsinpdfdocumentswithborb\"><span class=\"ez-toc-section\" id=\"%d8%a7%d8%af%d8%ba%d8%a7%d9%85_%d9%86%d9%85%d9%88%d8%af%d8%a7%d8%b1%d9%87%d8%a7%db%8c_matplotlib_%d8%af%d8%b1_%d8%a7%d8%b3%d9%86%d8%a7%d8%af_pdf_%d8%a8%d8%a7_borb\"><\/span>\u0627\u062f\u063a\u0627\u0645 \u0646\u0645\u0648\u062f\u0627\u0631\u0647\u0627\u06cc Matplotlib \u062f\u0631 \u0627\u0633\u0646\u0627\u062f PDF \u0628\u0627 BORB<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0642\u0628\u0644 \u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 \u0628\u062a\u0648\u0627\u0646\u06cc\u0645 \u06cc\u06a9 \u0646\u0645\u0648\u062f\u0627\u0631 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u0645 \u060c \u0645\u0627\u0646\u0646\u062f \u0646\u0645\u0648\u062f\u0627\u0631 \u067e\u0627\u06cc \u060c \u0645\u0627 \u0642\u0635\u062f \u062f\u0627\u0631\u06cc\u0645 \u06cc\u06a9 \u062a\u0627\u0628\u0639 \u0627\u0628\u0632\u0627\u0631 \u06a9\u0648\u0686\u06a9 \u0631\u0627 \u062a\u0648\u0644\u06cc\u062f \u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u062a\u0648\u0644\u06cc\u062f \u0645\u06cc \u06a9\u0646\u062f <code>N<\/code> \u0631\u0646\u06af \u0647\u0627 \u060c \u0628\u0647 \u0637\u0648\u0631 \u0645\u0633\u0627\u0648\u06cc \u0628\u06cc\u0646 \u0637\u06cc\u0641 \u0631\u0646\u06af \u062a\u0648\u0632\u06cc\u0639 \u0645\u06cc \u0634\u0648\u062f.<\/p>\n<p>\u0627\u06cc\u0646 \u0628\u0647 \u0645\u0627 \u06a9\u0645\u06a9 \u0645\u06cc \u06a9\u0646\u062f \u0647\u0631 \u0632\u0645\u0627\u0646 \u06a9\u0647 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0627\u06cc\u062c\u0627\u062f \u0637\u0631\u062d \u0648 \u0631\u0646\u06af \u0622\u0645\u06cc\u0632\u06cc \u0647\u0631 \u0628\u062e\u0634 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u0645:<\/p>\n<pre><code class=\"hljs\"><span class=\"hljs-keyword\">from<\/span> borb.pdf.canvas.color.color <span class=\"hljs-keyword\">import<\/span> HSVColor, HexColor\n<span class=\"hljs-keyword\">from<\/span> decimal <span class=\"hljs-keyword\">import<\/span> Decimal\n<span class=\"hljs-keyword\">import<\/span> typing\n\n<span class=\"hljs-function\"><span class=\"hljs-keyword\">def<\/span> <span class=\"hljs-title\">create_n_colors<\/span>(<span class=\"hljs-params\">n: <span class=\"hljs-built_in\">int<\/span><\/span>) -&gt; typing.<span class=\"hljs-type\">List<\/span>(<span class=\"hljs-built_in\">str<\/span>):<\/span>\n  \n  base_hsv_color: HSVColor = HSVColor.from_rgb(HexColor(<span class=\"hljs-string\">\"56cbf9\"<\/span>))\n  \n  <span class=\"hljs-keyword\">return<\/span> (HSVColor(base_hsv_color.hue + Decimal(x \/ <span class=\"hljs-number\">360<\/span>), Decimal(<span class=\"hljs-number\">1<\/span>), Decimal(<span class=\"hljs-number\">1<\/span>)).to_rgb().to_hex_string() <span class=\"hljs-keyword\">for<\/span> x <span class=\"hljs-keyword\">in<\/span> <span class=\"hljs-built_in\">range<\/span>(<span class=\"hljs-number\">0<\/span>, <span class=\"hljs-number\">360<\/span>, <span class=\"hljs-built_in\">int<\/span>(<span class=\"hljs-number\">360<\/span>\/n)))\n<\/code><\/pre>\n<div class=\"alert alert-note\">\n<div class=\"flex\">\n<div class=\"flex-shrink-0 mr-3\"><\/div>\n<div class=\"w-full\">\n<p><strong>\u062a\u0648\u062c\u0647 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f:<\/strong> <strong><em>HSL (\u0631\u0646\u06af\u060c \u200b\u200b\u0627\u0634\u0628\u0627\u0639\u060c \u0633\u0628\u06a9\u06cc)<\/em><\/strong>  \u0648 <strong><em>HSV\/HSB (\u0631\u0646\u06af\u060c \u200b\u200b\u0627\u0634\u0628\u0627\u0639\u060c \u0645\u0642\u062f\u0627\u0631\/\u0631\u0646\u06af\u060c \u0627\u0634\u0628\u0627\u0639\u060c \u0631\u0648\u0634\u0646\u0627\u06cc\u06cc)<\/em><\/strong>  \u0646\u0645\u0627\u06cc\u0634 \u0647\u0627\u06cc \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u0645\u062f\u0644 \u0631\u0646\u06af\u06cc RGB \u0647\u0633\u062a\u0646\u062f.<\/p>\n<\/p><\/div><\/div><\/div>\n<p>HSL \u0648 HSV\/HSB \u062f\u0631 \u062f\u0647\u0647 1970 \u062a\u0648\u0633\u0637 \u0645\u062d\u0642\u0642\u0627\u0646 \u06af\u0631\u0627\u0641\u06cc\u06a9 \u06a9\u0627\u0645\u067e\u06cc\u0648\u062a\u0631\u06cc \u0637\u0631\u0627\u062d\u06cc \u0634\u062f\u0646\u062f \u062a\u0627 \u0628\u0627 \u0631\u0648\u0634\u06cc \u06a9\u0647 \u0628\u06cc\u0646\u0627\u06cc\u06cc \u0627\u0646\u0633\u0627\u0646 \u0648\u06cc\u0698\u06af\u06cc\u200c\u0647\u0627\u06cc \u0631\u0646\u06af\u200c\u0633\u0627\u0632 \u0631\u0627 \u062f\u0631\u06a9 \u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u0647\u0645\u0627\u0647\u0646\u06af\u06cc \u0628\u06cc\u0634\u062a\u0631\u06cc \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f.  \u062f\u0631 \u0627\u06cc\u0646 \u0645\u062f\u0644\u200c\u0647\u0627\u060c \u0631\u0646\u06af\u200c\u0647\u0627\u06cc \u0647\u0631 \u0631\u0646\u06af \u062f\u0631 \u06cc\u06a9 \u0628\u0631\u0634 \u0634\u0639\u0627\u0639\u06cc\u060c \u062d\u0648\u0644 \u0645\u062d\u0648\u0631 \u0645\u0631\u06a9\u0632\u06cc \u0631\u0646\u06af\u200c\u0647\u0627\u06cc \u062e\u0646\u062b\u06cc \u0642\u0631\u0627\u0631 \u0645\u06cc\u200c\u06af\u06cc\u0631\u0646\u062f \u06a9\u0647 \u0627\u0632 \u0633\u06cc\u0627\u0647 \u062f\u0631 \u067e\u0627\u06cc\u06cc\u0646 \u062a\u0627 \u0633\u0641\u06cc\u062f \u062f\u0631 \u0628\u0627\u0644\u0627 \u0645\u062a\u063a\u06cc\u0631 \u0627\u0633\u062a:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/s3.stackabuse.com\/media\/articles\/integrating-matplotlib-charts-in-a-pdf-in-python-with-borb-2.png\" alt=\"\u0637\u06cc\u0641 \u0645\u062e\u0631\u0648\u0637\u06cc hsv\" title=\"\"><br \/>\n<small>\u0627\u0639\u062a\u0628\u0627\u0631: \u0645\u062c\u0648\u0632 Wikimedia (CC BY-SA 3.0).<\/small><\/p>\n<p>\u0645\u0632\u06cc\u062a \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u06cc\u0646 \u0646\u0645\u0627\u06cc\u0646\u062f\u06af\u06cc \u0628\u0631\u0627\u06cc <code>Color<\/code> \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 \u0645\u0627 \u0628\u0647 \u0631\u0627\u062d\u062a\u06cc \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u0637\u06cc\u0641 \u0631\u0646\u06af \u0631\u0627 \u0628\u0647 \u0642\u0633\u0645\u062a \u0647\u0627\u06cc \u0645\u0633\u0627\u0648\u06cc \u062a\u0642\u0633\u06cc\u0645 \u06a9\u0646\u06cc\u0645.<\/p>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 a \u0631\u0627 \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u06cc\u0645 <code>create_pie_chart()<\/code> \u062a\u0627\u0628\u0639 (\u06cc\u0627 \u062a\u0627\u0628\u0639\u06cc \u0628\u0631\u0627\u06cc \u0627\u0646\u0648\u0627\u0639 \u062f\u06cc\u06af\u0631 \u0646\u0645\u0648\u062f\u0627\u0631\u0647\u0627):<\/p>\n<pre><code class=\"hljs\">\n<span class=\"hljs-keyword\">import<\/span> matplotlib.pyplot <span class=\"hljs-keyword\">as<\/span> plt\n<span class=\"hljs-keyword\">from<\/span> borb.pdf.canvas.layout.image.chart <span class=\"hljs-keyword\">import<\/span> Chart\n<span class=\"hljs-keyword\">from<\/span> borb.pdf.canvas.layout.layout_element <span class=\"hljs-keyword\">import<\/span> Alignment\n\n<span class=\"hljs-function\"><span class=\"hljs-keyword\">def<\/span> <span class=\"hljs-title\">create_piechart<\/span>(<span class=\"hljs-params\">labels: typing.<span class=\"hljs-type\">List<\/span>(<span class=\"hljs-built_in\">str<\/span>), data: typing.<span class=\"hljs-type\">List<\/span>(<span class=\"hljs-built_in\">float<\/span>)<\/span>):<\/span>\n\n  \n  fig1, ax1 = plt.subplots(figsize=(<span class=\"hljs-number\">4<\/span>, <span class=\"hljs-number\">4<\/span>))\n  ax1.pie(\n    data,\n    explode=(<span class=\"hljs-number\">0<\/span> <span class=\"hljs-keyword\">for<\/span> _ <span class=\"hljs-keyword\">in<\/span> <span class=\"hljs-built_in\">range<\/span>(<span class=\"hljs-number\">0<\/span>, <span class=\"hljs-built_in\">len<\/span>(labels))),\n    labels=labels,\n    autopct=<span class=\"hljs-string\">\"%1.1f%%\"<\/span>,\n    shadow=<span class=\"hljs-literal\">True<\/span>,\n    startangle=<span class=\"hljs-number\">90<\/span>,\n    colors=create_n_colors(<span class=\"hljs-built_in\">len<\/span>(labels)),\n  )\n\n  ax1.axis(<span class=\"hljs-string\">\"equal\"<\/span>)  \n\n  <span class=\"hljs-keyword\">return<\/span> Chart(\n    plt.gcf(),\n    width=Decimal(<span class=\"hljs-number\">200<\/span>),\n    height=Decimal(<span class=\"hljs-number\">200<\/span>),\n    horizontal_alignment=Alignment.CENTERED,\n  )\n<\/code><\/pre>\n<p>\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627\u060c \u0645\u0627 \u0627\u0632 Matplotlib \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u0646\u0645\u0648\u062f\u0627\u0631 \u062f\u0627\u06cc\u0631\u0647 \u0627\u06cc\u060c \u0627\u0632 \u0637\u0631\u06cc\u0642 <code>pie()<\/code> \u062a\u0627\u0628\u0639.<\/p>\n<blockquote>\n<p>\u0627\u06af\u0631 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u062f \u062f\u0631\u0628\u0627\u0631\u0647 \u0627\u06cc\u062c\u0627\u062f \u0646\u0645\u0648\u062f\u0627\u0631\u0647\u0627\u06cc \u067e\u0627\u06cc \u0628\u06cc\u0634\u062a\u0631 \u0628\u062f\u0627\u0646\u06cc\u062f\u060c \u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u0645\u0627 \u0628\u0631\u0627\u06cc \u0646\u0645\u0648\u062f\u0627\u0631\u0647\u0627\u06cc \u067e\u0627\u06cc Matplotlib \u0631\u0627 \u0628\u062e\u0648\u0627\u0646\u06cc\u062f!<\/p>\n<\/blockquote>\n<p>\u0627\u06cc\u0646 <code>gcf()<\/code> \u0639\u0645\u0644\u06a9\u0631\u062f \u0627\u0632 <code>PyPlot<\/code> \u0646\u0645\u0648\u0646\u0647 \u0631\u0642\u0645 \u0641\u0639\u0644\u06cc \u0631\u0627 \u0628\u0631\u0645\u06cc \u06af\u0631\u062f\u0627\u0646\u062f (<strong>g<\/strong>et <strong>\u062c<\/strong>\u0641\u0648\u0631\u06cc <strong>f<\/strong>\u062a\u0635\u0648\u06cc\u0631 \u06a9\u0631\u062f\u0646).  \u0627\u06cc\u0646 \u0634\u06a9\u0644 \u0631\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646 \u0628\u0627 \u062a\u0632\u0631\u06cc\u0642 \u0622\u0646 \u062f\u0631 \u06cc\u06a9 \u0633\u0646\u062f PDF \u062f\u0631 \u06cc\u06a9 \u0633\u0646\u062f \u062c\u0627\u0633\u0627\u0632\u06cc \u06a9\u0631\u062f <code>Chart<\/code> \u0633\u0627\u0632\u0646\u062f\u0647\u060c \u062f\u0631 \u06a9\u0646\u0627\u0631 \u0622\u0631\u06af\u0648\u0645\u0627\u0646 \u0647\u0627\u06cc \u0633\u0641\u0627\u0631\u0634\u06cc \u0633\u0627\u0632\u06cc \u0634\u0645\u0627 \u0645\u0627\u0646\u0646\u062f <code>width<\/code>\u060c <code>height<\/code> \u0648 <code>horizontal_alignment<\/code>.<\/p>\n<p>\u062e\u0648\u062f\u0634\u0647!  \u0634\u0645\u0627 \u0641\u0642\u0637 \u06cc\u06a9 \u0634\u06a9\u0644 Matplotlib \u0631\u0627 \u0628\u0647 \u0622\u0646 \u0627\u0631\u0627\u0626\u0647 \u062f\u0647\u06cc\u062f <code>Chart<\/code> \u0633\u0627\u0632\u0646\u062f\u0647<\/p>\n<h2 id=\"addingamatplotlibcharttoapdfdocument\"><span class=\"ez-toc-section\" id=\"%d8%a7%d8%b6%d8%a7%d9%81%d9%87_%da%a9%d8%b1%d8%af%d9%86_%d9%86%d9%85%d9%88%d8%af%d8%a7%d8%b1_matplotlib_%d8%a8%d9%87_%db%8c%da%a9_%d8%b3%d9%86%d8%af_pdf\"><\/span>\u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0646\u0645\u0648\u062f\u0627\u0631 Matplotlib \u0628\u0647 \u06cc\u06a9 \u0633\u0646\u062f PDF<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u0632\u0645\u0627\u0646 \u0622\u0646 \u0631\u0633\u06cc\u062f\u0647 \u0627\u0633\u062a \u06a9\u0647 PDF \u0627\u0635\u0644\u06cc \u062e\u0648\u062f \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u0645 <code>Document<\/code> \u0648 \u0628\u0647 \u0622\u0646 \u0645\u062d\u062a\u0648\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<pre><code class=\"hljs\">\n<span class=\"hljs-keyword\">from<\/span> borb.pdf.document <span class=\"hljs-keyword\">import<\/span> Document\n<span class=\"hljs-keyword\">from<\/span> borb.pdf.page.page <span class=\"hljs-keyword\">import<\/span> Page\n<span class=\"hljs-keyword\">from<\/span> borb.pdf.pdf <span class=\"hljs-keyword\">import<\/span> PDF\n<span class=\"hljs-keyword\">from<\/span> borb.pdf.canvas.layout.page_layout.multi_column_layout <span class=\"hljs-keyword\">import<\/span> MultiColumnLayout\n<span class=\"hljs-keyword\">from<\/span> borb.pdf.canvas.layout.page_layout.page_layout <span class=\"hljs-keyword\">import<\/span> PageLayout\n<span class=\"hljs-keyword\">from<\/span> borb.pdf.canvas.layout.text.paragraph <span class=\"hljs-keyword\">import<\/span> Paragraph\n\n\npdf = Document()\n\n\npage = Page()\n\n\npdf.append_page(page)\n\n\nlayout: PageLayout = MultiColumnLayout(page)\n\n\nlayout.add(Paragraph(<span class=\"hljs-string\">\"About Lorem Ipsum\"<\/span>, \n                     font_size=Decimal(<span class=\"hljs-number\">20<\/span>), \n                     font=<span class=\"hljs-string\">\"Helvetica-Bold\"<\/span>))\n\n<\/code><\/pre>\n<p>\u0645\u0627 \u0627\u0632 \u062e\u0637 \u0641\u0627\u0635\u0644\u0647 \u062f\u0631 \u0627\u06cc\u0646 PDF \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f \u062a\u0627 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u062d\u0627\u0635\u0644 \u0634\u0648\u062f \u06a9\u0647 \u0645\u062a\u0646 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u062d\u062a\u06cc \u0631\u0627\u062d\u062a\u200c\u062a\u0631 \u062a\u0646\u0638\u06cc\u0645 \u0634\u0648\u062f.  \u062e\u0637 \u0641\u0627\u0635\u0644\u0647 \u062f\u0631 borb \u0628\u0633\u06cc\u0627\u0631 \u0633\u0627\u062f\u0647 \u0627\u0633\u062a:<\/p>\n<pre><code class=\"hljs\">\n<span class=\"hljs-keyword\">from<\/span> borb.pdf.canvas.layout.hyphenation.hyphenation <span class=\"hljs-keyword\">import<\/span> Hyphenation\n\n\nhyphenation_algorithm: Hyphenation = Hyphenation(<span class=\"hljs-string\">\"en-gb\"<\/span>)\n\n\nlayout.add(Paragraph(\n    <span class=\"hljs-string\">\"\"\"\n    Lorem Ipsum is simply dummy text of the printing and typesetting industry. \n    Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, \n    when an unknown printer took a galley of type and scrambled it to make a type specimen book. \n    It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. \n    It was popularized in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, \n    and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.\n    \"\"\"<\/span>, text_alignment=Alignment.JUSTIFIED, hyphenation=hyphenation_algorithm))\n<\/code><\/pre>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062a\u0627\u0628\u0639\u06cc \u06a9\u0647 \u0642\u0628\u0644\u0627\u064b \u0627\u0639\u0644\u0627\u0645 \u06a9\u0631\u062f\u06cc\u0645\u060c \u0646\u0645\u0648\u062f\u0627\u0631 \u062f\u0627\u06cc\u0631\u0647 \u0627\u06cc \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u0645.<\/p>\n<pre><code class=\"hljs\">\nlayout.add(create_piechart((<span class=\"hljs-string\">\"Loren\"<\/span>, <span class=\"hljs-string\">\"Ipsum\"<\/span>, <span class=\"hljs-string\">\"Dolor\"<\/span>), \n                           (<span class=\"hljs-number\">0.6<\/span>, <span class=\"hljs-number\">0.3<\/span>, <span class=\"hljs-number\">0.1<\/span>)))\n<\/code><\/pre>\n<p>\u062f\u0631 \u0627\u062f\u0627\u0645\u0647 \u0633\u0647 \u0645\u0648\u0631\u062f \u062f\u06cc\u06af\u0631 \u0631\u0627 \u0645\u06cc \u0646\u0648\u06cc\u0633\u06cc\u0645 <code>Paragraph<\/code> \u0627\u0634\u06cc\u0627\u0621.<br \/>\u06cc\u06a9\u06cc \u0627\u0632 \u0622\u0646\u0647\u0627 \u0628\u06cc\u0634\u062a\u0631 \u06cc\u06a9 \u0646\u0642\u0644 \u0642\u0648\u0644 \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f (\u062d\u0627\u0634\u06cc\u0647 \u0631\u0648\u06cc \u06a9\u0646\u0627\u0631\u060c \u0641\u0648\u0646\u062a \u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u0648 \u063a\u06cc\u0631\u0647).<\/p>\n<pre><code class=\"hljs\">\nlayout.add(Paragraph(\n    <span class=\"hljs-string\">\"\"\"\n    Contrary to popular belief, Lorem Ipsum is not simply random text. \n    It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. \n    Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, \n    consectetur, from a Lorem Ipsum passage, and going through the cities of the word in classical literature, \n    discovered the undoubtable source.\n    \"\"\"<\/span>, text_alignment=Alignment.JUSTIFIED, hyphenation=hyphenation_algorithm))\n\n\nlayout.add(Paragraph(\n    <span class=\"hljs-string\">\"\"\"\n    Lorem Ipsum is simply dummy text of the printing and typesetting industry. \n    \"\"\"<\/span>, \n    font=<span class=\"hljs-string\">\"Courier-Bold\"<\/span>,\n    text_alignment=Alignment.JUSTIFIED, \n    hyphenation=hyphenation_algorithm,\n    border_color=HexColor(<span class=\"hljs-string\">\"56cbf9\"<\/span>),\n    border_width=Decimal(<span class=\"hljs-number\">3<\/span>),\n    border_left=<span class=\"hljs-literal\">True<\/span>,\n    padding_left=Decimal(<span class=\"hljs-number\">5<\/span>),\n    padding_bottom=Decimal(<span class=\"hljs-number\">5<\/span>),\n))\n\n\nlayout.add(Paragraph(\n    <span class=\"hljs-string\">\"\"\"\n    Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of \"de Finibus Bonorum et Malorum\" \n    (The Extremes of Good and Evil) by Cicero, written in 45 BC. \n    This book is a treatise \u0631\u0648\u06cc the theory of ethics, very popular during the Renaissance.\n    \"\"\"<\/span>, text_alignment=Alignment.JUSTIFIED, hyphenation=hyphenation_algorithm))\n<\/code><\/pre>\n<p>\u0628\u06cc\u0627\u06cc\u06cc\u062f \u0637\u0631\u062d \u062f\u06cc\u06af\u0631\u06cc \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u0645<\/p>\n<pre><code class=\"hljs\">\nlayout.add(create_piechart((<span class=\"hljs-string\">\"Loren\"<\/span>, <span class=\"hljs-string\">\"Ipsum\"<\/span>, <span class=\"hljs-string\">\"Dolor\"<\/span>, <span class=\"hljs-string\">\"Sit\"<\/span>, <span class=\"hljs-string\">\"Amet\"<\/span>), \n                           (<span class=\"hljs-number\">600<\/span>, <span class=\"hljs-number\">30<\/span>, <span class=\"hljs-number\">89<\/span>, <span class=\"hljs-number\">100<\/span>, <span class=\"hljs-number\">203<\/span>)))\n<\/code><\/pre>\n<p>\u0648 \u06cc\u06a9\u06cc \u062f\u06cc\u06af\u0631 <code>Paragraph<\/code> \u0627\u0632 \u0645\u062d\u062a\u0648\u0627<\/p>\n<pre><code class=\"hljs\">\nlayout.add(Paragraph(\n    <span class=\"hljs-string\">\"\"\"\n    It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. \n    The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', \n    making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, \n    and a search for 'lorem ipsum' will uncover many websites still in their infancy. \n    Various versions have evolved over the years, sometimes by accident, sometimes \u0631\u0648\u06cc purpose (injected humor and the like).\n    \"\"\"<\/span>, text_alignment=Alignment.JUSTIFIED, hyphenation=hyphenation_algorithm))\n<\/code><\/pre>\n<p>\u062f\u0631 \u0646\u0647\u0627\u06cc\u062a\u060c \u0645\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u0645 <code>Document<\/code>:<\/p>\n<pre><code class=\"hljs\">\n<span class=\"hljs-keyword\">with<\/span> <span class=\"hljs-built_in\">open<\/span>(<span class=\"hljs-string\">\"output.pdf\"<\/span>, <span class=\"hljs-string\">\"wb\"<\/span>) <span class=\"hljs-keyword\">as<\/span> pdf_file_handle:\n  PDF.dumps(pdf_file_handle, pdf)\n<\/code><\/pre>\n<p>\u0627\u062c\u0631\u0627\u06cc \u0627\u06cc\u0646 \u06a9\u062f \u0645\u0646\u062c\u0631 \u0628\u0647 \u06cc\u06a9 \u0633\u0646\u062f PDF \u0645\u06cc \u0634\u0648\u062f \u06a9\u0647 \u0628\u0647 \u0634\u06a9\u0644 \u0632\u06cc\u0631 \u0627\u0633\u062a:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/rasanegar.com\/blog\/wp-content\/uploads\/2024\/01\/integrating-matplotlib-charts-in-a-pdf-using-borb-1.PNG\" alt=\"\u0627\u062f\u063a\u0627\u0645 \u0646\u0645\u0648\u062f\u0627\u0631\u0647\u0627\u06cc matplotlib \u062f\u0631 pdf \u0628\u0627 python \u0648 \u0628\u0648\u0631\u0628\" title=\"\"><\/p>\n<h2 id=\"conclusion\"><span class=\"ez-toc-section\" id=\"%d9%86%d8%aa%db%8c%d8%ac%d9%87\"><\/span>\u0646\u062a\u06cc\u062c\u0647<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0631\u0627\u0647\u0646\u0645\u0627 \u0634\u0645\u0627 \u06cc\u0627\u062f \u06af\u0631\u0641\u062a\u0647 \u0627\u06cc\u062f \u06a9\u0647 \u0686\u06af\u0648\u0646\u0647 \u0646\u0645\u0648\u062f\u0627\u0631\u0647\u0627\u06cc Matplotlib \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06cc\u06a9 PDF \u0627\u062f\u063a\u0627\u0645 \u06a9\u0646\u06cc\u062f <code>borb<\/code>.  \u0627\u0632 \u0627\u06cc\u0646\u062c\u0627\u060c \u0622\u0633\u0645\u0627\u0646 \u062d\u062f \u0627\u0633\u062a!  \u0647\u0631\u0686\u0647 \u0628\u0627 \u062a\u062c\u0633\u0645 \u062f\u0627\u062f\u0647 \u0647\u0627 \u062e\u0644\u0627\u0642\u06cc\u062a \u0628\u06cc\u0634\u062a\u0631\u06cc \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f\u060c PDF \u0647\u0627\u06cc \u0634\u0645\u0627 \u0632\u06cc\u0628\u0627\u062a\u0631 \u0645\u06cc \u0634\u0648\u0646\u062f.<\/p>\n<\/div>\n<p><script>\n                        !function(f,b,e,v,n,t,s)\n                        {if(f.fbq)return;n=f.fbq=function(){n.callMethod?\n                        n.callMethod.apply(n,arguments):n.queue.push(arguments)};\n                        if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';\n                        n.queue=();t=b.createElement(e);t.async=!0;\n                        t.src=v;s=b.getElementsByTagName(e)(0);\n                        s.parentNode.insertBefore(t,s)}(window, document,'script',\n                        'https:\/\/connect.facebook.net\/en_US\/fbevents.js');\n                        fbq('init', '525232124909042');\n                        fbq('track', 'PageView');\n                    <\/script>    (\u0628\u0631\u0686\u0633\u0628\u200c\u0647\u0627 \u0628\u0647 \u062a\u0631\u062c\u0645\u0647)# python<br \/>\n<br \/><br \/>\n<br \/>\u0645\u0646\u062a\u0634\u0631 \u0634\u062f\u0647 \u062f\u0631 1403-01-08 04:10:03<br \/>\n<\/p>\n\n\n<div class=\"kk-star-ratings kksr-auto kksr-align-center kksr-valign-bottom\"\n    data-payload='{&quot;align&quot;:&quot;center&quot;,&quot;id&quot;:&quot;15053&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;bottom&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;0&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;0&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;5&quot;,&quot;greet&quot;:&quot;\u0627\u0645\u062a\u06cc\u0627\u0632 \u0634\u0645\u0627 \u0628\u0647 \u0627\u06cc\u0646 \u0645\u0637\u0644\u0628&quot;,&quot;legend&quot;:&quot;0\\\/5 (0 \u0631\u0627\u06cc)&quot;,&quot;size&quot;:&quot;30&quot;,&quot;title&quot;:&quot;\u0627\u062f\u063a\u0627\u0645 \u0646\u0645\u0648\u062f\u0627\u0631\u0647\u0627\u06cc Matplotlib \u062f\u0631 PDF \u062f\u0631 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0628\u0627 BORB&quot;,&quot;width&quot;:&quot;0&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} ({count} \u0631\u0627\u06cc)&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-left: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-left: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-left: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-left: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-left: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 0px;\">\n            <div class=\"kksr-star\" style=\"padding-left: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-left: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-left: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-left: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-left: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 24px;\">\n            <span class=\"kksr-muted\">\u0627\u0645\u062a\u06cc\u0627\u0632 \u0634\u0645\u0627 \u0628\u0647 \u0627\u06cc\u0646 \u0645\u0637\u0644\u0628<\/span>\n    <\/div>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p><span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">\u0632\u0645\u0627\u0646 \u0644\u0627\u0632\u0645 \u0628\u0631\u0627\u06cc \u0645\u0637\u0627\u0644\u0639\u0647: <\/span> <span class=\"rt-time\"> 5<\/span> <span class=\"rt-label rt-postfix\">\u062f\u0642\u06cc\u0642\u0647<\/span><\/span>\u0645\u0639\u0631\u0641\u06cc \u0627\u06cc\u0646 \u0641\u0631\u0645\u062a \u0633\u0646\u062f \u0642\u0627\u0628\u0644 \u062d\u0645\u0644 (PDF) \u0622\u06cc\u0627 \u0641\u0631\u0645\u062a wysiwyg \u0646\u06cc\u0633\u062a (\u0622\u0646\u0686\u0647 \u0645\u06cc \u0628\u06cc\u0646\u06cc\u062f \u0647\u0645\u0627\u0646 \u0686\u06cc\u0632\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0645\u06cc \u06af\u06cc\u0631\u06cc\u062f). \u0627\u06cc\u0646 \u0628\u0631\u0627\u06cc \u067e\u0644\u062a\u0641\u0631\u0645-\u0622\u06af\u0646\u0648\u0633\u062a\u06cc\u06a9\u060c \u0645\u0633\u062a\u0642\u0644 \u0627\u0632 \u0633\u06cc\u0633\u062a\u0645 \u0639\u0627\u0645\u0644 \u0627\u0635\u0644\u06cc \u0648 \u0645\u0648\u062a\u0648\u0631\u0647\u0627\u06cc \u0631\u0646\u062f\u0631 \u062a\u0648\u0633\u0639\u0647 \u062f\u0627\u062f\u0647 \u0634\u062f. \u0628\u0631\u0627\u06cc \u062f\u0633\u062a\u06cc\u0627\u0628\u06cc \u0628\u0647 \u0627\u06cc\u0646 \u0647\u062f\u0641\u060c PDF \u0633\u0627\u062e\u062a\u0647 \u0634\u062f \u062a\u0627 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0686\u06cc\u0632\u06cc \u0628\u06cc\u0634\u062a\u0631 \u0634\u0628\u06cc\u0647 \u0628\u0647 \u06cc\u06a9 \u0632\u0628\u0627\u0646 \u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u06cc \u0648 \u0645\u062a\u06a9\u06cc [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":15054,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1743,620],"tags":[],"class_list":["post-15053","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python","category-programming"],"acf":[],"_links":{"self":[{"href":"https:\/\/rasanegaar.com\/blog\/wp-json\/wp\/v2\/posts\/15053","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rasanegaar.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rasanegaar.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rasanegaar.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/rasanegaar.com\/blog\/wp-json\/wp\/v2\/comments?post=15053"}],"version-history":[{"count":0,"href":"https:\/\/rasanegaar.com\/blog\/wp-json\/wp\/v2\/posts\/15053\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rasanegaar.com\/blog\/wp-json\/wp\/v2\/media\/15054"}],"wp:attachment":[{"href":"https:\/\/rasanegaar.com\/blog\/wp-json\/wp\/v2\/media?parent=15053"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rasanegaar.com\/blog\/wp-json\/wp\/v2\/categories?post=15053"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rasanegaar.com\/blog\/wp-json\/wp\/v2\/tags?post=15053"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}