µÎ °³ÀÇ ´Ù¸¥ ¹°¸®·®À» ÇϳªÀÇ Â÷Æ®¿¡ ³ªÅ¸³¾ ¶§´Â ÃàÀ» ºÐ¸®ÇÏ´Â °ÍÀÌ ÁÁ´Ù. ´ÙÀ½ ¿¹Á¦´Â 2°³ÀÇ ¿Âµµ¿Í 1°³ÀÇ ½Àµµ¸¦ °°Àº Â÷Æ®¿¡ Ç¥½ÃÇÑ´Ù.
private void Form1_Load(object sender, EventArgs e)
{
chart1.Series[0].Name = "¿Âµµ";
chart1.Series[0].Points.DataBindY(new int[] { 22, 25, 20, 28, 26, 29 });
chart1.Series[0].ChartType = SeriesChartType.Line;
chart1.Series[0].BorderWidth = 2;
chart1.Series.Add("¿Âµµ2");
chart1.Series[1].Points.DataBindY(new int[] { 18, 18, 16, 19, 22, 17 });
chart1.Series[1].ChartType = SeriesChartType.Line;
chart1.Series[1].BorderWidth = 2;
chart1.Series.Add("½Àµµ");
chart1.Series[2].Points.DataBindY(new int[] { 65, 50, 58, 55, 60, 52 });
chart1.Series[2].ChartType = SeriesChartType.Line;
chart1.Series[2].BorderWidth = 2;
chart1.ChartAreas[0].AxisX.MajorGrid.LineColor = Color.Gainsboro;
chart1.ChartAreas[0].AxisY.MajorGrid.LineColor = Color.Gainsboro;
}
¼¼ °³ÀÇ ½Ã¸®Á Ãß°¡ÇÏ°í ±×¸®µå´Â È帴ÇÏ°Ô Ç¥½ÃÇß´Ù. ¿Âµµ´Â 20µµ ¾ÈÆÆ, ¿Âµµ2´Â 10µµ ÈĹݴ븦 ¿Ô´Ù °¬´Ù ÇÏ°í ½Àµµ´Â 50%´ë ºÎ±Ù¿¡ ÀÖ´Ù.

°ªÀÇ º¯È¸¦ ÆÄ¾ÇÇϴµ¥ º° ¹«¸®´Â ¾ø´Ù. ±×·¯³ª ¿Âµµ³¢¸®´Â »ó´ëÀûÀÎ Å©±â¸¦ ½±°Ô ºñ±³ÇÒ ¼ö ÀÖÁö¸¸ ½Àµµ´Â ½ßÆÇ ´Ù¸¥ ¹°¸®·®ÀÌ¾î¼ Å©±â¸¦ ºñ±³ÇÏ´Â °ÍÀÌ º° Àǹ̰¡ ¾ø´Ù.
¿Âµµ´Â ¼·¾¾ÀÌ°í ½Àµµ´Â ¹éºÐÀ²ÀÌ¾î¼ ´ÜÀ§°¡ ´Þ¶ó À߸ø º¸¸é ¹«Ã´ Çò°¥·Á º¸ÀδÙ. ´Ù¸¸ °°Àº Â÷Æ®¿¡ ÀÖ´Ù º¸´Ï »ó´ëÀûÀÎ ºñ±³°¡ °¡´ÉÇÏ°í º¯È ÃßÀÌ¿¡ ´ëÇÑ »ó°ü °ü°èµµ »ìÆìº¼ ¼ö ÀÖ´Ù. µÑÀ» °¢°¢ÀÇ Â÷Æ®·Î ºÐ¸®ÇØ ¹ö¸®¸é ÀÌ·± ºñ±³´Â ¾î·Á¿öÁø´Ù.
±×³ª¸¶ µÑ ´Ù °ªÀÇ ¹üÀ§°¡ 100 À̳»¿©¼ ÇÑ´«¿¡ º¸À̴µ¥ ¿Âµµ°¡ ¼ö¸¸µµ ¹üÀ§¿¡ ÀÖ´Ù¸é ¹éºÐÀ²ÀÎ ½Àµµ´Â ¹Ù´Ú¿¡ ±ò·Á¼ º¸ÀÌÁöµµ ¾ÊÀ» »Ó´õ·¯ °ÅÀÇ Á÷¼± ÇüÅ¿©¼ °ªÀÇ º¯È¸¦ ÆÄ¾ÇÇϱ⵵ ¾î·Æ´Ù.
ÀÌ·² ¶§´Â Ãุ ºÐ¸®ÇÏ¿© ¿ÞÂÊÃàÀº ¿Âµµ·Î, ¿À¸¥ÂÊ ÃàÀº ½Àµµ·Î Ç¥½ÃÇÏ¸é ½ÃÀμºµµ ÁÁ°í µ¿ÀÏ ½ÃÁ¡¿¡ ´ëÇØ µÎ ¹°¸®·®À» °¢°¢ ºñ±³ÇØ º¼ ¼ö ÀÖ´Ù. Àüü ÄÚµå´Â ´ÙÀ½°ú °°´Ù.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Windows.Forms.DataVisualization.Charting;
namespace chartTest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
chart1.Series[0].Name = "¿Âµµ";
chart1.Series[0].Points.DataBindY(new int[] { 22, 25, 20, 28, 26, 29 });
chart1.Series[0].ChartType = SeriesChartType.Line;
chart1.Series[0].BorderWidth = 2;
chart1.Series.Add("¿Âµµ2");
chart1.Series[1].Points.DataBindY(new int[] { 18, 18, 16, 19, 22, 17 });
chart1.Series[1].ChartType = SeriesChartType.Line;
chart1.Series[1].BorderWidth = 2;
chart1.Series.Add("½Àµµ");
chart1.Series[2].Points.DataBindY(new int[] { 65, 50, 58, 55, 60, 52 });
chart1.Series[2].ChartType = SeriesChartType.Line;
chart1.Series[2].BorderWidth = 2;
chart1.ChartAreas[0].AxisX.MajorGrid.LineColor = Color.Gainsboro;
chart1.ChartAreas[0].AxisY.MajorGrid.LineColor = Color.Gainsboro;
// ¹ü·Ê°¡ ÀÖ°í Á¿ì YÃàÀ» ¸ðµÎ Ç¥½ÃÇÑ ½ºÅ¸ÀÏÀÇ Â÷Æ® ÁÂÇ¥¸¦ ±¸ÇÑ´Ù.
// µÎ ¿¡¸®¾î¸¦ ¶È°°Àº ¿µ¿ª¿¡ °ãÃÄ ³õ¾Æ¾ß ÇÑ´Ù.
ElementPosition pos = new ElementPosition(3, 3, 80, 94);
ElementPosition inner = new ElementPosition(6.48f, 2.79f, 87.02f, 88.46f);
ChartArea areaTemp = chart1.ChartAreas[0];
areaTemp.Position = pos;
areaTemp.InnerPlotPosition = inner;
// ½Àµµ¿ë ¿¡¸®¾î¸¦ ¸¸µç´Ù.
ChartArea areaHumid = chart1.ChartAreas.Add("humid");
areaHumid.BackColor = Color.Transparent;
areaHumid.BorderColor = Color.Transparent;
areaHumid.Position.FromRectangleF(pos.ToRectangleF());
areaHumid.InnerPlotPosition.FromRectangleF(inner.ToRectangleF());
// ±×¸®µå´Â ¸ðµÎ ¼û±â°í AxisY2ÀÇ ·¹ÀÌºí¸¸ ³²±ä´Ù.
areaHumid.AxisX.MajorGrid.Enabled = false;
areaHumid.AxisX.MajorTickMark.Enabled = false;
areaHumid.AxisX.LabelStyle.Enabled = false;
areaHumid.AxisY.MajorGrid.Enabled = false;
areaHumid.AxisY.MajorTickMark.Enabled = false;
areaHumid.AxisY.LabelStyle.Enabled = false;
areaHumid.AxisY2.MajorGrid.Enabled = false;
// º¸Á¶Ãà°ú ƽ¸¶Å©¸¸ º¸ÀδÙ.
areaHumid.AxisY.Enabled = AxisEnabled.False;
areaHumid.AxisY2.Enabled = AxisEnabled.True;
areaHumid.AxisY2.MajorTickMark.Enabled = true;
// ÁÂ¿ì ¸¶ÁøÀ» ¼û±â°í 0ºÎÅͰ¡ ¾Æ´Ñ ¹üÀ§¿¡ ¸Â°Ô
areaTemp.AxisX.IsMarginVisible = false;
areaHumid.AxisX.IsMarginVisible = false;
areaTemp.AxisY.IsStartedFromZero = false;
areaHumid.AxisY.IsStartedFromZero = false;
areaHumid.AxisY2.IsStartedFromZero = false;
// ´ÜÀ§¸¦ ºÙÀδÙ. %´Â *100ÇØ ¹ö¸®¹Ç·Î ÀÛÀºµû¿ÈÇ¥·Î °¨½Î ¹®ÀÚ ÀÚü¸¸ ºÙÀδÙ.
areaTemp.AxisY.LabelStyle.Format = "#¡É";
areaHumid.AxisY2.LabelStyle.Format = "#'%'";
// ½Àµµ ½Ã¸®Á »õ·Î ¸¸µç ¿¡¸®¾î·Î ¿Å±ä´Ù.
chart1.Series[2].ChartArea = areaHumid.Name;
}
}
}
½ÇÇà °á°úºÎÅÍ º¸ÀÚ. ¿ÞÂÊ YÃà¿¡´Â ¿Âµµ°¡ Ç¥½ÃµÇ°í µÎ °³ÀÇ ¿Âµµ´Â ÀÌ ÃàÀ» ±âÁØÀ¸·Î Ç¥½ÃµÈ´Ù. ¿Âµµ¸¸ ³ªÅ¸³»´Ï ÃàÀÇ ¹üÀ§°¡ Á¼¾Æ º¯È·®À» ´õ Å©°Ô °üÂûÇÒ ¼ö ÀÖ´Ù. ¿À¸¥ÂÊ YÃà¿¡´Â ½Àµµ¸¦ Ç¥½ÃÇÏ¸ç »¡°£»öÀÇ ½Àµµ´Â ÀÌ ÃàÀ» ±âÁØÀ¸·Î ÇÑ´Ù.
.png)
¼·Î ´Ù¸¥ µÎ ¹°¸®·®À» °°Àº Â÷Æ®¿¡ Ç¥½ÃÇϸ鼵µ ÃàÀÌ ´Þ¶ó Çò°¥¸®Áö ¾Ê°í °¢ ÃàÀÌ ÃæºÐÇÑ ¹üÀ§¸¦ »ó¼¼È÷ Ç¥ÇöÇÒ ¼ö ÀÖ´Ù. ´Ù¸¸ ¾î¶² ½Ã¸®Áî°¡ ¾î¶² ÃàÀ» ±âÁØÀ¸·Î ÇÏ´ÂÁö »ö»ó°ú ¹ü·Ê·Î ¸íÈ®È÷ Ç¥½ÃÇØ¾ß ÇÑ´Ù. ¿Âµµ´Â ¿ÞÂÊ Ãà, ½Àµµ´Â ¿À¸¥ÂÊ ÃàÀÓÀ» »ç¿ëÀÚ°¡ ¾Ë ¼ö ÀÖ¾î¾ß ÇÑ´Ù.
Â÷Æ® ÄÁÆ®·ÑÀÌ X, Y Ãà °¢°¢¿¡ ´ëÇØ ÁÖÃà, º¸Á¶ÃàÀ» Áö¿øÇϱ⠶§¹®¿¡ Á¿ì·Î ¶Ç´Â »óÇÏ·Î µÎ °³¾¿ÀÇ ÃàÀ» ±×¸± ¼ö ÀÖ´Ù. ±×·¯³ª ÁÖÃà°ú º¸Á¶ÃàÀº ¾çÂÊÀ¸·Î Ç¥½Ã¸¸ ÇÒ »Ó ¹üÀ§¸¦ ´Ù¸£°Ô ÁÙ ¼ö´Â ¾ø¾î ÇϳªÀÇ ¿¡¸®¾î¸¸À¸·Î´Â µÎ °³ÀÇ ¹°¸®·®À» µ¿½Ã¿¡ ±×¸± ¼ö ¾ø´Ù.
Á¿ìÃàÀÇ ¹üÀ§°¡ ´Ù¸¥ Â÷Æ®¸¦ ±×¸®·Á¸é ¿¡¸®¾î¸¦ ºÐÇÒÇØ¾ß ÇÑ´Ù. µÎ ¿¡¸®¾î¸¦ °°Àº ¿µ¿ª¿¡ Æ÷°³¾î Ç¥½ÃÇ쵂 Çϳª´Â ÁÖÃุ, Çϳª´Â º¸Á¶Ãุ »ç¿ëÇÏ´Â ½ÄÀÌ´Ù. µÎ ¿¡¸®¾î¸¦ Á¤È®È÷ °°Àº ¿µ¿ª¿¡ °ãÃÄ ¹èÄ¡Çϱâ À§ÇØ ¿øÇÏ´Â Â÷Æ® ½ºÅ¸ÀÏ·Î ¿µ¿ªÀÇ Å©±â¸¦ Á¶»çÇÑ´Ù.
(3, 3, 80, 94) ¿µ¿ª Å©±â´Â Â÷Æ®ÀÇ º¸Á¶ÃàÀ» Ȱ¼ºÈÇÏ°í ¹ü·Ê¸¦ ÁØ ÈÄ ½ÇÇàÁß¿¡ ¹öư Ŭ¸¯ µîÀÇ À̺¥Æ®¿¡¼ ½ÇÁ¦ Á¶»çÇÑ °ªÀ̸ç inner ¿µ¿ªµµ ¸¶Âù°¡Áö ¹æ¹ýÀ¸·Î Á¶»çÇß´Ù. Â÷Æ®ÀÇ ½ºÅ¸ÀÏÀÌ ¹Ù²î¸é ¿µ¿ªÀÇ Å©±âµµ ´Þ¶óÁø´Ù.
¿µ¿ª Å©±â¸¦ µû·Î Á¶»çÇÏ¿© »ç¿ëÇÏ´Â ´ë½Å ½ÇÇàÁß¿¡ ¿¡¸®¾îÀÇ Position, innerPlotPosition ¼Ó¼ºÀ» Á÷Á¢ Á¶»çÇÏ¿© Àû¿ëÇÒ ¼öµµ ÀÖ´Ù. ±×·¯³ª Form_Load ½ÃÁ¡¿¡´Â Â÷Æ® ¿µ¿ªÀÌ ¾ÆÁ÷ ÃʱâȵÇÁö ¾Ê¾Æ ¸ðµÎ 0ÀÇ °ªÀ» °¡Áö¸ç Â÷Æ®¸¦ ¿ÏÀüÈ÷ ±×¸° ÈÄ¿¡³ª Á¤È®ÇÑ °ªÀ» ¾Ë ¼ö ÀÖ´Ù.
±×·¡¼ ½ÇÇàÁß¿¡ Â÷Æ® ¿µ¿ªÀ» Á¶»çÇÑ ÈÄ À̸¦ Àû¿ëÇß´Ù. ÀÏ´Ü ÁÖÃà¿¡ Â÷Æ®¸¦ ±×¸° ÈÄ ¿¡¸®¾î¸¦ ºÐÇÒÇÏ´Â °Íµµ °¡´ÉÇѵ¥ ÀÌ·¸°Ô µÇ¸é ±ô¹ÚÀÓÀÌ ¹ß»ýÇÑ´Ù. ¼¼ ½Ã¸®Á ÇÑ ¿¡¸®¾î¿¡ ¹èÄ¡Çß´Ù°¡ ½Àµµ ¿¡¸®¾î°¡ ºÐ¸®µÇ´Â ¸ð½ÀÀÌ º¸¿© ±ò²ûÇÏÁö ¸øÇÏ´Ù. Á» ´õ ÁÁÀº ¹æ¹ýÀÌ ÀÖÀ» °Íµµ °°Àºµ¥ ¾ÆÁ÷ ¿Ïº®ÇÑ ÇØ°áÃ¥À» ãÁö ¸øÇß´Ù.
¿µ¿ªÀ» °áÁ¤ÇÑ ÈÄ humid¶ó´Â À̸§À¸·Î ¿¡¸®¾î¸¦ Çϳª ´õ »ý¼ºÇÑ´Ù. ÀÌ ¿¡¸®¾î´Â ½Àµµ¸¸ Ç¥½ÃÇÒ °ÍÀ̹ǷΠ¿Âµµ¿Í °°Àº ¿µ¿ª¿¡ ³õµÇ ¹è°æ »ö»óÀº Åõ¸íÇÏ°Ô ¼³Á¤Çϰí X, YÃàÀÇ ±×¸®µå³ª ƽ ¸¶Å©µµ °¡ÁöÁö ¾Ê´Â´Ù. ´Ù¸¸ º¸Á¶Ãุ Ç¥½ÃÇ쵂 º¸Á¶ÃàÀÇ ±×¸®µåµµ ¼û±â°í ·¹À̺í°ú ƽ¸¶Å©¸¸ Ç¥½ÃÇÑ´Ù.
°¢ ÃàÀÇ ¸¶Áø°ú 0ºÎÅÍ ½ÃÀÛ ¿É¼ÇÀº Çʿ信 µû¶ó ¼±ÅÃÇ쵂 X ¸¶ÁøÀº ¼û±â°í Y ¸¶Áø¸¸ Ç¥½ÃÇÏ´Â °ÍÀÌ µü º¸±â ÁÁ´Ù. °¡±ÞÀû Á¼Àº ¿µ¿ªÀ» »ó¼¼È÷ º¸±â À§ÇØ 0ºÎÅÍ ½ÃÀÛÀº ÇØÁ¦Ç쵂 humid ¿¡¸®¾îÀÇ °æ¿ì ¼û°ÜÁø YÃà°ú º¸Á¶Ãà Y2ÀÇ ¿É¼ÇÀ» ÀÏÄ¡½ÃÄÑ¾ß ½Ã¸®Áî¿Í ·¹À̺íÀÇ ¹üÀ§°¡ °°¾ÆÁø´Ù.
¿ÂµµÀÇ YÃà ·¹À̺íÀº ¡É·Î Ç¥½ÃÇÏ°í ½ÀµµÀÇ Y2Ãà ·¹À̺íÀº %·Î Ç¥½ÃÇ쵂 ±×³É % ±âÈ£¸¸ ¾²¸é ÀÚµ¿À¸·Î *100ÇØ ¹ö¸®¹Ç·Î %°¡ ´Ü¼øÇÑ ¹®ÀÚÀÓÀ» ÁöÁ¤Çϱâ À§ÇØ ÀÛÀº µû¿ÈÇ¥·Î °¨½Ñ´Ù. ¿©±â±îÁö ¸ðµç Áغñ°¡ ³¡³µÀ¸¸é ½Àµµ ½Ã¸®ÁîÀÇ ¿¡¸®¾î¸¦ areaHumid·Î º¯°æÇÏ¿© ÁÖ ¿¡¸®¾î¿¡¼ Á¦¿ÜÇÑ´Ù. µÎ ¿¡¸®¾î¸¦ ºÐ¸®ÇØ º¸¸é ´ÙÀ½°ú °°´Ù.

°¢ ¿¡¸®¾îº°·Î Ãâ·ÂÇÏ´Â ½Ã¸®Á ºÐ¸®ÇØ ³õ°í µÎ ¿¡¸®¾î¸¦ °°ÀÌ ¿µ¿ª¿¡ °ãÄ¡¸é ÇϳªÀÇ Â÷Æ®·Î º¸ÀδÙ. ½Àµµ Â÷Æ®¿¡´Â XÃà ·¹À̺í, ƽ¸¶Å©, ±×¸®µå°¡ ¾ø°í ½ÉÁö¾î ¹ÙÅÁ ¹è°æ»ö±îÁö Åõ¸íÇØ¼ ¿Âµµ Â÷Æ® À§¿¡ »ìÆ÷½Ã ¾ñÈù´Ù.
¸¸¾à 3°³ ÀÌ»óÀÇ ¹°¸®°ªÀ» °°Àº Â÷Æ®¿¡ Ãâ·ÂÇÏ·Á¸é Á¿ì·Î ¶Ç ´Ù¸¥ ¿¡¸®¾î¸¦ °ãÄ¡°í ±× À§¿¡ ÃàÀ» °¢°¢ Ç¥½ÃÇÏ¸é µÈ´Ù. °¢ ¿¡¸®¾î´Â ½Ã¸®Á Ç¥½ÃÇÏ´Â ¿µ¿ªÀº °øÀ¯Ç쵂 ÃàÀ» À§ÇÑ ¿¡¸®¾î¸¦ Çϳª¾¿ ´õ ¸¸µé¾î ÀÏÁ¤ ÁÖ±â·Î ¶ç¾î°¡¸ç ¹èÄ¡ÇØ¾ß ÇÑ´Ù. ÀÌ¿¡ ´ëÇØ¼´Â mschart »ùÇÿ¡ ¿¹Á¦°¡ ÀÖÀ¸¹Ç·Î Âü°íÇϵµ·Ï ÇÏÀÚ.

ÀÌ ¹æ½Äµµ ¿¡¸®¾î°¡ ¿©·¯ °³ °ãÃÄ ÀÖÀ» »Ó ±âº» ¿ø¸®´Â °°´Ù. Äڵ尡 Á» º¹ÀâÇÏ°í ³ª¿ÀûÀ̶ó ÁöÀúºÐÇØ º¸ÀÌ´Â °æÇâÀÌ ÀÖ°í ½ÇÇàÁß¿¡ ¸ÖƼ Y¸¦ Åä±ÛÇÏ·Á¸é ¿¡¸®¾î¸¦ ºÐ¸® ¹× ÅëÇÕÇϴ ó¸®°¡ ÇÊ¿äÇØ Á» ±î´Ù·Î¿ï »ÓÀÌ´Ù. ½Ç¹«¿¡¼ ÀÌ·± Â÷Æ®¸¦ ¸¸µé¾î ºÃ´Âµ¥ ¿¹»ó¿Ü·Î À¯Áö, º¸¼ö°¡ ¾î·Æ´Ù. ÀÌ·± Â÷Æ®¸¦ ÀÚÀ¯ ÀÚÀç·Î ±×¸®·Á¸é À§ ¿¹Á¦ÀÇ Äڵ带 ¿Ïº®ÇÏ°Ô ÀÌÇØÇϰí ÀÖ¾î¾ß ÇÑ´Ù.

°³¹ßÀÚÀÇ Ãµ±¹ SoEn |