µ¥ÀÌÅÍ

Â÷Æ®ÀÇ ±¸Á¶

±×·¡ÇÁ Çϳª¸¦ ±×¸®·Á¸é ¿©·¯ °³ÀÇ °ªÀÌ ¸ð¿© ½Ã¸®Á ±¸¼ºÇØ¾ß ÇÑ´Ù. ¿©·¯ °³ÀÇ ½Ã¸®Á ÇϳªÀÇ ¿¡¸®¾î¿¡ °°ÀÌ ±×¸± ¼ö ÀÖ°í Â÷Æ® ÄÁÆ®·ÑÀº ¿¡¸®¾î ¿©·¯ °³¸¦ µ¿½Ã¿¡ Ç¥ÇöÇÒ ¼ö ÀÖ´Ù. ÀÌ·± ½ÄÀÌ´Ù º¸´Ï Â÷Æ®¸¦ ±¸¼ºÇÏ´Â ¸ðµç °ÍÀº Ä÷º¼ÇÀÌ´Ù. Â÷Æ® ÄÁÆ®·ÑÀ» ¼±ÅÃÇØ ³õ°í ¼Ó¼ºÃ¢À» ¹üÁÖº°·Î ³ª¿­ÇØ º¸¸é ´Ù¼¸ °³ÀÇ Ä÷º¼ÇÀÌ ÀÖ´Ù.

ÀÌ Ä÷º¼ÇÀ» ¾î¶»°Ô ±¸¼ºÇϴ°¡¿¡ µû¶ó Â÷Æ®ÀÇ ¸ð¾ç°ú ±â´ÉÀÌ °áÁ¤µÈ´Ù. °¢ Ä÷º¼ÇÀÌ Â÷Æ®¿¡ ¾î¶² ½ÄÀ¸·Î ³ªÅ¸³ª´ÂÁö º¸ÀÚ.

Chart ÄÁÆ®·Ñ Àüü ¿µ¿ª chart picture¶ó°í Çϸç ÀÌ ¾È¿¡ ¿©·¯ °³ÀÇ Area, legend, titleÀÌ ¹èÄ¡µÈ´Ù. Area¾È¿¡´Â µ¥ÀÌÅÍ Ä÷º¼ÇÀÎ ½Ã¸®Áî¿Í ±×¸®µå, Ãà, ƽ ¸¶Å©, ·¹ÀÌºí µîÀÌ ¹èÄ¡µÈ´Ù. Area´Â °¡Àå ÀÚ¸®ÀÇ Ãà°ú Áß¾ÓÀÇ Plot ¿µ¿ªÀ¸·Î ³ª´©¾îÁø´Ù.

Plot ¿µ¿ª ¾È¿¡ ½Ã¸®Á ±×·¡ÇÈ ÇüÅ·Πǥ½ÃÇÑ ±×·¡ÇÁ¿Í ±×¸®µå°¡ Ãâ·ÂµÇ°í ±× ¹Ù±ù¿¡ X, Y Ãà°ú ƽ ¸¶Å©, Ãà ŸÀÌÆ², ·¹ÀÌºí µîÀÌ Ç¥½ÃµÈ´Ù. ÃàÀº Area¿¡ ¼Ò¼ÓµÈ Axes Ä÷º¼ÇÀÌ¸ç »óÇÏ XÃà 2°³, Á¿ì YÃà 2°³·Î ±¸¼ºµÈ´Ù. µðÆúÆ®·Î XÃàÀº ¾Æ·¡Âʸ¸ Ç¥½ÃµÇ¾î ÀÖ°í YÃàÀº ¿ÞÂʸ¸ Ç¥½ÃµÇ¾î ÀÖ´Ù.

Â÷Æ®¸¦ ±¸¼ºÇÏ´Â ¸ðµç °ÍÀº Ä÷º¼ÇÀ̸ç Ä÷º¼Ç³¢¸® ¼­·Î ¼Ò¼ÓµÇ°í ¿¬°áµÇ´Â ½ÄÀÌ´Ù. Â÷Æ® ¾È¿¡ ¿©·¯ °³ÀÇ ¿¡¸®¾î°¡ ÀÖ°í ¿¡¸®¾î¾È¿¡ ¿©·¯ °³ÀÇ ½Ã¸®Áî°¡ ÀÖÀ¸¸ç ½Ã¸®Áî ¾È¿¡ ¶Ç ¿©·¯ °³ÀÇ °ªÀÌ ÀúÀåµÈ´Ù. ÀÌ ±¸Á¶¿¡ Àͼ÷ÇØÁ®¾ß ¿øÇÏ´Â ¿ä¼Ò¸¦ ½Å¼Ó, Á¤È®ÇÏ°Ô Ã£À» ¼ö ÀÖ´Ù.

µ¥ÀÌÅÍ

½Ã¸®Áî´Â Â÷Æ®¿¡ Ãâ·ÂÇÒ µ¥ÀÌÅͰªÀÇ ÁýÇÕÀÌ´Ù. ¿¹¸¦ µé¾î ¼ºÀûÇ¥¸¦ ±×¸°´Ù¸é °¢ ÇлýÀÇ Á¡¼ö µ¥ÀÌÅÍ ÁýÇÕÀÌ ÇϳªÀÇ ½Ã¸®Áî°¡ µÈ´Ù. µ¥ÀÌÅÍ ÁýÇÕÀº SeriesÀÇ Points Ä÷º¼ÇÀ¸·Î °ü¸®ÇÑ´Ù.

 

DataPointCollection Points

 

DataPointCollectionÀº DataPointÀÇ Ä÷º¼ÇÀ̸ç DataPoint´Â ½Ã¸®Á ±¸¼ºÇÏ´Â µ¥ÀÌÅÍ ÇϳªÀÌ´Ù. Áï Â÷Æ®¸¦ ±¸¼ºÇÏ´Â °¡Àå ¿øÀÚÀûÀÎ ´ÜÀ§°¡ ¹Ù·Î DataPointÀÌ´Ù. ÇϳªÀÇ µ¥ÀÌÅÍ´Â ´ÙÀ½ µÎ °ªÀ¸·Î ±¸¼ºµÈ´Ù.

 

XValue : °¡·Î XÃà¿¡ Ç¥½ÃÇÒ °ªÀ̸ç ŸÀÔÀº doubleÀÌ´Ù. ¼ºÀûÇ¥¶ó¸é ÇлýÀÇ Ãâ¼® ¹øÈ£°¡ X°ªÀ¸·Î »ç¿ëµÈ´Ù. X°ªÀÌ ¹Ýµå½Ã ÀÖ¾î¾ß ÇÏ´Â °ÍÀº ¾Æ´Ï¸ç »ý·«½Ã Ä÷º¼Ç¿¡ Ãß°¡ÇÑ ¼ø¼­´ë·Î ±×·Á ¿¬¼ÓÀûÀÎ(non scatter) Â÷Æ®°¡ µÈ´Ù. X°ªÀ» ÁöÁ¤Çϸé ÀÌ °ª¿¡ µû¶ó ºñ ¿¬¼ÓÀûÀÎ Èð¾îÁø(scatter) Â÷Æ®°¡ µÈ´Ù.

YValues : ¼¼·Î YÃà¿¡ Ç¥½ÃÇÒ °ªÀÌ´Ù. ¼ºÀûÇ¥¶ó¸é °¢ ÇлýÀÇ Á¡¼ö°ªÀÌ´Ù. º¸ÅëÀº ÇϳªÀÇ °ª¸¸ ÀÖÁö¸¸ ¿©·¯ °³ÀÇ °ªÀ» Á¶ÇÕÇÏ¿© º¸¿© ÁÖ´Â Â÷Æ®´Â Y°ªÀÌ ¿©·¯ °³ÀÏ ¼öµµ ÀÖ´Ù. ¿¹¸¦ µé¾î ÁÖ½Ä ½ÃȲÀ» ±×¸®´Â Â÷Æ®´Â ½Ã°¡, Á¾°¡, °í°¡, Àú°¡ µî 4°³ÀÇ °ªÀ» ÇѲ¨¹ø¿¡ ±×¸°´Ù. ±×·¡¼­ ÀÌ ¼Ó¼ºÀÇ Å¸ÀÔÀº double []ÀÌ´Ù.

 

Â÷Æ®ÀÇ ÇüŰ¡ ¿ö³« ´Ù¾çÇÏ´Ù º¸´Ï X°ªÀº ¾øÀ» ¼öµµ ÀÖ°í Y°ªÀÌ ¿©·¯ °³ÀÏ ¼öµµ ÀÖ´Ù. DataPointCollectionÀº DataPoint¸¦ Ãß°¡ÇÏ´Â ¸Þ¼­µå¸¦ Á¦°øÇÑ´Ù. µðÀÚÀ̳ʿ¡¼­µµ µ¥ÀÌÅ͸¦ Á÷Á¢ Ãß°¡ÇÒ ¼ö ÀÖÁö¸¸ ´ë·® Ãß°¡´Â ¾Æ¹«·¡µµ Äڵ带 »ç¿ëÇØ¾ß ÇÑ´Ù. Â÷Æ®ÀÇ ±¸Á¶¸¦ »ìÆì º¼ ¼ö ÀÖ´Â °¡Àå ¿ø·ÐÀûÀÎ ¸Þ¼­µåÀ̹ǷΠÀÚ¼¼È÷ »ìÆì º¸ÀÚ. Y°ª¸¸ Ãß°¡ÇÒ ¶§´Â ´ÙÀ½ µÎ ¸Þ¼­µå¸¦ »ç¿ëÇÑ´Ù.

 

int AddY (double yValue);

int AddY (params object[] yValue);

 

ù ¹øÂ° ¸Þ¼­µå´Â ÇϳªÀÇ y°ªÀ» Ä÷º¼ÇÀÇ ¸¶Áö¸·¿¡ Ãß°¡ÇÏ°í ±× Ã·ÀÚ¸¦ ¸®ÅÏÇÑ´Ù. ¼ºÀûÀ» ¼ø¼­´ë·Î ³ª¿­ÇÑ´Ù¸é ù ÇлýÀÇ ¼ºÀûºÎÅÍ ¼ø¼­´ë·Î Á× Ãß°¡ÇÏ¸é µÈ´Ù.

 

private void Form1_Load(object sender, EventArgs e)

{

       chart1.Legends[0].Enabled = false;

       chart1.Series[0].Points.AddY(55);

       chart1.Series[0].Points.AddY(77);

       chart1.Series[0].Points.AddY(66);

}

 

´çºÐ°£ ¹ü·Ê´Â ÇÊ¿ä¾øÀ¸¹Ç·Î Á¦°ÅÇÑ »óÅ·Π½ÇÇàÇØ º¸ÀÚ. ¾È±×·¡µµ Áö¸éÀÌ Á¼Àºµ¥ ¹ü·Ê±îÁö ÀÖÀ¸¸é Â÷Æ®¸¦ Å©°Ô º¼ ¼ö ¾ø¾î ¹ü·Ê¸¦ ¼û±â±â·Î ÇÑ´Ù.

Y°ª¸¸ ÁÖ¸é ÀÚµ¿À¸·Î 1, 2, 3¹ø ÇлýÀÇ ¼ºÀûÀÌ µÈ´Ù. object[]À» ¹Þ´Â AddY ¸Þ¼­µå´Â ¿©·¯ °³ÀÇ Y°ªÀ» ¹ÞÀ» ¼öµµ ÀÖ°í ¿©·¯ ŸÀÔÀÇ °ªÀ» ¹ÞÀ» ¼öµµ ÀÖ´Ù. ±×·¸´Ù°í ÇØ¼­ ¾Æ¹« ŸÀÔÀ̳ª ´Ù ¹Þ´Â °ÍÀº ¾Æ´Ï¸ç Á¤¼ö, ½Ç¼ö ŸÀÔ°ú String, DateTime Á¤µµ¸¸ °¡´ÉÇÏ´Ù. Á¡¼ö°ªÀÌ ¹®ÀÚ¿­ ÇüÅ·ΠÁ¶»çµÇ¾ú´Ù¸é ±×³É ¹®ÀÚ¿­À» Add ÇØµµ µÈ´Ù.

 

chart1.Series[0].Points.AddY("55");

chart1.Series[0].Points.AddY("77");

chart1.Series[0].Points.AddY("66");

 

ÀÌ·¸°Ô ÇØµµ °á°ú´Â °°´Ù. ¹®ÀÚ¿­ ¾È¿¡ ÀúÀåµÈ Á¤¼ö, ½Ç¼ö¸¦ double ŸÀÔÀ¸·Î ¹Ù²ã¼­ »ç¿ëÇÑ´Ù. ÀϹÝÀûÀÌÁö ¾ÊÁö¸¸ DateTime ŸÀÔµµ ´ë¼Ò ±¸ºÐÀÌ °¡´ÉÇϹǷΠY°ªÀ¸·Î ¾µ ¼ö ÀÖ´Ù.

 

chart1.Series[0].Points.AddY(DateTime.Now);

chart1.Series[0].Points.AddY(DateTime.Now.AddDays(1));

chart1.Series[0].Points.AddY(DateTime.Now.AddDays(2));

YÃà¿¡ ³¯Â¥°¡ ³ªÅ¸³­´Ù. ´ÙÀ½Àº ¿©·¯ °³ÀÇ Y°ªÀ» °¡Áö´Â Â÷Æ®¸¦ ±×·Á º¸ÀÚ. ÁÖ½Ä Â÷Æ®¿¡ ÁÖ·Î »ç¿ëÇϴ ĵµé½ºÆ½ÀÌ ´ëÇ¥ÀûÀÌ´Ù. Â÷Æ® ŸÀÔÀ» ¸ÕÀú ¹Ù²ã¾ß Çϸç Ä¿½ºÅÒ ÇÁ·ÎÇÇÅ͸¦ »ç¿ëÇÏ¿© »ó½ÂÀº »¡°£»ö, Ç϶ôÀº ÆÄ¶õ»öÀ¸·Î ÁöÁ¤Çß´Ù. XÃà ±×¸®µå´Â ¾ø¾Ö´Â °ÍÀÌ º¸±â ÁÁ´Ù.

 

chart1.Series[0].ChartType = SeriesChartType.Candlestick;

chart1.Series[0].CustomProperties = "PriceDownColor=Blue, PriceUpColor=Red";

chart1.ChartAreas[0].AxisX.MajorGrid.Enabled = false;

chart1.Series[0].Points.AddY(900, 1600, 1000, 1500);

chart1.Series[0].Points.AddY(1000, 1700, 1200, 1600);

chart1.Series[0].Points.AddY(1200, 500, 1000, 600);

ÀÌ·± Â÷Æ®¸¦ ±×¸®·Á¸é XÃà Çϳª¿¡ ´ëÇØ ¿©·¯ °³ÀÇ Y°ªÀÌ ÇÊ¿äÇÏ´Ù. AddY ¸Þ¼­µå´Â XÃà°ªÀ» ¸ðµÎ »ý·«ÇÑ´Ù. ´ÙÀ½ µÎ ¸Þ¼­µå´Â XÃàÀ» ÁöÁ¤ÇÏ¿© Á» ´õ ´Ù¾çÇÑ ÇüÅÂÀÇ Â÷Æ®¸¦ ±×¸°´Ù.

 

public int AddXY (double xValue, double yValue);

public int AddXY (object xValue, params object[] yValue);

 

ÇϳªÀÇ y°ªÀ» ¹Þ´Â ¹öÀü°ú ¿©·¯ °³ÀÇ y°ªÀ» ¹Þ´Â ¹öÀüÀÌ ÀÖ´Ù. 1, 2,3 ¹ø ÇлýÀÇ ¼ºÀûÇ¥¸¦ ±×¸®°í ½Í´Ù¸é X°ª¿¡ Ãâ¼® ¹øÈ£¸¦ Àû¾î ÁØ´Ù.

 

chart1.Series[0].Points.AddXY(1, 55);

chart1.Series[0].Points.AddXY(2, 77);

chart1.Series[0].Points.AddXY(3, 66);

 

ÀÌ·¸°Ô Çϸé X¸¦ »ý·«ÇÏ°í ¼¼ °³ÀÇ Y°ªÀ» ¼ø¼­´ë·Î Á¦°øÇÏ´Â °Í°ú ¸¶Âù°¡ÁöÀÌ¸ç ±»ÀÌ X°ªÀ» ÁÙ Çʿ䰡 ¾ø´Ù. ±×·¯³ª X°¡ ºñ¿¬¼ÓÀûÀ̰ųª ´Ù¸¥ ŸÀÔÀÏ ¶§´Â X°ªÀ» ÁöÁ¤ÇØ¾ß ÇÑ´Ù. ¿¹¸¦ µé¾î 3¹ø ÇлýÀÌ ÀüÇÐÀ» °¡¼­ ¾ø´Ù°í Çϸé 1, 2, 4¹øÀ» X°ªÀ¸·Î ÁöÁ¤ÇÑ´Ù.

 

 

chart1.Series[0].Points.AddXY(1, 55);

chart1.Series[0].Points.AddXY(2, 77);

chart1.Series[0].Points.AddXY(4, 66);

3¹ø ÀÚ¸®´Â ºó °ÍÀ¸·Î ³ªÅ¸³­´Ù. ¶Ç Ãâ¼® ¹øÈ£°¡ ¾Æ´Ñ °¢ ÇлýÀÇ À̸§À¸·Î ¼ºÀûÀ» Ãâ·ÂÇÒ ¶§µµ X°ªÀ» ÁöÁ¤ÇÑ´Ù.

 

chart1.Series[0].Points.AddXY("ö¼ö", 55);

chart1.Series[0].Points.AddXY("¿µÈñ", 77);

chart1.Series[0].Points.AddXY("µ¿¼ö", 66);

Çлý À̸§Àº XValue¿¡ ÀúÀåµÇ´Â °ÍÀÌ ¾Æ´Ï¶ó DataPoint °´Ã¼ÀÇ AxisLabel ¼Ó¼º¿¡ ÀúÀåµÈ´Ù. XValue´Â Ç×»ó ¼ýÀÚÀÌ´Ù. XÃà¿¡ ½Ã°£À» Ç¥½ÃÇÒ ¶§´Â DateTime ŸÀÔÀ» »ç¿ëÇÑ´Ù. ´ÙÀ½ Â÷Æ®´Â 15ºÐ°£ÀÇ °ª º¯È­¸¦ Ç¥ÇöÇÑ´Ù.

 

Random R = new Random(100);

DateTime end = DateTime.Now.AddMinutes(15);

for (DateTime dt = DateTime.Now;dt < end;dt = dt.AddMinutes(1))

{

       chart1.Series[0].Points.AddXY(dt, R.Next(10, 100));

}

ÆíÀÇ»ó °ªÀº ³­¼ö·Î »ý¼ºÇß´Ù. XÃà¿¡´Â ½Ã°£ÀÌ Ç¥½ÃµÇ´Âµ¥ ³¯Â¥, ½Ã°£µµ double ŸÀÔÀ¸·Î º¯È¯µÇ¾î ÀúÀåµÈ´Ù. ¸¶Áö¸· Add ¸Þ¼­µå´Â ÇÑ °³ ÀÌ»óÀÇ y°ªÀ» Ãß°¡Çϰí DataPoint °´Ã¼¸¦ ¸®ÅÏÇÑ´Ù.

 

DataPoint Add (params double[] y);

 

´Ù¸¥ Add ¸Þ¼­µå°¡ »ðÀÔÇÑ À§Ä¡¸¦ ¸®ÅÏÇϴµ¥ ºñÇØ ÀÌ ¸Þ¼­µå´Â DataPoint °´Ã¼¸¦ ¸®ÅÏÇÑ´Ù´Â Á¡ÀÌ Æ¯ÀÌÇÏ´Ù. Ãß°¡ ÈÄ ¸®ÅÏµÈ DataPoint °´Ã¼·Î ¿©·¯ °¡Áö ¼Ó¼ºÀ» ÆíÁýÇÒ ¼ö ÀÖ´Ù.

´ÙÀ½ ¸Þ¼­µå´Â Ä÷º¼ÇÀÇ µ¥ÀÌÅ͸¦ °ü¸®ÇÑ´Ù. Ãß°¡ÇÏ´Â ±â´ÉÀÌ ÀÖÀ¸¸é ´ç¿¬È÷ »ðÀÔ, »èÁ¦, °Ë»ö, ÃʱâÈ­ µîÀÇ ¸Þ¼­µåµµ ÇÊ¿äÇÏ´Ù. Ä÷º¼ÇÀÌ °®Ãß¾î¾ß ÇÒ ¸ðµç ±â´ÉÀÌ ´Ù ±¸ºñµÇ¾î ÀÖ´Ù.

 

public void InsertY (int index, params object[] yValue);

public void RemoveAt (int index);

public void Clear ();

 

¸Þ¼­µå À̸§¸¸ ºÁµµ ±â´ÉÀ» ½±°Ô À¯ÃßÇÒ ¼ö ÀÖ´Ù. ÆíÀÇ»ó ¿©±â¼­´Â ´ëÇ¥ ¿øÇü¸¸ º¸À̴µ¥ InsertY°¡ ÀÖÀ¸¸é ÀÀ´ç InsertXY¿Í Insertµµ Àֱ⠸¶·ÃÀÌ´Ù. °´Ã¼ ÁöÇâ ¶óÀ̺귯¸®´Â ÇÊ¿äÇÒ °Å °°Àº ¸Þ¼­µå´Â °ÅÀÇ ´Ù Á¦°øÇϹǷΠÇ×»ó ·¹ÆÛ·±½º¸¦ ÂüÁ¶ÇÏÀÚ. ´ÙÀ½ ÄÚµå´Â 3°³ÀÇ µ¥ÀÌÅ͸¦ Ãß°¡ÇÑ ÈÄ 1¹ø À§Ä¡¿¡ 88À» »ðÀÔÇϰí 2¹ø À§Ä¡ÀÇ 77 µ¥ÀÌÅ͸¦ Á¦°ÅÇÑ´Ù.

 

chart1.Series[0].Points.AddY(55);

chart1.Series[0].Points.AddY(77);

chart1.Series[0].Points.AddY(66);

chart1.Series[0].Points.InsertY(1, 88);

chart1.Series[0].Points.RemoveAt(2);

Çϳª¸¦ ³Ö°í Çϳª¸¦ »°À¸´Ï °á±¹ ¼¼ °³ ³²´Â´Ù. µ¥ÀÌÅ͸¦ ¿ÏÀüÈ÷ »õ·Î ÀÔ·ÂÇÏ°í ½ÍÀ¸¸é Clear·Î ÀüºÎ Á¦°ÅÇÑ ÈÄ ´Ù½Ã Ãß°¡ÇÑ´Ù. ´ÙÀ½ ¸Þ¼­µå´Â Ä÷º¼Ç¿¡¼­ µ¥ÀÌÅ͸¦ ã´Â´Ù.

 

DataPoint FindByValue (double valueToFind);

DataPoint FindByValue (double valueToFind, string useValue);

DataPoint FindByValue (double valueToFind, string useValue, int startIndex);

IEnumerable<DataPoint> FindAllByValue (double valueToFind);

DataPoint FindMinByValue ();

DataPoint FindMaxByValue ();

 

FindByValue´Â ÃÖ´ë 3°³ÀÇ Àμö¸¦ °¡Áø´Ù. valueToFind´Â ãÀ» °ªÀÌ´Ù. useValue´Â ÀÌ °ªÀÌ XÀÎÁö Y1ÀÎÁö¸¦ ÁöÁ¤ÇÏ¸ç »ý·«½Ã Y°ªÀ» ã´Â´Ù. startindex´Â °Ë»öÀ» ½ÃÀÛÇÒ À§Ä¡ÀÌµÇ »ý·«½Ã óÀ½ºÎÅÍ Ã£´Â´Ù. °Ë»öµÈ À§Ä¡ ´ÙÀ½ºÎÅÍ °Ë»öÇÏ¸é ¼ø¼­´ë·Î °ªÀ» ãÀ» ¼ö ÀÖ´Ù.

¸ðµç °ªÀ» ÇѲ¨¹ø¿¡ ´Ù ãÀ» ¼öµµ ÀÖ°í ÃÖ¼Ò, ÃÖ´ë°ªÀ» ãÀ» ¼öµµ ÀÖ´Ù. ã´Â °ªÀÌ ÀÖÀ¸¸é ÇØ´ç DataPoint °´Ã¼¸¦ ¸®ÅÏÇÏ¸ç ¾øÀ¸¸é nullÀ» ¸®ÅÏÇÑ´Ù. ²À °ªÀÌ ÀÖ´Ù°í º¸ÀåÇÒ ¼ö ¾øÀ¸¹Ç·Î null Á¡°ËÀº ¹Ýµå½Ã ÇØ¾ß ÇÑ´Ù. ´ÙÀ½ ÄÚµå´Â 77Á¡Â¥¸® Á¡¼ö¸¦ ã¾Æ 22Á¡À¸·Î ¼öÁ¤ÇÑ´Ù.

 

chart1.Series[0].Points.AddY(55);

chart1.Series[0].Points.AddY(77);

chart1.Series[0].Points.AddY(66);

DataPoint dp = chart1.Series[0].Points.FindByValue(77);

if (dp != null)

{

    dp.YValues = new double[] { 22 };

}

SeriesÀÇ ¼Ó¼ºÀÌ Points Ä÷º¼ÇÀº µ¥ÀÌÅ͸¦ Ãß°¡, »èÁ¦, »ðÀÔ, °Ë»ö µî ¸ðµç °ü¸® ±â´ÉÀ» ´Ù Áö¿øÇÑ´Ù. ¿øÇÏ´Â ¸ðµç °ÍÀ» ´Ù ÇÒ ¼ö ÀÖ¾î ÀÚÀ¯µµ°¡ ³ô°í À¯¿¬ÇÏ´Ù.

DataPoint

Points Ä÷º¼ÇÀÇ ÇÑ ¿ä¼ÒÀÎ DataPointµµ °´Ã¼ÀÌ´Ù. Á÷Á¢ °´Ã¼¸¦ »ý¼ºÇÏ¿© Ä÷º¼Ç¿¡ Ãß°¡ÇÒ ¼öµµ ÀÖ°í ¿©·¯ °¡Áö ¼Ó¼ºÀ» Á¶Á¤ÇÏ¿© ´Ù¾çÇÑ ¸ð¾çÀ» ¸¸µé ¼öµµ ÀÖ´Ù. ¾ÆÁÖ ¸¹Àº ¼Ó¼ºÀÌ Àִµ¥ ´ÙÀ½Àº ÀÚÁÖ »ç¿ëÇÏ´Â ¼Ó¼ºÀÌ´Ù.

 

¼Ó¼º

¼³¸í

AxisLabel

XÃà¿¡ Ç¥½ÃÇÒ ¹®ÀÚ¿­ÀÌ´Ù. µðÆúÆ®·Î ¼ø¼­°ªÀÌ µé¾î°¡´Âµ¥ ÀÓÀÇÀÇ ¹®ÀÚ¿­À» Ç¥½ÃÇÒ ¼ö ÀÖ´Ù.

Color

¹è°æ»öÀÌ´Ù. µðÆúÆ®´Â ½Ã¸®ÁîÀÇ ¹è°æ»öÀ» »ó¼Ó¹Þ´Â´Ù.

BorderColor

°æ°è»öÀÌ´Ù.

BorderWidth

°æ°è¼±ÀÇ ±½±âÀÌ´Ù.

BorderDashStyle

°æ°è¼±ÀÇ ¸ð¾çÀÌ´Ù.

Font

±Û²ÃÀ» ÁöÁ¤ÇÑ´Ù.

Label

¸·´ë À§¿¡ Ç¥½ÃÇÒ ¹®ÀÚ¿­ÀÌ´Ù.

MakerStyle

¸·´ë À§¿¡ Ç¥½ÃÇÒ µµÇüÀÌ´Ù. ¿ø, ½ÊÀÚ, »ï°¢Çü, »ç°¢Çü, º°

MakerSize

¸¶Ä¿ÀÇ Å©±â¸¦ ÁöÁ¤ÇÑ´Ù.

ToolTip

¸¶¿ì½º Ä¿¼­°¡ ¸Ó¹«¸£¸é ³ªÅ¸³ª´Â ÅøÆÁÀÌ´Ù.

XValue

XÃà °ªÀÌ´Ù.

YValues

YÃà °ªÀÇ ¹è¿­ÀÌ´Ù.

 

µÎ ¹øÂ° µ¥ÀÌÅÍÀÇ ¼Ó¼ºÀ» ¹Ù²ã º¸ÀÚ.

 

chart1.Series[0].Points.AddY(55);

chart1.Series[0].Points.AddY(77);

chart1.Series[0].Points.AddY(66);

DataPoint dp = chart1.Series[0].Points[0];

dp.AxisLabel = "ö¼öÀÇ Á¡¼ö";

dp.Color = Color.Yellow;

dp.BorderColor = Color.Red;

dp.BorderWidth = 3;

dp.Label = "²ÃÂî";

dp.MarkerStyle = MarkerStyle.Star5;

dp.MarkerSize = 25;

dp.ToolTip = "ö¼öÀÇ ½ÃÇè Á¡¼öÀÔ´Ï´Ù.";

ÀÌ ¿Ü¿¡µµ ¼ö ¸¹Àº ¼Ó¼ºÀÌ ÀÖ´Ù. ¸·´ë ±×·¡ÇÁ ¾È¿¡ À̹ÌÁö¸¦ Ãâ·ÂÇÒ ¼öµµ ÀÖ°í ±×·¡µð¾ðÆ® ¹è°æÀ¸·Î ä¿ï ¼ö ÀÖÀ¸¸ç ·¹À̺íÀÇ Æ÷¸ËÀ̳ª ¼Ó¼º±îÁöµµ ¸¶À½´ë·Î Á¶Á¤ÇÒ ¼ö ÀÖ´Ù. ½ÉÁö¾î Â÷Æ® ŸÀÔº°·Î Ä¿½ºÅÒ ¼Ó¼º±îÁö ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.

°³º° µ¥ÀÌÅÍ Çϳª¿¡ ´ëÇÑ ¼Ó¼ºÀÇ »ó¼¼µµ°¡ ÀÌ Á¤µµÀÌ´Ï ½Ã¸®Á ¿¡¸®¾îÀÇ ¼Ó¼ºÀº ¾î´À Á¤µµÀÏÁö °¡È÷ ÁüÀÛÀÌ °¥ °ÍÀÌ´Ù. »ó»óÇÒ ¼ö ÀÖ´Â °ÅÀÇ ¸ðµç ÇüŸ¦ ´Ù Áö¿øÇÑ´Ù.

µ¥ÀÌÅÍ ¹ÙÀεù

Add* ¸Þ¼­µå´Â Y°ªÀÌ ¿©·¯ °³ÀÏÁö¶óµµ ¾î·°Å³ª ÇϳªÀÇ µ¥ÀÌÅ͸¸ Ãß°¡Çϸç XÃàÀÇ °ª °³¼ö¸¸Å­ ¸Þ¼­µå¸¦ ÀÏÀÏÀÌ È£ÃâÇØ¾ß ÇÑ´Ù. ¹Ý¸é µ¥ÀÌÅÍ ¹ÙÀεùÀº Ä÷º¼ÇÀ¸·ÎºÎÅÍ ¿©·¯ °³ÀÇ µ¥ÀÌÅ͸¦ Àϰý Ãß°¡ÇÑ´Ù.

 

void DataBindY (params IEnumerable[] yValue);

void DataBindY (IEnumerable yValue, string yFields);

 

yValue Àμö´Â ¿­°Å °¡´ÉÇÑ Å¸ÀÔÀ̸ç DataView, Data reader, Array, List µîÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. ´ë·®ÀÇ µ¥ÀÌÅÍ´Â ÁÖ·Î DB¿¡¼­ ÀоîµéÀδÙ. DBÀÇ µ¥ÀÌÅÍ´Â ½ÇÇàÁß¿¡ ¿¬°áÇÏ¿© Àоî¾ß ÇϹǷΠµðÀÚÀΠŸÀÓ¿¡´Â ¹ÙÀεùÀ» ÇÒ ¼ö ¾øÀ¸¸ç ·±Å¸ÀÓ¿¡ ÄÚµå·Î¸¸ ÇÒ ¼ö ÀÖ´Ù.

°¢ Ä÷º¼Ç¿¡¼­ °ªÀ» Àоî Àϰý Ãß°¡ÇÏµÇ Ã¹ ¹øÂ° ¸Þ¼­µå´Â ù Ä÷³À» ÀÐ°í µÎ ¹øÂ° ¸Þ¼­µå´Â yFields·Î ÁöÁ¤ÇÑ Ä÷³À» Àд´Ù. °¡Àå ½¬¿î ¹æ¹ýÀº ¹è¿­¿¡¼­ Àд °ÍÀÌ´Ù.

 

chart1.Series[0].Points.DataBindY(new int[] { 55, 77, 66 });

 

¼¼ °³ÀÇ ¼ºÀû°ªÀÌ ÇѲ¨¹ø¿¡ µî·ÏµÈ´Ù. ´ÙÀ½ ¸Þ¼­µå´Â X°ªµµ °°ÀÌ ÁöÁ¤ÇÑ´Ù.

 

public void DataBindXY (IEnumerable xValue, params IEnumerable[] yValues);

public void DataBindXY (IEnumerable xValue, string xField, IEnumerable yValue, string yFields);

 

X ¹è¿­À» ÁöÁ¤Çϸé ÇлýÀÇ À̸§µµ ÇÑÁÙ¿¡ ´Ù ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.

 

chart1.Series[0].Points.DataBindXY(new string[] { "ö¼ö", "¿µÈñ", "µ¿¼ö" }, new int[] { 55, 77, 66 });

 

¹è¿­º¸´Ù´Â µ¥ÀÌÅͺ£À̽º°¡ ´õ ÀϹÝÀûÀÌ´Ù. ¾ó¸¶µçÁö ¸¹Àº µ¥ÀÌÅ͸¦ Ãâ·ÂÇÒ ¼ö ÀÖ´Ù. ¸Þ¸ð¸®»ó¿¡¼­ Å×À̺íÀ» ¸¸µç ÈÄ ¿¬°áÇØ º¸ÀÚ.

 

private void Form1_Load(object sender, EventArgs e)

{

    chart1.Legends[0].Enabled = false;

    DataTable tAge = MakePeopleTable();

    chart1.Series[0].Points.DataBindY(tAge.Rows, "Age");

}

 

private DataTable MakePeopleTable()

{

    DataTable tblPeople = new DataTable("tblPeople");

 

    DataColumn col;

    DataRow row;

 

    // ¿­ µî·Ï

    col = new DataColumn("Name", typeof(String));

    col.MaxLength = 10;

    col.AllowDBNull = false;

    col.Unique = true;

    tblPeople.Columns.Add(col);

 

    tblPeople.PrimaryKey = new DataColumn[] { col };

 

    col = new DataColumn("Age", typeof(Int32));

    col.AllowDBNull = false;

    tblPeople.Columns.Add(col);

 

    col = new DataColumn("Male", typeof(bool));

    col.AllowDBNull = false;

    tblPeople.Columns.Add(col);

 

    // Çà »ðÀÔ

    row = tblPeople.NewRow();

    row["Name"] = "Á¤¿ì¼º";

    row["Age"] = 36;

    row["Male"] = true;

    tblPeople.Rows.Add(row);

 

    row = tblPeople.NewRow();

    row["Name"] = "°í¼Ò¿µ";

    row["Age"] = 32;

    row["Male"] = false;

    tblPeople.Rows.Add(row);

 

    row = tblPeople.NewRow();

    row["Name"] = "¹è¿ëÁØ";

    row["Age"] = 37;

    row["Male"] = true;

    tblPeople.Rows.Add(row);

 

    row = tblPeople.NewRow();

    row["Name"] = "±èÅÂÈñ";

    row["Age"] = 29;

    row["Male"] = false;

    tblPeople.Rows.Add(row);

 

    tblPeople.AcceptChanges();

 

    return tblPeople;

}

DataTable ÀÚü´Â ¿­°Å °¡´ÉÇÑ °ªÀÌ ¾Æ´Ï¹Ç·Î tAge.Rows¸¦ ÁöÁ¤ÇØ¾ß ÇÑ´Ù. 4¸íÀÇ ³ªÀ̰¡ ³ªÅ¸³­´Ù. Age Çʵ常 »ç¿ëÇߴµ¥ À̸§µµ Ç¥½ÃÇÒ ¼ö ÀÖ´Ù.

 

chart1.Series[0].Points.DataBindXY(tAge.Rows, "Name", tAge.Rows, "Age");

X°ª°ú Y°ªÀÇ Å×À̺íÀÌ ²À ÀÏÄ¡ÇÏÁö ¾Ê¾Æµµ »ó°ü ¾ø´Ù. ¸¶Áö¸· ÇÔ¼ö´Â ´ÙÀ½°ú °°´Ù.

 

public void DataBind (IEnumerable dataSource, string xField, string yFields, string otherFields);

 

ÇÑ Å×ÀÌºí¿¡¼­ X, Y°ªÀ» ´Ù ±¸ÇÏ¸ç ¸¶Áö¸· Àμö·Î ¹ÙÀεù ·êÀ» ±ÔÁ¤ÇÏ´Â Çʵ带 ÁöÁ¤ÇÑ´Ù. ´ÙÀ½Àº ¾Õ ÄÚµå¿Í °á°ú°¡ °°´Ù.

 

chart1.Series[0].Points.DataBind(tAge.Rows, "Name", "Age", "");

 

¸Þ¸ð¸®»ó¿¡¼­ ¸¸µç Å×À̺íÀÌ ¾Æ´Ñ DBMS¿¡¼­ ÀÐÀº Å×À̺íÀ» ¹ÙÀεùÇÒ ¼öµµ ÀÖ´Ù. ÀÌ ½Ç½ÀÀ» ÇØ º¸·Á¸é SQL ¼­¹ö(¶Ç´Â ´Ù¸¥ DBMS)°¡ ¼³Ä¡µÇ¾î ÀÖ¾î¾ß Çϰí SQLÀ» ¾î´À Á¤µµ ÇÒ ¼ö ÀÖ¾î¾ß ÇÑ´Ù. Â÷Æ®ÀÇ ¼Ó¼ºÃ¢¿¡¼­ DataSource ¼Ó¼º ÆË¾÷À» ¿­°í µ¥ÀÌÅÍ ¼Ò½º Ãß°¡¸¦ ¼±ÅÃÇÑ´Ù.

 

µ¥ÀÌÅͺ£À̽º¸¦ ¼±ÅÃÇÏ°í ·ÎÄà ȣ½ºÆ®¿¡ ´ëÇÑ ¿¬°áÀ» »ý¼ºÇÑ´Ù. °­Á Á¦ÀÛ PC¿¡´Â Study µ¥ÀÌÅͺ£À̽º¿¡ ¿©·¯ °³ÀÇ ½Ç½À Å×À̺íÀÌ ÁغñµÇ¾î Àִµ¥ ¿©·¯ºÐÀº SQL ¼­¹ö·Î ´ëÃæ ¾Æ¹« Å×À̺íÀ̳ª ¸¸µé¾î ³õ°í ½Ç½ÀÇØ º¸ÀÚ.

ÀÌ Áß µµ¼­ÀÇ Á¤º¸¸¦ ÀúÀåÇϰí ÀÖ´Â tCity Å×À̺íÀ» ¼±ÅÃÇÑ´Ù. ¿ì¸®³ª¶ó µµ½ÃÀÇ Àα¸, ¸éÀû µî¿¡ ´ëÇÑ Á¤º¸°¡ ÀúÀåµÇ¾î ÀÖ´Ù.

¿©±â±îÁö ó¸®ÇÑ ÈÄ Form1_Load¿¡ ´ÙÀ½ Äڵ带 ÀÛ¼ºÇÑ´Ù.

 

private void Form1_Load(object sender, EventArgs e)

{

       // TODO: ÀÌ ÄÚµå´Â µ¥ÀÌÅ͸¦ 'studyDataSet.tCity' Å×ÀÌºí¿¡ ·ÎµåÇÕ´Ï´Ù. ÇÊ¿ä ½Ã ÀÌ Äڵ带 À̵¿Çϰųª Á¦°ÅÇÒ ¼ö ÀÖ½À´Ï´Ù.

       this.tCityTableAdapter.Fill(this.studyDataSet.tCity);

       chart1.Series[0].Points.DataBind(studyDataSet.tCity, "Name", "Area", "");

}

 

ù ÁÙÀº ¸¶¹ý»ç°¡ ÀÛ¼ºÇØ ÁØ °ÍÀ̸ç ÀÌ ¹®Àå¿¡ ÀÇÇØ studyDataSet.tCity Å×ÀÌºí¿¡ µ¥ÀÌÅͰ¡ ÀÌ¹Ì ÀÐÇôÁ® ÀÖ´Ù. DataBind ¸Þ¼­µå·Î ¿¬°á¸¸ ÇØ ÁÖ¸é µÈ´Ù. ¸¶¹ý»ç°¡ ¸¸µç Å×À̺íÀº ŸÀԵ忩¼­ ¹Ù·Î ¿­°Å °¡´ÉÇÏ´Ù. Name Çʵ带 XÃàÀ¸·Î Çϰí Area¸¦ YÃàÀ¸·Î ÇÏ¸é µµ½Ãº° ¸éÀûÀÌ Â÷Æ®·Î Ãâ·ÂµÈ´Ù.

YÃà Çʵ带 Popu·Î º¯°æÇÏ¸é µµ½Ãº° Àα¸¼ö¸¦ Â÷Æ®·Î º¸¿©ÁØ´Ù. DataBind ¸Þ¼­µå ´ë½Å ½Ã¸®ÁîÀÇ °¢ ¼Ó¼º¿¡ Å×À̺í°ú X Çʵå, Y Çʵ带 ÁöÁ¤Çصµ °á°ú´Â °°´Ù.

 

private void Form1_Load(object sender, EventArgs e)

{

    // TODO: ÀÌ ÄÚµå´Â µ¥ÀÌÅ͸¦ 'studyDataSet.tCity' Å×ÀÌºí¿¡ ·ÎµåÇÕ´Ï´Ù. ÇÊ¿ä ½Ã ÀÌ Äڵ带 À̵¿Çϰųª Á¦°ÅÇÒ ¼ö ÀÖ½À´Ï´Ù.

    this.tCityTableAdapter.Fill(this.studyDataSet.tCity);

    chart1.DataSource = studyDataSet.tCity;

    chart1.Series[0].XValueMember = "Name";

    chart1.Series[0].YValueMembers = "Area";

}

 

µ¥ÀÌÅͺ£À̽º¿Í ¿¬°áÇÒ ¼ö ÀÖ¾î ¾ó¸¶µçÁö ´Ù¾çÇÑ ¼Ò½º·ÎºÎÅÍ µ¥ÀÌÅ͸¦ ¹Þ¾Æ Â÷Æ®·Î ±×¸± ¼ö ÀÖ´Ù. ´Ù¸¸ ÀÌ ½Ç½ÀÀº Â÷Æ®¿¡ ´ëÇÑ Áö½Äº¸´Ù µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇÑ Áö½ÄÀÌ ´õ ¸¹ÀÌ ÇÊ¿äÇØ ADO.NETÀ» ÃæºÐÈ÷ ¿¬±¸ÇØ ºÁ¾ß ÇÑ´Ù.

Â÷Æ® ŸÀÔ

Â÷Æ®ÀÇ Å¸ÀÔÀº ½Ã¸®ÁîÀÇ µ¥ÀÌÅ͸¦ ¾î¶² ¹æ½ÄÀ¸·Î º¸¿©ÁÙ °ÍÀΰ¡¸¦ ÁöÁ¤ÇÑ´Ù. ÃÑ 35°¡ÁöÀÇ Â÷Æ® ŸÀÔÀÌ ÀÖ´Ù. ´Ù Âï¾î¼­ ´«À¸·Î È®ÀÎÇØ º¸ÀÚ. ±âÁ¸ ½Ç½À ÇÁ·ÎÁ§Æ®¿Í´Â ¿ëµµ°¡ Á¶±Ý ´Ù¸£¹Ç·Î charttype »õ ÇÁ·ÎÁ§Æ®¸¦ ¸¸µç´Ù. ·çÇÁ¸¦ µ¹¸ç Â÷Æ® ÄÁÆ®·ÑÀ» ¸¸µé°í 7¿­ 5ÇàÀ¸·Î ³ª¿­ÇÏ¸é µÈ´Ù. 4°³ÀÇ Á¤¼ö°ªÀ» ÁÖ°í ¸ð¾çÀ» ºÐ¸íÈ÷ »ìÆì º¸±â À§ÇØ ±×¸®µå´Â Á¦°ÅÇÏ¿´´Ù.

 

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 charttype {

        public partial class Form1 : Form {

                   public Form1()

                   {

                              InitializeComponent();

                   }

 

                   Chart[] arChart = new Chart[35];

                   SeriesChartType[] arType = new SeriesChartType []

                   {

                              SeriesChartType.Column, SeriesChartType.Bar, SeriesChartType.Line,

                              SeriesChartType.StepLine, SeriesChartType.Spline, SeriesChartType.Area,

                           SeriesChartType.SplineArea,SeriesChartType.Range,SeriesChartType.SplineRange,

                              SeriesChartType.RangeBar, SeriesChartType.RangeColumn, SeriesChartType.Pie,

                              SeriesChartType.Doughnut, SeriesChartType.Pyramid ,SeriesChartType.Funnel,

                              SeriesChartType.ThreeLineBreak, SeriesChartType.PointAndFigure ,SeriesChartType.Polar,

                              SeriesChartType.Radar, SeriesChartType.BoxPlot, SeriesChartType.Point,

                              SeriesChartType.Bubble, SeriesChartType.Stock, SeriesChartType.Candlestick,

                              SeriesChartType.ErrorBar, SeriesChartType.Kagi, SeriesChartType.Renko,

                              SeriesChartType.StackedArea, SeriesChartType.StackedArea100, SeriesChartType.StackedBar,

                              SeriesChartType.StackedBar100,SeriesChartType.StackedColumn,

                              SeriesChartType.StackedColumn100, SeriesChartType.FastLine, SeriesChartType.FastPoint

                   };

 

                   private void Form1_Load(object sender, EventArgs e)

                   {

                              int i = 0;

                              for (int y=0;y<5;y++)

                              {

                                        for (int x = 0; x < 7; x++)

                                        {

                                                   arChart[i] = new Chart();

                                                   arChart[i].Left = x * 190;

                                                   arChart[i].Top = y * 170;

                                                   arChart[i].Width = 180;

                                                   arChart[i].Height = 160;

                                                   arChart[i].ChartAreas.Add("main");

                                                   arChart[i].ChartAreas[0].AxisX.MajorGrid.Enabled = false;

                                                   arChart[i].ChartAreas[0].AxisY.MajorGrid.Enabled = false;

                                                   arChart[i].Series.Add("main");

                                                   arChart[i].Series[0].Points.DataBindY(new int[] { 22, 44, 33, 55 });

                                                   arChart[i].Series[0].Points[0].Color = Color.Blue;

                                                   arChart[i].Series[0].Points[1].Color = Color.Red;

                                                   arChart[i].Series[0].Points[2].Color = Color.Green;

                                                   arChart[i].Series[0].Points[3].Color = Color.Purple;

                                                   arChart[i].Series[0].ChartType = arType[i];

                                                   arChart[i].Titles.Add("");

                                                   arChart[i].Titles[0].Text = arType[i].ToString();

                                                   Controls.Add(arChart[i]);

                                                   i++;

                                        }

                              }

                   }

        }

}

 

ÀÌ·² ¶§´Â µðÀÚÀ̳ʷΠÀÏÀÏÀÌ Å¬¸¯Çؼ­ ¼Ó¼º Á¶Á¤ÇÏ´Â °Íº¸´Ù ¿ª½Ã Äڵ尡 Æí¸®ÇÏ´Ù. À§ÂÊ Å¸ÀÌÆ²¿¡ Â÷Æ® ŸÀÔÀ» Ç¥½ÃÇß´Ù.

 

 

´ëÃæ¸¸ °üÂûÇØ ºÁµµ °¢ ŸÀÔÀÌ µ¥ÀÌÅ͸¦ ¾î¶»°Ô ±×¸®´ÂÁö ¾Ë ¼ö ÀÖ´Ù. ¶È°°¾Æ º¸À̴ ŸÀÔµµ ÀÖÁö¸¸ ÀÌ´Â µ¥ÀÌÅͰ¡ °°¾Æ¼­ ´çÀå °°¾Æ º¸ÀÏ »ÓÀÌ¸ç ¿©·¯ °³ÀÇ µ¥ÀÌÅ͸¦ ÁÖ¸é ´Þ¶óÁú ¼öµµ ÀÖ´Ù. °¢ ŸÀÔÀÇ Æ¯Â¡À» Àß ¾Ë¾Æ µÎ°í ¸ñÀû¿¡ µü ¸Â´Â ŸÀÔÀ» Àß °ñ¶ó¾ß ÇÑ´Ù.

°³º° Â÷Æ® ŸÀÔµµ ´Ù¾çÇÏÁö¸¸ ¿©·¯ ŸÀÔÀ» ÇϳªÀÇ ¿¡¸®¾î¿¡ °°ÀÌ Ç¥½ÃÇÏ¸é ´õ ´Ù¾çÇÑ ÇüÅÂÀÇ Â÷Æ®¸¦ ±×¸± ¼ö ÀÖ´Ù. ±×·¯³ª ¸ðµç ŸÀÔÀ» µ¿½Ã¿¡ Ç¥½ÃÇÒ ¼ö ÀÖ´Â °ÍÀº ¾Æ´Ï´Ù. ´ëÇ¥ÀûÀ¸·Î Column°ú Bar´Â ÃàÀÇ ¹æÇâÀÌ ´Þ¶ó °°ÀÌ Ç¥½ÃÇÒ ¼ö ¾øÀ¸¸ç ¿¹¿Ü·Î 󸮵ȴÙ.

¶ÇÇÑ Pie³ª Pyramid ó·³ Àüü ¿µ¿ªÀ» ´Ù »ç¿ëÇϴ ŸÀÔÀº ´Üµ¶À¸·Î¸¸ Ç¥½ÃÇÒ ¼ö ÀÖ´Ù. µÎ °³ ÀÌ»óÀÇ Â÷Æ®¸¦ ÇÑ ¿¡¸®¾î¿¡ °°ÀÌ Ç¥½ÃÇØ º¸ÀÚ. ½Ã¸®Á °ãÄ¥ ¶§ÀÇ È¿°ú´Â Â÷Æ® ŸÀÔ¿¡ µû¶ó ´Ù¸£´Ù. chartTest ¿¹Á¦¿¡ Äڵ带 ÀÛ¼ºÇ쵂 À̹ø¿¡´Â ¹ü·Ê¸¦ »ì·Á µÎÀÚ.

 

- ³ª¶õÈ÷ ±×¸®±â(Cluster) : Çϳª¾¿ ¼ø¼­´ë·Î ±×¸°´Ù. ColumnÀ̳ª Bar ŸÀÔÀÇ ½Ã¸®Á ¿©·¯ °³ Ç¥½ÃÇÒ ¶§ ÀÌ·± ÇüŰ¡ µÈ´Ù. °¢ Çлý¿¡ ´ëÇØ ¼¼ °ú¸ñÀÇ ¼ºÀûÀ» µ¿½Ã¿¡ ±×¸®·Á¸é ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù.

 

private void Form1_Load(object sender, EventArgs e)

{

       chart1.Series[0].Name = "±¹¾î";

       chart1.Series[0].Points.DataBindY(new int[] { 22, 44, 33, 55 });

       chart1.Series[0].ChartType = SeriesChartType.Column;

       chart1.Series.Add("¿µ¾î");

       chart1.Series[1].Points.DataBindY(new int[] { 40, 30, 60, 20 });

       chart1.Series[1].ChartType = SeriesChartType.Column;

       chart1.Series.Add("¼öÇÐ");

       chart1.Series[2].Points.DataBindY(new int[] { 50, 40, 20, 30 });

       chart1.Series[2].ChartType = SeriesChartType.Column;

}

µðÀÚÀΠŸÀÓ¿¡ ¹èÄ¡ÇÑ Â÷Æ®´Â Series[0] Çϳª¸¸ ÀÚµ¿ »ý¼ºÇØ ÁֹǷΠ´õ ÇÊ¿äÇÑ ½Ã¸®Áî´Â Á÷Á¢ ¸¸µé¾î¾ß ÇÑ´Ù. °¢ ¸·´ëÀÇ »ö»óÀº °³º°ÀûÀ¸·Î ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.

- Æ÷°³±â(Overlap) : °°Àº °ø°£¿¡ °ãÃļ­ ±×¸°´Ù. ¼ø¼­°ªÀÌ ºü¸¥ ½Ã¸®Á ¸ÕÀú ±×¸®¹Ç·Î °ãÄ¡´Â ºÎºÐÀº ¼ø¼­°ªÀÌ ³ôÀº ½Ã¸®Áî°¡ À§ÂÊ¿¡ ¿Â´Ù.

 

private void Form1_Load(object sender, EventArgs e)

{

       chart1.Series[0].Name = "±¹¾î";

       chart1.Series[0].Points.DataBindY(new int[] { 22, 44, 33, 55 });

       chart1.Series[0].ChartType = SeriesChartType.Column;

       chart1.Series.Add("¿µ¾î");

       chart1.Series[1].Points.DataBindY(new int[] { 40, 30, 60, 20 });

       chart1.Series[1].ChartType = SeriesChartType.Line;

       chart1.Series[1].BorderWidth = 4;

       chart1.Series.Add("¼öÇÐ");

       chart1.Series[2].Points.DataBindY(new int[] { 50, 40, 20, 30 });

       chart1.Series[2].ChartType = SeriesChartType.Spline;

       chart1.Series[2].BorderWidth = 4;

}

¿µ¾î ¼ºÀûÀº Line ŸÀÔÀ¸·Î, ¼öÇÐ ¼ºÀûÀº Spline ŸÀÔÀ¸·Î Ç¥½ÃÇß´Ù. ¼±ÀÌ ¾ãÀ¸¸é Àß º¸ÀÌÁö ¾Ê¾Æ ±½±â¸¦ 4·Î µÎÅÓ°Ô Ä¥Çß´Ù. ¿µ¾î¿Í ¼öÇÐÀÌ °ãÄ¡´Â ºÎºÐ¿¡´Â ¼ø¼­°¡ µÚÂÊÀÎ ¼öÇÐ ±×·¡ÇÁ°¡ ´õ À§ÂÊ¿¡ ÀÖÀ½À» À¯ÀÇÇÏÀÚ. ±¹¾î´Â ¹°·Ð Á¦ÀÏ ¾Æ·¡ÂÊ¿¡ ÀÖ´Ù. ÀÌ ¼ø¼­¸¦ Á¶Á¤ÇÏ·Á¸é ½Ã¸®ÁîÀÇ ¼ø¼­¸¦ ¹Ù²ã¾ß ÇÑ´Ù.

 

- ½×±â(Statck) : ÇÑ ½Ã¸®Áî À§ÂÊ¿¡ ´ÙÀ½ ½Ã¸®ÁîÀÇ °ªÀ» ¾ñ¾î¼­ º¸¿© ÁØ´Ù. ¿©·¯ °ªÀÇ ÃÑÇÕÀ» ÇÑ´«¿¡ ÆÄ¾ÇÇÒ ¼ö ÀÖ¾î Æí¸®ÇÏ´Ù.

 

private void Form1_Load(object sender, EventArgs e)

{

       chart1.Series[0].Name = "±¹¾î";

       chart1.Series[0].Points.DataBindY(new int[] { 22, 44, 33, 55 });

       chart1.Series[0].ChartType = SeriesChartType.StackedColumn;

       chart1.Series.Add("¿µ¾î");

       chart1.Series[1].Points.DataBindY(new int[] { 40, 30, 60, 20 });

       chart1.Series[1].ChartType = SeriesChartType.StackedColumn;

       chart1.Series[1].BorderWidth = 4;

       chart1.Series.Add("¼öÇÐ");

       chart1.Series[2].Points.DataBindY(new int[] { 50, 40, 20, 30 });

       chart1.Series[2].ChartType = SeriesChartType.StackedColumn;

       chart1.Series[2].BorderWidth = 4;

}

°¢ ÇлýÀÇ ÃÑÁ¡À» ºñ±³ÇÒ ¼ö ÀÖ°í ÇÑ ÇлýÀÇ ±¹¾î, ¿µ¾î, ¼öÇÐ ¼ºÀû ºñÀ²µµ ½±°Ô °¡´ÆÇÒ ¼ö ÀÖ´Ù. StackedBar ŸÀÔÀ¸·Î ¹Ù²Ù¸é Çлý ¹øÈ£°¡ YÃàÀ¸·Î À̵¿ÇÏ°í ¼ºÀûÀÌ XÃàÀ¸·Î À̵¿ÇÏ¿© °¡·Î ¸ð¾çÀÇ ¸·´ë ±×·¡ÇÁ°¡ µÈ´Ù.  

StackedColumn100 ŸÀÔÀ¸·Î ¹Ù²Ù¸é Àüü¸¦ 100À¸·Î ÇÑ ºñÀ²À» º¸¿© ÁØ´Ù.

½ºÅõå ŸÀÔÀº ½Ã¸®Áî ¿©·¯ °³¸¦ ÇѲ¨¹ø¿¡ º¸¿©ÁÖ´Â ¹æ½ÄÀÌ´Ù. ½Ã¸®Á ¿©·¯°³ÀÏ »Ó °¢ ½Ã¸®ÁîÀÇ Y°ªÀº Çϳª»ÓÀÌ´Ù. ÀÌ¿¡ ºñÇØ ½Ã¸®Áî Çϳª¿¡ ¿©·¯ °³ÀÇ Y°ªÀÌ µé¾î°¡´Â ŸÀÔµµ ÀÖ´Ù. ¾Õ¿¡¼­ Àá½Ã ±¸°æÇØ º» CandleStick ŸÀÔÀÌ ¸ÖƼ Y °ªÀ» »ç¿ëÇÏ´Â ´ëÇ¥ÀûÀÎ ¿¹À̸ç Stock ŸÀÔµµ ±¸Á¶°¡ ºñ½ÁÇÏ´Ù.

 

private void Form1_Load(object sender, EventArgs e)

{

       chart1.Series[0].ChartType = SeriesChartType.Stock;

       chart1.Series[0].CustomProperties = "OpenCloseStyle=Triangle";

       chart1.ChartAreas[0].AxisX.MajorGrid.Enabled = false;

       chart1.Series[0].Points.AddY(900, 1600, 1000, 1500);

       chart1.Series[0].Points.AddY(1000, 1700, 1200, 1600);

       chart1.Series[0].Points.AddY(1200, 500, 1000, 600);

}

ÁÖ½Ä ½Ã¼¼´Â ½Ã°¡, Á¾°¡, °í°¡, Àú°¡ 4°³ÀÇ °ªÀ¸·Î ±¸¼ºµÇ¸ç X°ª Çϳª¿¡ ´ëÇØ 4°³ÀÇ Y°ªÀÌ ÀÖ¾î¾ß Á¦´ë·Î Ç¥ÇöµÈ´Ù. ¿©·¯ °³ÀÇ Y°ªÀ» °¡Áö´Â ½Ã¸®Áî¿Í ´ÜÀÏ °ªÀ» °¡Áö´Â ½Ã¸®Á °°Àº ¿¡¸®¾î¿¡ Ç¥ÇöÇÒ ¼öµµ ÀÖ´Ù. ¿¹¸¦ µé¾î À§ÂÊ¿¡¼­´Â ÁÖ½Ä ½Ã¼¼¸¦ ĵµé Â÷Æ®·Î ±×¸®°í ¾Æ·¡ÂÊ¿¡´Â °Å·¡·®À» ±×¸®¸é µÈ´Ù.

 

private void Form1_Load(object sender, EventArgs e)

{

       chart1.Series[0].ChartType = SeriesChartType.Candlestick;

       chart1.Series[0].CustomProperties = "PriceDownColor=Blue, PriceUpColor=Red";

       chart1.ChartAreas[0].AxisX.MajorGrid.Enabled = false;

       chart1.Series[0].Points.AddY(900, 1600, 1000, 1500);

       chart1.Series[0].Points.AddY(1000, 1700, 1200, 1600);

       chart1.Series[0].Points.AddY(1200, 500, 1000, 600);

 

       chart1.Series.Add("°Å·¡·®");

       chart1.Series[1].Points.DataBindY(new int[] { 400, 350, 280 });

       chart1.Series[1].ChartType = SeriesChartType.Column;

}

¿©±â¿¡ Line Â÷Æ®·Î À̵¿ Æò±Õ¼±±îÁö ±×·Á ³ÖÀ¸¸é ±×·² µíÇÑ ÁÖ½Ä Â÷Æ®¸¦ ¸¸µé ¼ö ÀÖ´Ù. ÇÏÁö¸¸ ÀÌ °æ¿ì´Â °¡°Ý°ú °Å·¡·®ÀÇ ´ÜÀ§°¡ ´Þ¶ó Á» ¾ïÁö½º·´´Ù. °¡°ÝÀº ¸îõ¿øÀε¥ °Å·¡·®Àº ¸î¸¸ÁÖÀÌ¸é °¡°ÝÀÌ °Å·¡·®¿¡ °¡·Á º¸ÀÌÁöµµ ¾ÊÀ» °ÍÀÌ´Ù. µÎ °ªÀ» µ¿½Ã¿¡ ²À °°ÀÌ Ç¥½ÃÇÏ·Á¸é ¿¡¸®¾î¸¦ Çϳª ´õ ¸¸µå´Â °ÍÀÌ ÇÕ´çÇÏ´Ù.

 

private void Form1_Load(object sender, EventArgs e)

{

       chart1.Series[0].ChartType = SeriesChartType.Candlestick;

       chart1.Series[0].CustomProperties = "PriceDownColor=Blue, PriceUpColor=Red";

       chart1.ChartAreas[0].AxisX.MajorGrid.Enabled = false;

       chart1.Series[0].Points.AddY(900, 1600, 1000, 1500);

       chart1.Series[0].Points.AddY(1000, 1700, 1200, 1600);

       chart1.Series[0].Points.AddY(1200, 500, 1000, 600);

 

       chart1.ChartAreas.Add("°Å·¡·®");

       chart1.Series.Add("°Å·¡·®");

       chart1.Series[1].Points.DataBindY(new int[] { 40000, 35000, 28000 });

       chart1.Series[1].ChartType = SeriesChartType.Column;

       chart1.Series[1].ChartArea = "°Å·¡·®";

}

µÎ ¿¡¸®¾îÀÇ ³ôÀÌ ºñÀ²Àº ¾ó¸¶µçÁö Á¶Á¤ÇÒ ¼ö ÀÖ°í À§ÂÊ ¿¡¸®¾îÀÇ XÃàÀº ¾Æ¿¹ ¾ø¾Ö ¹ö¸± ¼öµµ ÀÖ´Ù. ¾Æ´Ï¸é °¢ ½Ã¸®ÁîÀÇ YÃàÀ» ¼­·Î ´Ù¸£°Ô ¸¸µé ¼öµµ ÀÖ´Ù. ½Ã¸®Á Á¶ÇÕÇÏ´Â ¹æ½Ä¸¸ ÇØµµ ´Ù¾çÇѵ¥ ¿¡¸®¾î±îÁö ºÐ¸®ÇÒ ¼ö ÀÖ¾î Â÷Æ®ÀÇ Ç¥Çö·ÂÀÌ ¹«±Ã¹«ÁøÇÏ´Ù.

ÆÄÀÌ Â÷Æ®´Â 1:1·Î ´ëÀÀµÇ´Â °ªÀÇ ºñÀ²À» Ç¥ÇöÇÑ´Ù. XÃà¿¡ °ªÀÇ À̸§À» Àû°í  YÃà¿¡ ½ÇÁ¦°ªÀ» Àû¾î ´ëÀÀ½Ã۸é Y°ªÀÇ ºñÀ²¿¡ µû¶ó ÆÄÀÌÀÇ ¸éÀûÀ» ÇÒ´çÇÑ´Ù. ´ÙÀ½ ¿¹Á¦´Â °ÔÀ̸ÓÀÇ Á¾Á· ºñÀ²À» ÆÄÀÌ Â÷Æ®·Î ±×¸°´Ù.

 

private void Form1_Load(object sender, EventArgs e)

{

       String[] xValues = { "Å×¶õ", "Àú±×", "ÇÁ·ÎÅ佺", "·£´ý" };

       int[] yValues = { 123, 156, 111, 222 };

 

       chart1.Series[0].Points.DataBindXY(xValues, yValues);

       chart1.Series[0].ChartType = SeriesChartType.Pie;

}

 

4°³ÀÇ Á¾Á·ÀÌ ÀÖ°í °¢ Á¾Á·À» »ç¿ëÇÏ´Â °ÔÀ̸ÓÀÇ ¼ö°¡ ÀÖ´Ù. Â÷Æ® ŸÀÔÀÇ Pie·Î ÁöÁ¤ÇÑ´Ù. °ªÀÌ Å¬¼ö·Ï ÆÄÀÌÀÇ ´õ ¸¹Àº ¿µ¿ªÀ» Â÷ÁöÇÑ´Ù.

ÆÄÀÌ Â÷Æ®¿¡¼­´Â ´ÙÀ½ µÎ °¡Áö »çÇ×À» À¯ÀÇÇØ¾ß ÇÑ´Ù.

 

- XÃà °ª°ú YÃà °ªÀÇ °³¼ö°¡ ¹Ýµå½Ã ÀÏÄ¡ÇØ¾ß ÇÑ´Ù. ±×·¸Áö ¾ÊÀ¸¸é ¿¹¿Ü°¡ ¹ß»ýÇÑ´Ù. ´Ù¸¥ Â÷Æ® ŸÀÔÀº ¾ø´Â °ªÀ» ¹«½ÃÇÏÁö¸¸ ÆÄÀÌ Â÷Æ®´Â ±×·¸Áö ¾Ê´Ù.

- YÃà °ªÀº ¹éºÐÀ²ÀÌ ¾Æ´Ï¸ç ±×³É ¼ýÀÚÀÌ´Ù. ÃÑÇÕ¿¡ ´ëÇÑ ºñÀ²À» ³»ºÎÀûÀ¸·Î °è»êÇÏ¿© ¸éÀû ºñÀ²À» °áÁ¤ÇϹǷΠ±×³É ¼ýÀÚ¸¦ ÀûÀ¸¸é µÈ´Ù.

 

Æò¸éÀûÀÎ ¿øÀ̶ó ¸ð¾çÀÌ ´ÜÁ¶·Î¿îµ¥ Ä¿½ºÅÒ ¼Ó¼ºÀ» »ç¿ëÇÏ¸é µðÀÚÀÎÀ» ¾î´À Á¤µµ ¹Ù²Ü ¼ö ÀÖ´Ù.

 

¼Ó¼º

¼³¸í

PieLabelStyle

·¹À̺í Ç¥½Ã ¹æ½ÄÀ» ¼³Á¤ÇÑ´Ù. ¿µ¿ªÀÌ Á¼À¸¸é ·¹ÀÌºí³¢¸® °ãÄ¡´Âµ¥ ÀÌ·² °æ¿ì´Â ¹Ù±ù¿¡ Ç¥½ÃÇÏ´Â °ÍÀÌ ÁÁ´Ù.

Disabled : Ç¥½ÃÇÏÁö ¾Ê´Â´Ù.

Inside : ¿ø ¾ÈÂÊ¿¡ Ç¥½ÃÇÑ´Ù. ÀÌ ¿É¼ÇÀÌ µðÆúÆ®ÀÌ´Ù.

Outside : ¿ø ¹Ù±ù¿¡ Ç¥½ÃÇÑ´Ù.

PieLineColor

·¹À̺íÀ» ¿ÜºÎ¿¡ Ç¥½ÃÇÒ ¶§ ºÎä²Ã°ú ·¹À̺íÀ» ¿¬°áÇÒ ¼±ºÐÀÇ »ö»óÀ» ÁöÁ¤ÇÑ´Ù. ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ½Ã¸®ÁîÀÇ BorderColor ¼Ó¼ºÀ» »ç¿ëÇÑ´Ù.

 

chart1.Series[0]["PieLabelStyle"] = "OutSide";

chart1.Series[0]["PieLineColor"] = "Blue";

 

ÀÌ µÎ Äڵ带 Ãß°¡ÇÏ¸é ·¹À̺íÀ» ¹Ù±ùÂÊ¿¡ ±×¸®¸ç ÆÄ¶õ»ö ¼±ºÐÀ¸·Î ·¹À̺íÀ» ¿¬°áÇÏ¿© Ç¥½ÃÇÑ´Ù.

 

PieDrawingStyle

ÆÄÀÌÀÇ ¸ð¾çÀÌ´Ù. Default¿Ü¿¡ ´ÙÀ½ µÎ °¡Áö ½ºÅ¸ÀÏÀÌ ´õ ÀÖ´Ù.

SoftEdge : ¹Ù±ùÂÊ »ö»óÀ» ÁøÇÏ°Ô Ã¤»öÇÏ¿© ÀÔü°¨À» ÁØ´Ù.

Concave : ¾ÈÀÌ ¿òÇ«ÇÑ Á¢½Ã ¸ð¾çÀ¸·Î ±×¸°´Ù.

PieStartAngle

ÆÄÀ̸¦ ±×¸± ¿øÁÖ»óÀÇ °¢µµÀÌ´Ù. µðÆúÆ®´Â 0µµ¿©¼­ Å×¶õÀÇ ½ÃÀÛÁ¡ÀÌ 3½Ã ¹æÇâÀ¸·Î µÇ¾î ÀÖÁö¸¸ 0~360±îÁöÀÇ °¢µµ¸¦ ÁöÁ¤Çϸé ÀÌ °¢µµ¿¡¼­ ½ÃÀÛÇÑ´Ù. °¢µµ´Â ½Ã°è ¹æÇâÀ¸·Î Áõ°¡ÇÑ´Ù. Áï 90µµ´Â 12½Ã°¡ ¾Æ´Ñ 6½ÃÀÌ´Ù.

Exploded

°³º° Æ÷ÀÎÅÍ¿¡ ÁöÁ¤ÇÏ´Â ¼Ó¼ºÀ̸ç ÀÌ ¼Ó¼ºÀ» ÁöÁ¤ÇÑ °ªÀº ºÎä²ÃÀÌ ¹ÛÀ¸·Î Åö Æ¢¾î³ª¿Àµµ·Ï ±×·Á °­Á¶ÇÑ´Ù.

DoughnutRadius

µµ³Ó ŸÀÔÀÇ Â÷Æ®¿¡¼­ µµ³ÓÀÇ ºñÀ²À̸ç ÀÌ °ªÀÌ Å¬¼ö·Ï Áß¾ÓÀÇ ±¸¸ÛÀÌ ÀÛ¾ÆÁø´Ù. µðÆúÆ®´Â 60À̾ ¿Ü°û¿øÁÖ¿¡¼­ 60% ¾ÈÂʱîÁö°¡ µµ³ÓÀÌ°í °¡¿îµ¥ 40%°¡ ±¸¸ÛÀ¸·Î ±×·ÁÁø´Ù.  

 

Doughnut ŸÀÔÀº Pie Â÷Æ®¿Í Ç¥½ÃÇÏ´Â ¹æ½ÄÀº °ÅÀÇ °°µÇ °¡¿îµ¥ ºÎºÐÀÌ »½ ¶Õ·Á ÀÖ´Ù´Â Á¡ÀÌ ´Ù¸£´Ù. ´ÙÀ½ ¿¹Á¦´Â µµ³Ó ¹ÝÁö¸§À» 80À¸·Î ´Ã¸®°í ·£´ý µ¥ÀÌÅ͸¸ ¹Ù±ùÀ¸·Î »©¼­ °­Á¶ÇÑ´Ù.

 

private void Form1_Load(object sender, EventArgs e)

{

       String[] xValues = { "Å×¶õ", "Àú±×", "ÇÁ·ÎÅ佺", "·£´ý" };

       int[] yValues = { 123, 156, 111, 222 };

 

       chart1.Series[0].Points.DataBindXY(xValues, yValues);

       chart1.Series[0].ChartType = SeriesChartType.Doughnut;

 

       chart1.Series[0]["PieDrawingStyle"] = "SoftEdge";

       chart1.Series[0]["DoughnutRadius"] = "80";

       chart1.Series[0].Points[3]["Exploded"] = "true";

}

 

Exploded Ä¿½ºÅÒ ¼Ó¼ºÀº ½Ã¸®Áî¿¡ ´ëÇØ ÁöÁ¤ÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó µ¥ÀÌÅÍ Æ÷ÀÎÅÍ¿¡ ´ëÇØ ÁöÁ¤ÇÏ´Â °ÍÀÓÀ» À¯ÀÇÇÏÀÚ. µµ³Ó ºñÀ²À» 80À¸·Î ÁöÁ¤Çؼ­ °¡¿îµ¥ 20%¸¸ ±¸¸ÛÀÌ´Ù.

ÀÌ ¿Ü¿¡ 3D ½ºÅ¸ÀϱîÁö Ȱ¿ëÇÏ¸é ´õ ´Ù¾çÇÑ µðÀÚÀÎÀ» ¸¸µé ¼ö ÀÖ´Ù. ±âº» ¼Ó¼º°ú Ä¿½ºÅÒ ¼Ó¼ºÀ» ÃæºÐÈ÷ ¿¬±¸ÇØ º¸°í ³Ê¹« ¿ä¶õÇÏÁö ¾Ê°Ô¸¸ Àå½ÄÇÏ¸é µÈ´Ù.