سفارشی کردن خطوط

بررسی اجمالی

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

تغییر رنگ

می‌توانید رنگ خطوطی را که نقاط داده را در نمودارهای Google به هم متصل می‌کنند به دو روش متفاوت تغییر دهید: با گزینه colors برای تغییر پالت نمودار یا با گزینه series برای تعیین رنگ برای سری‌های خاص.

در نمودار زیر رنگ هر سری را به صراحت تعیین می کنیم.

        var options = {
          legend
: 'none',
         
series: {
           
0: { color: '#e2431e' },
           
1: { color: '#e7711b' },
           
2: { color: '#f1ca3a' },
           
3: { color: '#6f9654' },
           
4: { color: '#1c91c0' },
           
5: { color: '#43459d' },
         
}

       
};
<html>
 
<head>
   
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
   
<script type="text/javascript">
      google
.charts.load("current", {packages:["corechart"]});
      google
.charts.setOnLoadCallback(drawChart);
     
function drawChart() {
       
var data = google.visualization.arrayToDataTable
           
([['X', '1', '2', '3', '4', '5', '6'],
             
[1, 2, 3, 4, 5, 6, 7],
             
[2, 3, 4, 5, 6, 7, 8],
             
[3, 4, 5, 6, 7, 8, 9],
             
[4, 5, 6, 7, 8, 9, 10],
             
[5, 6, 7, 8, 9, 10, 11],
             
[6, 7, 8, 9, 10, 11, 12]
       
]);

       
var options = {
          legend
: 'none',
         
series: {
           
0: { color: '#e2431e' },
           
1: { color: '#e7711b' },
           
2: { color: '#f1ca3a' },
           
3: { color: '#6f9654' },
           
4: { color: '#1c91c0' },
           
5: { color: '#43459d' },
         
}

       
};

       
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
        chart
.draw(data, options);
     
}
   
</script>
 
</head>
 
<body>
   
<div id="chart_div" style="width: 900px; height: 500px;"></div>
 
</body>
</html>

در بالا، رنگ ها با مقدار هگز مشخص می شوند (به عنوان مثال، '#e2431e' ، یا '#f00' برای قرمز اشباع شده) اما می توانند با نام انگلیسی نیز مشخص شوند. مثال زیر این موضوع را نشان می‌دهد و همچنین نحوه کنترل رنگ‌ها را با تثبیت پالت نمودار با گزینه colors ، برخلاف تنظیم رنگ‌های سری‌های جداگانه نشان می‌دهد. یک تفاوت این است که اگر پالت را درست کنید و تعداد سری‌ها بیشتر از رنگ‌ها در پالت شما باشد، رنگ‌ها دوباره استفاده می‌شوند: اگر پالت شما از قرمز و آبی تشکیل شده باشد، نیمی از سری قرمز و نیمی دیگر آبی خواهد بود.

        var options = {
          legend
: 'none',
         
colors: ['black', 'blue', 'red', 'green', 'yellow', 'gray']
       
};
<html>
 
<head>
   
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
   
<script type="text/javascript">
      google
.charts.load("current", {packages:["corechart"]});
      google
.charts.setOnLoadCallback(drawChart);
     
function drawChart() {
       
var data = google.visualization.arrayToDataTable
           
([['X', '1', '2', '3', '4', '5', '6'],
             
[1, 2, 3, 4, 5, 6, 7],
             
[2, 3, 4, 5, 6, 7, 8],
             
[3, 4, 5, 6, 7, 8, 9],
             
[4, 5, 6, 7, 8, 9, 10],
             
[5, 6, 7, 8, 9, 10, 11],
             
[6, 7, 8, 9, 10, 11, 12]
       
]);

       
var options = {
          legend
: 'none',
         
colors: ['black', 'blue', 'red', 'green', 'yellow', 'gray']
       
};

       
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
        chart
.draw(data, options);
     
}
   
</script>
 
</head>
 
<body>
   
<div id="chart_div" style="width: 900px; height: 500px;"></div>
 
</body>
</html>

تغییر ضخامت

می توانید ضخامت خطوط را با گزینه lineWidth کنترل کنید:

        var options = {
          legend
: 'none',
          hAxis
: { maxValue: 7 },
          vAxis
: { maxValue: 13 },
         
lineWidth: 10,
          colors
: ['#e2431e', '#d3362d', '#e7711b',
                   
'#e49307', '#e49307', '#b9c246']
       
};
<html>
 
<head>
   
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
   
<script type="text/javascript">
      google
.charts.load("current", {packages:["corechart"]});
      google
.charts.setOnLoadCallback(drawChart);
     
function drawChart() {
       
var data = google.visualization.arrayToDataTable
           
([['X', '1', '2', '3', '4', '5', '6'],
             
[1, 2, 3, 4, 5, 6, 7],
             
[2, 3, 4, 5, 6, 7, 8],
             
[3, 4, 5, 6, 7, 8, 9],
             
[4, 5, 6, 7, 8, 9, 10],
             
[5, 6, 7, 8, 9, 10, 11],
             
[6, 7, 8, 9, 10, 11, 12]
       
]);

       
var options = {
          legend
: 'none',
          hAxis
: { maxValue: 7 },
          vAxis
: { maxValue: 13 },
         
lineWidth: 10,
          colors
: ['#e2431e', '#d3362d', '#e7711b',
                   
'#e49307', '#e49307', '#b9c246']
       
};

       
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
        chart
.draw(data, options);
     
}
   
</script>
 
</head>
 
<body>
   
<div id="chart_div" style="width: 900px; height: 500px;"></div>
 
</body>
</html>

برای کنترل عرض خط یک سری، از گزینه series استفاده کنید:

        var options = {
          legend
: 'none',
          hAxis
: { maxValue: 7 },
          vAxis
: { maxValue: 13 },
         
series: {
           
0: { lineWidth: 1 },
           
1: { lineWidth: 2 },
           
2: { lineWidth: 4 },
           
3: { lineWidth: 8 },
           
4: { lineWidth: 16 },
           
5: { lineWidth: 24 }
         
},

          colors
: ['#e2431e', '#d3362d', '#e7711b',
                   
'#e49307', '#e49307', '#b9c246']
       
};
<html>
 
<head>
   
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
   
<script type="text/javascript">
      google
.charts.load("current", {packages:["corechart"]});
      google
.charts.setOnLoadCallback(drawChart);
     
function drawChart() {
       
var data = google.visualization.arrayToDataTable
           
([['X', '1', '2', '3', '4', '5', '6'],
             
[1, 2, 3, 4, 5, 6, 7],
             
[2, 3, 4, 5, 6, 7, 8],
             
[3, 4, 5, 6, 7, 8, 9],
             
[4, 5, 6, 7, 8, 9, 10],
             
[5, 6, 7, 8, 9, 10, 11],
             
[6, 7, 8, 9, 10, 11, 12]
       
]);

       
var options = {
          legend
: 'none',
          hAxis
: { maxValue: 7 },
          vAxis
: { maxValue: 13 },
         
series: {
           
0: { lineWidth: 1 },
           
1: { lineWidth: 2 },
           
2: { lineWidth: 4 },
           
3: { lineWidth: 8 },
           
4: { lineWidth: 16 },
           
5: { lineWidth: 24 }
         
},

          colors
: ['#e2431e', '#d3362d', '#e7711b',
                   
'#e49307', '#e49307', '#b9c246']
       
};

       
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
        chart
.draw(data, options);
     
}
   
</script>
 
</head>
 
<body>
   
<div id="chart_div" style="width: 900px; height: 500px;"></div>
 
</body>
</html>

خطچینها

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

هنگامی که نمودار رسم می شود، این طول ها تکرار می شوند، بنابراین [4, 4] به معنای متوالی خط تیره های 4 و شکاف های 4 طولی است. [5, 1, 3] به معنای فاصله 5 طول، فاصله 1 طول، فاصله 3 طول، فاصله 5 طول و غیره است. چند نمونه:

        var options = {
          hAxis
: { maxValue: 10 },
          vAxis
: { maxValue: 18 },
          chartArea
: { width: 380 },
          lineWidth
: 4,
         
series: {
           
0: { lineDashStyle: [1, 1] },
           
1: { lineDashStyle: [2, 2] },
           
2: { lineDashStyle: [4, 4] },
           
3: { lineDashStyle: [5, 1, 3] },
           
4: { lineDashStyle: [4, 1] },
           
5: { lineDashStyle: [10, 2] },
           
6: { lineDashStyle: [14, 2, 7, 2] },
           
7: { lineDashStyle: [14, 2, 2, 7] },
           
8: { lineDashStyle: [2, 2, 20, 2, 20, 2] }
         
},

          colors
: ['#e2431e', '#f1ca3a', '#6f9654', '#1c91c0',
                   
'#4374e0', '#5c3292', '#572a1a', '#999999', '#1a1a1a'],
       
};
<html>
 
<head>
   
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
   
<script type="text/javascript">
      google
.charts.load("current", {packages:["corechart"]});
      google
.charts.setOnLoadCallback(drawChart);
     
function drawChart() {
       
var data = google.visualization.arrayToDataTable
           
([['X', 'lineDashStyle: [1, 1]', 'lineDashStyle: [2, 2]',
               
'lineDashStyle: [4, 4]', 'lineDashStyle: [5, 1, 3]',
               
'lineDashStyle: [4, 1]',
               
'lineDashStyle: [10, 2]', 'lineDashStyle: [14, 2, 7, 2]',
               
'lineDashStyle: [14, 2, 2, 7]',
               
'lineDashStyle: [2, 2, 20, 2, 20, 2]'],
             
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
             
[2, 3, 4, 5, 6, 7, 8, 9, 10, 11],
             
[3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
             
[4, 5, 6, 7, 8, 9, 10, 11, 12, 13],
             
[5, 6, 7, 8, 9, 10, 11, 12, 13, 14],
             
[6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
             
[7, 8, 9, 10, 11, 12, 13, 14, 15, 16],
             
[8, 9, 10, 11, 12, 13, 14, 15, 16, 17],
             
[9, 10, 11, 12, 13, 14, 15, 16, 17, 18]
       
]);

       
var options = {
          hAxis
: { maxValue: 10 },
          vAxis
: { maxValue: 18 },
          chartArea
: { width: 380 },
          lineWidth
: 4,
         
series: {
           
0: { lineDashStyle: [1, 1] },
           
1: { lineDashStyle: [2, 2] },
           
2: { lineDashStyle: [4, 4] },
           
3: { lineDashStyle: [5, 1, 3] },
           
4: { lineDashStyle: [4, 1] },
           
5: { lineDashStyle: [10, 2] },
           
6: { lineDashStyle: [14, 2, 7, 2] },
           
7: { lineDashStyle: [14, 2, 2, 7] },
           
8: { lineDashStyle: [2, 2, 20, 2, 20, 2] }
         
},

          colors
: ['#e2431e', '#f1ca3a', '#6f9654', '#1c91c0',
                   
'#4374e0', '#5c3292', '#572a1a', '#999999', '#1a1a1a'],
       
};

       
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
        chart
.draw(data, options);
     
}
   
</script>
 
</head>
 
<body>
   
<div id="chart_div" style="width: 900px; height: 500px;"></div>
 
</body>
</html>