title: How to add more Y-axes to MSChart with different scale at left or right side
body: <p>I want to add 3 Y-axes for the chart with different scales.</p>
  
  <p>I want to get one x axis and different y axis. I did it like below code but I want to show one y axis like in the 2nd image that I attached..</p>
  
  <p>My C# code so far:</p>
  
  <pre><code>   private void checkBoxUseMultipleYAxis_CheckedChanged(object sender, EventArgs e)
      {
          if (checkBoxUseMultipleYAxis.Checked)
          {
              // Set custom chart area position
              chart1.ChartAreas["ChartArea1"].Position = new ElementPosition(25, 10, 68, 85);
              chart1.ChartAreas["ChartArea1"].InnerPlotPosition = new ElementPosition(10, 0, 90, 90);``
  
  
  
              // Create extra Y axis for second and third series
              CreateYAxis(chart1, chart1.ChartAreas["ChartArea1"], chart1.Series["Current"], 13, 8);
              CreateYAxis(chart1, chart1.ChartAreas["ChartArea1"], chart1.Series["Capacity"], 22, 8);
          }
          else
          {
              // Set default chart areas
              chart1.Series["Current"].ChartArea = "ChartArea1";
              chart1.Series["Capacity"].ChartArea = "ChartArea1";
  
              // Remove newly created series and chart areas
              while (chart1.Series.Count &gt; 3)
              {
                  chart1.Series.RemoveAt(3);
              }
              while (chart1.ChartAreas.Count &gt; 1)
              {
                  chart1.ChartAreas.RemoveAt(1);
              }
  
              // Set default chart are position to Auto
              chart1.ChartAreas["ChartArea1"].Position.Auto = true;
              chart1.ChartAreas["ChartArea1"].InnerPlotPosition.Auto = true;
  
          }
      }
   public void CreateYAxis(Chart chart, ChartArea area, Series series, float axisOffset, float labelsSize)
      {
          // Create new chart area for original series
          ChartArea areaSeries = chart.ChartAreas.Add("ChartArea_" + series.Name);
          areaSeries.BackColor = Color.Transparent;
          areaSeries.BorderColor = Color.Transparent;
          areaSeries.Position.FromRectangleF(area.Position.ToRectangleF());
          areaSeries.InnerPlotPosition.FromRectangleF(area.InnerPlotPosition.ToRectangleF());
          areaSeries.AxisX.MajorGrid.Enabled = false;
          areaSeries.AxisX.MajorTickMark.Enabled = false;
          areaSeries.AxisX.LabelStyle.Enabled = false;
          areaSeries.AxisY.MajorGrid.Enabled = false;
          areaSeries.AxisY.MajorTickMark.Enabled = false;
          areaSeries.AxisY.LabelStyle.Enabled = false;
          areaSeries.AxisY.IsStartedFromZero = area.AxisY.IsStartedFromZero;
  
  
          series.ChartArea = areaSeries.Name;
  
          // Create new chart area for axis
          ChartArea areaAxis = chart.ChartAreas.Add("AxisY_" + series.ChartArea);
          areaAxis.BackColor = Color.Transparent;
          areaAxis.BorderColor = Color.Transparent;
          areaAxis.Position.FromRectangleF(chart.ChartAreas[series.ChartArea].Position.ToRectangleF());
          areaAxis.InnerPlotPosition.FromRectangleF(chart.ChartAreas[series.ChartArea].InnerPlotPosition.ToRectangleF());
  
          // Create a copy of specified series
          Series seriesCopy = chart.Series.Add(series.Name + "_Copy");
          seriesCopy.ChartType = series.ChartType;
          foreach (DataPoint point in series.Points)
          {
              seriesCopy.Points.AddXY(point.XValue, point.YValues[0]);
          }
  
          // Hide copied series
          seriesCopy.IsVisibleInLegend = false;
          seriesCopy.Color = Color.Transparent;
          seriesCopy.BorderColor = Color.Transparent;
          seriesCopy.ChartArea = areaAxis.Name;
  
          // Disable drid lines &amp; tickmarks
          areaAxis.AxisX.LineWidth = 0;
          areaAxis.AxisX.MajorGrid.Enabled = false;
          areaAxis.AxisX.MajorTickMark.Enabled = false;
          areaAxis.AxisX.LabelStyle.Enabled = false;
          areaAxis.AxisY.MajorGrid.Enabled = false;
          areaAxis.AxisY.IsStartedFromZero = area.AxisY.IsStartedFromZero;
          areaAxis.AxisY.LabelStyle.Font = area.AxisY.LabelStyle.Font;
  
          // Adjust area position
          areaAxis.Position.X -= axisOffset;
          areaAxis.InnerPlotPosition.X += labelsSize;
  
      }
      };
  </code></pre>
  
  <p><a href="https://i.stack.imgur.com/hiP5g.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/hiP5g.png" alt="So I get output like this"></a></p>
  
  <p><a href="https://i.stack.imgur.com/r3xmQ.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/r3xmQ.png" alt="but I want to adjust this output like this"></a></p>