تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
<html>
<head>
<!--Load the AJAX API-->
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
// Load the Visualization API and the piechart package.
google.charts.load('current', {'packages':['corechart']});
// Set a callback to run when the Google Visualization API is loaded.
google.charts.setOnLoadCallback(drawChart);
// Callback that creates and populates a data table,
// instantiates the pie chart, passes in the data and
// draws it.
function drawChart() {
// Create the data table.
var data = new google.visualization.DataTable();
data.addColumn('string', 'Topping');
data.addColumn('number', 'Slices');
data.addRows([
['Mushrooms', 3],
['Onions', 1],
['Olives', 1],
['Zucchini', 1],
['Pepperoni', 2]
]);
// Set chart options
var options = {'title':'How Much Pizza I Ate Last Night',
'width':400,
'height':300};
// Instantiate and draw our chart, passing in some options.
var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
</script>
</head>
<body>
//Div that will hold the pie chart
<div id="chart_div" style="width:400; height:300"></div>
</body>
</html>
الخطوة الأخيرة هي رسم المخطط. يجب أولاً إنشاء مثيل لفئة الرسم البياني التي تريد استخدامها، ثم استدعاء الدالة draw() على هذه الفئة.
إنشاء مثيل للرسم البياني
يستند كل نوع من أنواع الرسوم البيانية إلى فئة مختلفة هي مدرَجة في مستندات الرسم البياني. على سبيل المثال، يستند الرسم البياني الدائري إلى الفئة google.visualization.PieChart، بينما يستند الرسم البياني الشريطي إلى الفئة google.visualization.BarChart، وهكذا. يتم تضمين كل من المخططات الدائرية والشريطية في حزمة Corechart التي قمت بتحميلها في بداية هذا البرنامج التعليمي. ومع ذلك، إذا كنت ترغب في الحصول على مخطط ثلاثي الأبعاد أو مخطط جغرافي على صفحتك، يجب إضافة حزم "الخريطة ثلاثية الأبعاد" أو "الخرائط الجغرافية".
تستخدم منصات إنشاء الرسوم البيانية في Google معلَمة واحدة: مرجع إلى عنصر DOM الذي يمكن فيه رسم التمثيل البصري.
var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
رسم الرسم البياني
بعد إعداد بياناتك وخياراتك، ستكون جاهزًا لرسم المخطط.
يجب أن تحتوي صفحتك على عنصر HTML (عادةً <div>) للاحتفاظ بالرسم البياني.
عليك تمرير مرجع من الرسم البياني إلى هذا العنصر،
لذا حدِّد له معرّفًا يمكنك استخدامه لاسترداد مرجع باستخدام document.getElementById().
سيتم استبدال أي شيء داخل هذا العنصر
بالمخطط عند رسمه. ننصحك بتحديد ما إذا كان عليك تحديد حجم عنصر <div> هذا بشكل صريح، ولكن في الوقت الحالي، حدِّد حجم الرسم البياني في ترميز HTML <div>.
يتيح كل رسم بياني طريقة draw() التي تستخدم قيمتَين: عنصر DataTable (أو DataView) يحتفظ ببياناتك، وكائن اختياري لخيارات الرسم البياني. كائن الخيارات غير مطلوب، ويمكنك تجاهله أو إدخال قيمة فارغة لاستخدام الخيارات الافتراضية للمخطط.
بعد طلب draw()، سيتم رسم الرسم البياني في الصفحة. عليك استدعاء الطريقة draw() في كل مرة تغيّر فيها البيانات أو الخيارات وتريد تعديل الرسم البياني.
طريقة draw() غير متزامنة، أي أنها يتم عرضها فورًا، ولكن قد لا يكون المثيل الذي تعرضه متاحًا في الحال. لا بأس في ذلك في العديد من الحالات، حيث سيتم رسم المخطط في النهاية. ومع ذلك، إذا كنت تريد ضبط قيم أو استردادها في رسم بياني بعد طلب draw()، عليك الانتظار إلى أن يتم طرح الحدث الجاهز، ما يشير إلى أنّه تمت تعبئته. سنتناول الاستماع إلى الأحداث في الصفحة التالية.
تحديد المشاكل وحلّها
إذا كان الرسم البياني لا يرسم على الصفحة، إليك بعض الأساليب التي قد تساعدك في حل المشاكل:
ابحث عن الأخطاء الإملائية. تذكر أن JavaScript لغة حساسة لحالة الأحرف.
استخدام برنامج تصحيح أخطاء JavaScript في Firefox، يمكنك استخدام وحدة تحكّم JavaScript أو Venkman Debugger أو إضافة Firebug. في Chrome، يمكنك استخدام أدوات المطوّرين (Shift + Ctl + J).
تاريخ التعديل الأخير: 2024-07-10 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2024-07-10 (حسب التوقيت العالمي المتفَّق عليه)"],[[["\u003cp\u003eThis content focuses on how to draw a Google chart, specifically a pie chart, using JavaScript and the Google Visualization API.\u003c/p\u003e\n"],["\u003cp\u003eIt explains the process of instantiating a chart object (e.g., \u003ccode\u003egoogle.visualization.PieChart\u003c/code\u003e) and calling the \u003ccode\u003edraw()\u003c/code\u003e method to render the chart within a designated HTML element.\u003c/p\u003e\n"],["\u003cp\u003eIt emphasizes the importance of providing data (using a \u003ccode\u003eDataTable\u003c/code\u003e) and optional chart options to the \u003ccode\u003edraw()\u003c/code\u003e method to customize the visualization.\u003c/p\u003e\n"],["\u003cp\u003eThe content also highlights the asynchronous nature of the \u003ccode\u003edraw()\u003c/code\u003e method and suggests troubleshooting steps if the chart doesn't render correctly.\u003c/p\u003e\n"]]],[],null,["# Draw the Chart\n\n```html\n\u003chtml\u003e\n \u003chead\u003e\n \u003c!--Load the AJAX API--\u003e\n \u003cscript type=\"text/javascript\" src=\"https://www.gstatic.com/charts/loader.js\"\u003e\u003c/script\u003e\n \u003cscript type=\"text/javascript\"\u003e\n\n // Load the Visualization API and the piechart package.\n google.charts.load('current', {'packages':['corechart']});\n\n // Set a callback to run when the Google Visualization API is loaded.\n google.charts.setOnLoadCallback(drawChart);\n\n // Callback that creates and populates a data table, \n // instantiates the pie chart, passes in the data and\n // draws it.\n function drawChart() {\n\n // Create the data table.\n var data = new google.visualization.DataTable();\n data.addColumn('string', 'Topping');\n data.addColumn('number', 'Slices');\n data.addRows([\n ['Mushrooms', 3],\n ['Onions', 1],\n ['Olives', 1],\n ['Zucchini', 1],\n ['Pepperoni', 2]\n ]);\n\n // Set chart options\n var options = {'title':'How Much Pizza I Ate Last Night',\n 'width':400,\n 'height':300};\n\n // Instantiate and draw our chart, passing in some options.\n var chart = new google.visualization.PieChart(document.getElementById('chart_div'));\n chart.draw(data, options);\n }\n \u003c/script\u003e\n \u003c/head\u003e\n\n \u003cbody\u003e\n//Div that will hold the pie chart\n \u003cdiv id=\"chart_div\" style=\"width:400; height:300\"\u003e\u003c/div\u003e\n \u003c/body\u003e\n\u003c/html\u003e\n```\n\nThe last step is to draw the chart. First you must instantiate an instance of the chart class that you want to use, and then you must call `draw()` on the it.\n\nInstantiate your chart\n----------------------\n\nEach chart type is based on a different class, listed in the chart's documentation. For instance, the pie chart is based on the `google.visualization.PieChart` class, the bar chart is based on the `google.visualization.BarChart` class, and so on. Both pie and bar charts are included in the corechart package that you loaded at the beginning of this tutorial. However, if you want a [treemap](/chart/interactive/docs/gallery/treemap#Loading) or [geo chart](/chart/interactive/docs/gallery/geomap) on your page, you must [additionally load the 'treemap' or 'geomap' packages](/chart/interactive/docs/basic_load_libs).\n\nGoogle chart constructors take a single parameter: a reference to the\nDOM element in which to draw the visualization. \n\n```javascript\n var chart = new google.visualization.PieChart(document.getElementById('chart_div'));\n```\n\nDraw your chart\n---------------\n\nAfter you've prepared your data and options, you are ready to draw your chart.\n\nYour page must have an HTML element (typically a `\u003cdiv\u003e`) to hold your chart.\nYou must pass your chart a reference to this element,\nso assign it an ID that you can use to retrieve a reference using `document.getElementById()`.\nAnything inside this element will be replaced by the chart when it is\ndrawn. Consider [whether you should explicitly size this `\u003cdiv\u003e` element](/chart/interactive/docs/basic_customizing_chart#sizing), but for now, specify the chart size in the `\u003cdiv\u003e` HTML.\n\nEvery chart supports a `draw()` method that takes two values: a `DataTable` (or a `DataView`) object that holds your data, and an optional chart options object. The options object is not required, and you can ignore it or pass in null to use the chart's default options.\n\nAfter you call `draw()`, your chart will be drawn on the page. You should\ncall the `draw()` method\nevery time you change the data or the options and want to update the chart.\n\nThe `draw()` method is asynchronous: that is, it returns immediately, but the instance that it returns might not be immediately available. In many cases this is fine; the chart will be drawn eventually. However, if you want to set or retrieve values on a chart after you've called `draw()`, you must wait for it to throw the ready event, which indicates that it is populated. We'll cover listening for events in the next page. \n\n### Troubleshooting\n\nIf your chart doesn't draw on the page, here are some approaches that might help\nyou solve your problems:\n\n- Look for typos. Remember that JavaScript is a case-sensitive language.\n - Use a JavaScript debugger. In Firefox, you can use the JavaScript console, the [Venkman\n Debugger](http://www.mozilla.org/projects/venkman/), or the [Firebug\n add-on](https://addons.mozilla.org/en-US/firefox/addon/1843). In Chrome, you can use the developer tools (Shift + Ctl + J).\n- Search the [Google Visualization API discussion\n group](http://groups.google.com/group/google-visualization-api). If you can't find a post that answers your question, post your question to the group along with a link to a web page that demonstrates the problem.\n\n[**Next: *Draw Multiple Charts***](/chart/interactive/docs/basic_multiple_charts)\n\nMore Information\n----------------\n\n- [`draw()` method](/chart/interactive/docs/reference#visdraw)\n- [Chart Drawing Techniques](/chart/interactive/docs/drawing_charts)"]]