Chart´Â ´å³ÝÀ¸·Î ±¸ÇöµÈ Â÷Æ® ÄÁÆ®·ÑÀ̸ç ÈçÈ÷ MSChart¶ó°í ºÎ¸¥´Ù. Á¤º¸¸¦ Ãà¾àÇØ º¸¿© ÁÖ¾î¾ß ÇÏ´Â »ç¹«¿ë ÇÁ·Î±×·¥¿¡¼
ÁÖ·Î ¸¹ÀÌ »ç¿ëÇÑ´Ù. °æÀï Á¦Ç°À¸·Î´Â InfragisticsÀÇ
UltraChart¿Í DevExpressÀÇ DevExtream Â÷Æ® ÄÁÆ®·ÑÀÌ ÀÖÀ¸¸ç µðÀÚÀÎÀÌ ÈξÀ ¿¹»ÚÁö¸¸ À¯·á Á¦Ç°ÀÌ´Ù.
Chart´Â µðÀÚÀÎÀÌ ¼Ò¹ÚÇÑ ÆíÀÌÁö¸¸ ´å³Ý¿¡ ±âº» Æ÷ÇԵǾî ÀÖ´Â ÄÁÆ®·ÑÀ̾î¼
º°µµÀÇ ºñ¿ëÀÌ µéÁö ¾Ê°í Ãß°¡ ¼³Ä¡µµ ÇÊ¿ä ¾ø¾î °£ÆíÇÏ´Ù. ºñÁÖ¾ó ½ºÆ©µð¿À¸¸ ¼³Ä¡ÇÏ¸é ¹Ù·Î ¾µ ¼ö ÀÖ´Ù. ÀÌ °Á´ ºñÁÖ¾ó ½ºÆ©µð¿À 2019 Ä¿¹Â´ÏƼ ¹öÀüÀ» »ç¿ëÇÑ´Ù.
´ÙÇàÀÎÁö ºÒÇàÀÎÁö ÄÁÆ®·Ñ ÀÚü´Â 10¿©Àü° ¾÷±×·¹À̵尡 ¾ø¾î ºñÁÖ¾ó
½ºÆ©µð¿ÀÀÇ °ÅÀÇ ¸ðµç ¹öÀü¿¡¼ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ±×·¡ÇÈ È¯°æÀÇ WinForm
ÇÁ·ÎÁ§Æ®¿¡ ¹Ù·Î Ȱ¿ëÇÒ ¼ö ÀÖ°í ASP.NET¿¡¼µµ ¾µ ¼ö ÀÖ¾î À¥µµ Áö¿øÇÑ´Ù. ¿©±â¼´Â ÆíÀÇ»ó WinForm¿¡¼ ÁÖ·Î ½Ç½ÀÇ쵂 ASP.NET¿¡¼ »ç¿ëÇÏ´Â ¹æ¹ýµµ º°¹Ý ´Ù¸£Áö ¾Ê´Ù.
³Ê¹« ¿À·¡µÈ ÄÁÆ®·ÑÀÌ´Ù º¸´Ï ¹®¼°¡ Á» ºÎÁ·Çѵ¥ ´ÙÀ½ ÁÖ¼Ò¿¡ °£´ÜÇÑ ÀÚ½À¼°¡ ÀÖ´Ù. ºñÁÖ¾ó ½ºÆ©µð¿À 2010ÀÇ ¹®¼ÀÌ¸ç ±¸±Û¸µÀ» ÅëÇØ¼´Â ã±â Èûµç
¸µÅ©¿©¼ ÁÖ¼Ò¸¦ ÀÏÀÏÀÌ Ä¡°í µé¾î°¡´Â ¼ö¹Û¿¡ ¾ø´Ù.
https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2010/dd489238(v=vs.100)
»ó´Ü ¸Þ½ÃÁö¿¡ ´õ ÀÌ»ó °ü¸®ÇÏÁö´Â ¾Ê´Â ¹®¼¶ó°í µÇ¾î ÀÖ´Ù. ÃÖ½Å
¹öÀü¿¡ ÀÚ½À¼´Â ¾øÁö¸¸ ·¹ÆÛ·±½º´Â Á¸ÀçÇÑ´Ù. Chart ÄÁÆ®·Ñ À̸§À¸·Î °Ë»öÇÏ¸é ¾î·ÆÁö ¾Ê°Ô ãÀ» ¼ö
ÀÖ´Ù.
https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.datavisualization.charting.chart?view=netframework-4.8
°´Ã¼ ÁöÇâ ¶óÀ̺귯¸®´Â ·¹ÆÛ·±½º°¡ ÇʼöÀ̹ǷΠÁñ°Ü ã±âÇØ µÎ°í ÇÊ¿äÇÒ ¶§¸¶´Ù Âü°íÇØ¾ß ÇÑ´Ù. Ä£ÀýÇÏ°Ô Àß ¸¸µé¾îÁø Â÷Æ® »ùÇõµ ÀÖ´Ù.
¿©·¯ °¡Áö Â÷Æ® »ùÇðú °£·«ÇÑ ¼Ò½º, ¼³¸íÀÌ Àß Á¤¸®µÇ¾î ÀÖ´Ù. ÀÌ·¸°Ô Àß ¸¸µç »ùÇÃÀÌ ÀÖÁö¸¸ MSÀÇ °ø½Ä »çÀÌÆ®¿¡¼´Â ´õ ÀÌ»ó
ãÀ» ¼ö ¾øÀ¸¸ç °³ÀÎ ºí·Î±×¸¦ µÚÁ®¾ß °Ü¿ì ÀúÀåµÈ »çº»À» ãÀ» ¼ö ÀÖ´Ù. MS°¡ ¹®¼ Çϳª´Â ³¡³»ÁÖ°Ô
Àß ¸¸µé°í Á¤¸®ÇÏ´Â ÆíÀε¥ Chart¿¡ ´ëÇÑ Áö¿øÀº Á» ¹ÚÇÑ ÆíÀÌ´Ù.
±×·¡¼ ´«ÄÚ¶ã»õ¾øÀÌ ¹Ù»Û ½Ã°£À» Âɰ³ ¹ãÀáÀ» ÁÙ¿© °¡¸ç ÀÌ °Á¸¦ ÁýÇÊÇß´Ù. ·¹ÆÛ·±½º´Â
Àß Á¤¸®µÇ¾î ÀÖÀ¸¹Ç·Î ¸ðµç ÁÖÁ¦¸¦ ÀÏÀÏÀÌ ³ª¿Çϱ⺸´Ù´Â ±¸Á¶¿Í ¹æ¹ý À§ÁÖ·Î ÄÁÆ®·Ñ Ȱ¿ë¹ýÀ» ¼Ò°³Çϱâ·Î ÇÑ´Ù. Ç×»ó
ÇÁ·ÎÁ§Æ®¸¦ ¿ì¼± ¼öÇàÇØ¾ß ÇÏ´Â °³¹ßÀÚ ½ÅºÐÀÌ´Ù º¸´Ï ¹®ÀåÀ» Àß °¡µåµë°Å³ª ±×¸²À» ¿¹»Ú°Ô ±×¸± ½Ã°£ÀÌ ÃæºÐÄ¡ ¾ÊÀ½À» ¾çÇØ ¹Ù¶õ´Ù.
ºñÁÖ¾ó ½ºÆ©µð¿À¸¦ ½ÇÇàÇØ ³õ°í ¼ø¼´ë·Î µû¶óÇϸç Chart ÄÁÆ®·ÑÀ»
»ç¿ëÇØ º¸ÀÚ. µû¶óÇÏ´Ù º¸¸é ÀüüÀûÀÎ ±¸Á¶¿Í ±â´ÉÀ» ´ëºÎºÐ ÆÄ¾ÇÇÒ ¼ö ÀÖ´Ù. ºñÁÖ¾ó ½ºÆ©µð¿À 2019¸¦ ½ÇÇàÇÑ´Ù. ÆÄÀÏ/»õ·Î ¸¸µé±â/ÇÁ·ÎÁ§Æ®
Ç׸ñÀ» ¼±ÅÃÇϰí Windows Forms¾Û(.Net
Framework) ÅÛÇø´À» ¼±ÅÃÇÑ´Ù.
ÇÁ·ÎÁ§Æ® À̸§Àº chartTest·Î ÁöÁ¤ÇÑ´Ù. ÀÌ ÇÁ·ÎÁ§Æ® Çϳª·Î ¸ðµç ½Ç½ÀÀ» ´Ù ÁøÇàÇÒ °ÍÀÌ´Ù. ¿©·¯ºÐµµ °Á¸¸
º¸Áö ¸»°í ¹Ýµå½Ã Äڵ带 °°ÀÌ ÀÛ¼ºÇØ º¸ÀÚ. ÇÁ·ÎÁ§Æ®°¡ »ý¼ºµÇ°í ºóÆûÀÌ ¿¸°´Ù. µµ±¸ »óÀÚÀÇ µ¥ÀÌÅÍ Ä«Å×°í¸®¿¡¼ Chart¸¦ ¼±ÅÃÇÏ¿© Æû¿¡ ¹èÄ¡Çϰí
Æû¿¡ Â÷µµ·Ï Àû´çÈ÷ Å©±â¸¦ ´Ã¸°´Ù.
Â÷Æ®ÀÓÀ» Ç¥½ÃÇϱâ À§ÇØ Æû¿¡ »ùÇà Â÷Æ®°¡ Ç¥½ÃµÇÁö¸¸ ¾ÆÁ÷ µ¥ÀÌÅͰ¡ ¾ø¾î ÀÌ´ë·Î ½ÇÇàÇÏ¸é ¾Æ¹« °Íµµ ³ªÅ¸³ªÁö ¾Ê´Â´Ù. ¼Ó¼ºÃ¢À» ÅëÇØ µ¥ÀÌÅ͸¦ Á¦°øÇÏ°í ¿©·¯ ¼Ó¼ºÀ» ÁöÁ¤ÇØ¾ß ÇÑ´Ù. ¼Ó¼ºÀ»
ã±â ½±µµ·Ï ¾ËÆÄºª¼øÀ¸·Î Á¤·ÄÇØ ³õÀÚ.
Â÷Æ® Ç¥¸éÀÎ ChartArea1ÀÌ »ý¼ºµÇ¾î ÀÖ°í µ¥ÀÌÅÍÀÇ ÁýÇÕÀÎ Series1µµ »ý¼ºµÇ¾î ÀÖ´Ù. ±×·¯³ª ¾ÆÁ÷ µ¥ÀÌÅÍ´Â ¾ø´Ù. ¼Ó¼ºÃ¢ÀÇ Series ¿·ÀÇ ...
¹öưÀ» Ŭ¸¯ÇÏ¿© ½Ã¸®Áî Ä÷º¼Ç ÆíÁý±â¸¦ ¿¬´Ù. ½Ã¸®Áî ÆíÁý±â¿¡´Â Series1ÀÌ ÀÌ¹Ì »ý¼ºµÇ¾î ÀÖ´Ù. Points¼Ó¼ºÀÌ µ¥ÀÌÅÍ Ä÷º¼ÇÀ̸ç
¼Ó¼º¸í ¿·ÀÇ ... ¹öưÀ» ´©¸£¸é µ¥ÀÌÅÍ ÆíÁý±â°¡ ¿¸°´Ù.
Series Ä÷º¼Ç ¾È¿¡ Points
Ä÷º¼ÇÀÌ Æ÷ÇԵǾî ÀÖ´Â ±¸Á¶¿©¼ ¼Ó¼º ÆíÁýâÀÌ ÁßÃ¸ÇØ¼ ¿¸°´Ù. ÃÖÃÊ DataPoint Ä÷º¼ÇÀº ºñ¾î ÀÖ´Ù. Ãß°¡ ¹öưÀ» ´©¸£¸é DataPoint °´Ã¼ Çϳª°¡ »ý¼ºµÈ´Ù. ÀÌ °´Ã¼ÀÇ YValues¿¡ 55¸¦ ÀÔ·ÂÇÑ´Ù.
ÇϳªÀÇ °ªÀÌ »ý¼ºµÇ¾ú´Ù. °è¼Ó Ãß°¡ ¹öưÀ» ´©¸£°í 66, 77, 70, 88À» ÀÔ·ÂÇÑ´Ù. ÃÑ ´Ù¼¸ °³ÀÇ µ¥ÀÌÅͰ¡ ½Ã¸®Áî¿¡
Ãß°¡µÇ¾ú´Ù. È®ÀÎ ¹öưÀ» ´·¯ Ä÷º¼Ç ÆíÁý±â¸¦ ´Ý´Â´Ù. ÀÌ
»óÅ¿¡¼ Æû µðÀÚÀÎâÀ» º¸¸é ÀÌ¹Ì ´Ù¼¸ °³ÀÇ µ¥ÀÌÅͰ¡ ¸·´ë ±×·¡ÇÁ·Î Ç¥½ÃµÈ´Ù. ½ÇÇàÇϸé ÀÌ ±×·¡ÇÁ°¡
±×´ë·Î ³ªÅ¸³´Ù.
Points ¹è¿¿¡ °ªÀ» ´õ ¸¹ÀÌ ³ÖÀ¸¸é ´õ ¸¹Àº ¸·´ë°¡ ³ªÅ¸³´Ù. Â÷Æ®ÀÇ ¸ð¾çÀº ½Ã¸®ÁîÀÇ ChartType ¼Ó¼ºÀ¸·Î ÁöÁ¤Çϴµ¥ µðÆúÆ®
ŸÀÔÀº ¸·´ë ±×·¡ÇÁÀÎ ColumnÀÌ´Ù. ¼Ó¼º ÆíÁý±â¿¡¼ ´Ù¸¥
ŸÀÔÀ¸·Î ¹Ù²ã º¸ÀÚ.
´ÙÀ½Àº Bar¿Í Line Â÷Æ®
ŸÀÔÀ¸·Î ¹Ù²Û ¸ð½ÀÀÌ´Ù. Chart ÄÁÆ®·ÑÀº 35°¡Áö³ª µÇ´Â
Â÷Æ® ŸÀÔÀ» Áö¿øÇÑ´Ù. µ¥ÀÌÅÍÀÇ ±¸Á¶¿¡ µû¶ó °¡´ÉÇÑ Â÷Æ® ŸÀÔÀÌ Á¦ÇѵȴÙ. ¿¬¼ÓÀûÀÎ µ¥ÀÌÅÍ´Â Bar, Column, Line, StepLine,
Spline, Point Á¤µµÀÇ Å¸ÀÔÀ» ÁÖ·Î »ç¿ëÇÑ´Ù.
½Ã¸®Á Çϳª ´õ Ãß°¡ÇØ º¸ÀÚ. µ¿½Ã¿¡ µÎ °³ÀÇ Â÷Æ®¸¦ °°ÀÌ º¸¿©ÁÙ
¼ö ÀÖ´Ù. ½Ã¸®Áî Ä÷º¼Ç ÆíÁý±â¸¦ ¿¾î Series2¸¦ Ãß°¡Çϰí
Points Ä÷º¼Ç¿¡ 33, 44, 22, 40, 50 ´Ù¼¸
°³ÀÇ °ªÀ» ÀÔ·ÂÇØ ³Ö´Â´Ù.
Series1Àº Line Â÷Æ®
ŸÀÔÀ¸·Î µÎ°í Series2´Â Column ŸÀÔÀ¸·Î µÎ¸é
µÎ °¡Áö ŸÀÔÀÇ Â÷Æ®°¡ °°ÀÌ Ç¥½ÃµÈ´Ù. µÑ ´Ù ColumnÀ¸·Î
ÇÏ¸é ¸·´ë°¡ ³ª¶õÈ÷ Ç¥½ÃµÈ´Ù. °°ÀÌ Ç¥½ÃÇÒ ¼ö Àִ ŸÀÔÀÌ ÀÖ°í ±×·¸Áö ¾ÊÀº ŸÀÔÀÌ ÀÖ´Ù. ¿¹¸¦ µé¾î Column°ú Bar´Â
¹æÇâÀÌ ´Þ¶ó °°Àº Ç¥¸é¿¡ Ç¥½ÃÇÒ ¼ö ¾ø´Ù.
´ÙÀ½Àº Area¸¦ Çϳª ´õ Ãß°¡ÇØ º¸ÀÚ. Area´Â ½Ã¸®Á ±×¸®´Â ¿µ¿ªÀÌ¸ç ±âº»ÀûÀ¸·Î Çϳª ÁÖ¾îÁöÁö¸¸ ÇÊ¿äÇѸ¸Å ¸¸µé ¼ö ÀÖ´Ù. ChartAreas ¼Ó¼ºÀÇ ... À» Ŭ¸¯ÇÏ¸é ¿¡¸®¾î ÆíÁý±â°¡ ¿¸®¸ç
ChartArea1ÀÌ ¹Ì¸® »ý¼ºµÇ¾î ÀÖ´Ù. Ãß°¡ ¹öưÀ» ´·¯
ChartArea2¸¦ Çϳª ´õ ¸¸µç´Ù.
¿¡¸®¾î¸¦ Ãß°¡Çϸé Â÷Æ® ³ôÀ̰¡ Àý¹ÝÀ¸·Î ÁÙ¾îµç´Ù. ¾ÆÁ÷ º¸ÀÌÁö´Â ¾ÊÁö¸¸
¾Æ·¡ÂÊ¿¡ ¿¡¸®¾î°¡ Çϳª ´õ »ý±ä °ÍÀÌ´Ù.
»õ·Î »ý±ä ¿¡¸®¾î¿¡´Â ½Ã¸®Áî°¡ ¹èÄ¡µÇ¾î ÀÖÁö ¾Ê¾Æ ÇöÀç´Â ºñ¾î ÀÖ´Ù. ½Ã¸®Áî
ÆíÁý±â¸¦ ¿°í Series2ÀÇ ¼Ó¼ºÃ¢¿¡¼ ChartArea¸¦
ChartArea2·Î ÁöÁ¤Çϰí ChartTypeÀ» Bar·Î º¯°æÇØ º¸ÀÚ.
Ãâ·Â Ç¥¸éÀ» ºÐ¸®ÇÏ¸é °¢ ¿¡¸®¾î¿¡ ´Ù¸¥ ŸÀÔÀÇ Â÷Æ®¸¦ °¢°¢ ¹èÄ¡ÇÒ ¼ö ÀÖ´Ù. À§ÂÊ
¿¡¸®¾î¿¡´Â Column ½Ã¸®Á Ç¥½ÃÇÏ°í ¾Æ·¡ÂÊ ¿¡¸®¾î¿¡´Â Bar ½Ã¸®Á
Ç¥½ÃÇß´Ù.
ÀÌ·± ½ÄÀ¸·Î ¿¡¸®¾î¿Í ½Ã¸®Á Á¶ÇÕÇÏ¿© ´Ù¾çÇÑ ÇüÅÂÀÇ Â÷Æ®¸¦ ±×¸°´Ù. ¿©·¯
Á¤º¸¸¦ ÇѲ¨¹ø¿¡ Ç¥½ÃÇÒ ¼öµµ ÀÖ°í ŸÀÔÀÌ ´Ù¸¥ Á¤º¸´Â ¿¡¸®¾î¸¦ ºÐ¸®ÇÏ¿© º¸¿©ÁÙ ¼öµµ ÀÖ´Ù.
¹ü·Ê´Â µµÇ¥ÀÇ °¢ ½Ã¸®Á ¼³¸íÇϴ ǥ½ÄÀÌ´Ù. ¿À¸¥ÂÊ À§¿¡ ÆÄ¶õ»öÀÌ
Series1ÀÌ°í ³ë¶õ»öÀÌ Series2¶ó°í µÇ¾î ÀÖ¾î ÀüÇô
¼³¸íÀûÀÌÁö ¾Ê´Ù. ½Ã¸®Á ±×³É Ãß°¡¸¸ ÇßÀ» »ÓÀ̶ó µðÆúÆ® À̸§ÀÌ ºÙ¾î ÀÖ´Ù. ½Ã¸®Áî ÆíÁý±â¸¦ ¿¾î Series1ÀÇ LegendText¸¦ "¼ºÀûÇ¥"·Î, Sereis2ÀÇ LegendText¸¦
"¸ÅÃâ"·Î º¯°æÇØ º¸ÀÚ.
¹ü·Êµµ ÇÊ¿äÇѸ¸Å »ý¼ºÇÒ ¼ö ÀÖÀ¸¸ç ¾î¶² ¹ü·Ê¿¡ ¾î¶² Ç¥½ÄÀ¸·Î ½Ã¸®Á ¼³¸íÇÑ °ÍÀÎÁö ÁöÁ¤ÇÑ´Ù. µðÆúÆ®·Î ÇϳªÀÇ ¹ü·Ê°¡ ¹Ì¸® »ý¼ºµÇ¾î ÀÖ´Ù. Â÷Æ®¸¦ ¼±ÅÃÇÏ°í ¼Ó¼ºÃ¢¿¡¼
LegendsÀÇ ...À» ´·¯ Ä÷º¼Ç ÆíÁý±â¸¦ ¿°í Legend1ÀÇ ¼Ó¼ºÀ» ´ÙÀ½°ú °°ÀÌ ÆíÁýÇÑ´Ù.
Docking : Left Â÷Æ®ÀÇ ¿ÞÂÊ¿¡ ¹èÄ¡ÇÑ´Ù.
BackColor : Yellow
Title : "½Ã¸®Áî ¼³¸í"
¹ü·Ê°¡ ¿ÞÂÊÀ¸·Î À̵¿ÇÏ¸ç ¹è°æ»öÀÌ ¹Ù²î°í À§ÂÊ¿¡ Á¦¸ñÀÌ Ç¥½ÃµÈ´Ù.
ÀÌ ¿Ü¿¡ Enabled·Î ¹ü·Ê Ç¥½Ã ¿©ºÎ, LegendStyle·Î ¹ü·ÊÀÇ ³ª¿ ¹æÇâ, °¢Á¾ »ö»ó°ú ¸ð¾çÀ» Á¶Á¤ÇÒ
¼ö ÀÖ´Ù. µÎ °³ ÀÌ»óÀÇ ¹ü·Ê¸¦ ¸¸µé¾î °¢ ½Ã¸®Á ±×·ìÀ¸·Î ³ª´©¾î ¼³¸íÇÒ ¼öµµ ÀÖ´Ù.
´ÙÀ½Àº Â÷Æ®¿¡ ŸÀÌÆ²À» ºÙ¿© º¸ÀÚ. Â÷Æ®¸¦ ¼±ÅÃÇØ ³õ°í Titles ¼Ó¼ºÀÇ ... ¹öưÀ» ´·¯ Ä÷º¼Ç ÆíÁý±â¸¦ ¿¬´Ù. µðÆúÆ®·Î ºñ¾î Àִµ¥ ŸÀÌÆ²µµ ¿©·¯ °³ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. Çϳª Ãß°¡ÇÑ
ÈÄ Text´Â "Â÷Æ® ŸÀÌÆ²"·Î ÁöÁ¤ÇÏ°í ÆùÆ®´Â ±Ã¼ 20 pt·Î ÁöÁ¤ÇÑ´Ù.
Â÷Æ® À§ÂÊ¿¡ ŸÀÌÆ²ÀÌ Ç¥½ÃµÈ´Ù. ŸÀÌÆ²À» °è¼Ó Ãß°¡ÇÏ¿© ¿©·¯ ÁÙ·Î
Ç¥½ÃÇÒ ¼öµµ ÀÖ°í °¢ º¯¿¡ ŸÀÌÆ²À» ºÙÀÏ ¼öµµ ÀÖ´Ù.
¾Ö³ëÅ×À̼Ç(Annotation)Àº µµÇ¥ÀÇ °¢ ºÎºÐ¿¡ ºÙÀÌ´Â º¸ÃæÀûÀÎ
¼³¸íÀÌ´Ù. ¿©·¯ °³¸¦ ºÙÀÏ ¼ö ÀÖ¾î ÀÌ ¿ª½Ã Ä÷º¼ÇÀÌ´Ù. Â÷Æ®ÀÇ
Annotations ¼Ó¼º¿¡¼ ... ¹öưÀ» ´·¯ Ä÷º¼Ç
ÆíÁý±â¸¦ ¿¬´Ù. ÃÖÃÊ ºñ¾î Àִµ¥ ¾Æ·¡ÂÊÀÇ Ãß°¡ ¹öư ÄÞº¸ ¹Ú½º¸¦ ¿¸é ¾Ö³ëÅ×ÀÌ¼Ç ¸ñ·ÏÀÌ ³ªÅ¸³´Ù.
EllipseAnnotationÀ» ¼±ÅÃÇÏ¸é ¿ÞÂÊ À§¿¡ Ÿ¿øÇüÀÌ Çϳª
³ªÅ¸³´Ù. Text ¼Ó¼ºÀº "¿©±â ÁÖ¸ñ"À¸·Î º¯°æÇϰí BackColor¸¦ ´«¿¡ ¶ç´Â Lime»öÀ¸·Î ÁöÁ¤ÇÑ´Ù. ÀÌ ¾Ö³ëÅ×À̼ÇÀ» ¾îµð´Ù ³õÀ» °ÍÀΰ¡´Â AnchorDataPoint ¼Ó¼ºÀ¸·Î ÁöÁ¤Çϴµ¥ Series1ÀÇ DataPoint1·Î ÁöÁ¤ÇÑ´Ù.
ÀÌ·¸°Ô ÇÏ¸é ½Ã¸®Áî1ÀÇ 1¹ø
¸·´ë À§¿¡ ¾Ö³ëÅ×À̼ÇÀÌ ³ªÅ¸³´Ù. ³Ê¹« ¹Ù¦ ºÙ¾î Àִµ¥ AnchorOffsetY
¼Ó¼ºÀ» 2·Î ÁöÁ¤ÇÏ¿© Àû´çÈ÷ ¶ç¿î´Ù.
¿©±â±îÁö µðÀÚÀÎâ¿¡¼ Â÷Æ®ÀÇ ¼Ó¼ºÀ» ¹Ù²ã °¡¸ç ¿©·¯ °¡Áö ½Ç½ÀÀ» ÇØ º¸¾Ò´Ù. ÀÌ
½Ç½ÀÀ» ÅëÇØ Â÷Æ®·Î ¾î¶² ÀÛ¾÷ÀÌ °¡´ÉÇÑÁö ¾Ë ¼ö ÀÖÀ¸¸ç ´ëÃæÀÇ ±¸Á¶µµ ´«Ä¡Ã§ ¼ö ÀÖ´Ù. ÇѵΠ¹ø ´õ
½Ç½ÀÀ» ¹Ýº¹ÇØ º¸ÀÚ.
µðÀÚÀΠŸÀÓ¿¡ ¼Ó¼º¸¸ Á¶Á¤Çصµ Â÷Æ®¸¦ ¿øÇÏ´Â Çü½ÄÀ¸·Î ¸¸µé ¼ö ÀÖ´Ù. ºñÁÖ¾ó
½ºÆ©µð¿ÀÀÇ Áö¿øÀÌ ÈǸ¢ÇØ ¼Ó¼ºÀ» ÀÌ°Í Àú°Í ¹Ù²ã º¸¸ç Àç¹ÌÀÖ°Ô °øºÎÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª ¸¶¿ì½º¸¦ ÅëÇÑ
ÆíÁýÀº ÀçÇöÀÌ ¾î·Æ°í ´Ü°è°¡ º¹ÀâÇØ ÇѰ谡 ÀÖ´Ù.
Â÷Æ®¿¡ Ãâ·ÂÇÒ µ¥ÀÌÅ͸¦ ·±Å¸ÀÓ¿¡ Á¦´ë·Î ±¸ÇÒ ¼ö Àֱ⠶§¹®¿¡ °á±¹Àº ÄÚµå·Î ÇÁ·Î±×·¡¹ÖÇØ¾ß ÇÑ´Ù. ¾Õ¿¡¼ µðÀÚÀΠŸÀÓ¿¡ ¸¸µç Â÷Æ® ÄÁÆ®·ÑÀ» »èÁ¦ÇÏ¿© ¿ø·¡´ë·Î ¸®¼ÂÇÑ´Ù.
ºó Æû¿¡ Â÷Æ® ÄÁÆ®·ÑÀ» »õ·Î Çϳª ¹èÄ¡ÇÑ´Ù. Æû Å©±â´Â 500 * 350À¸·Î ÀÛ°Ô ¼³Á¤Çϰí Â÷Æ®ÀÇ Dock ¼Ó¼ºÀ» Fill·Î ÁöÁ¤ÇÏ¿© ÆûÀ» °¡µæ ä¿î´Ù. ĸó¸¦ ÀÛ°Ô Àâ¾Æµµ Â÷Æ®¸¦ Å©°Ô
º¸À̵µ·Ï Çϱâ À§ÇؼÀε¥ ½Ç½ÀÇÒ ¶§´Â ¾Æ¹«·¸°Ô³ª ÇØµµ »ó°ü ¾ø´Ù.
ÀÌ »óÅ·Π½ÇÇàÇϸé Â÷Æ®´Â ±×³É ÇÏ¾á ¿µ¿ªÀ¸·Î Ç¥½ÃµÉ »ÓÀÌ´Ù. Â÷Æ®¿¡
µ¥ÀÌÅ͸¦ Á¦°øÇÏ°í ¼Ó¼ºÀ» ÆíÁýÇÏ´Â Äڵ尡 ÇÊ¿äÇÏ´Ù. ÆûÀÇ ºó ¿µ¿ªÀ» ´õºíŬ¸¯ÇÏ¿© Form1_Load À̺¥Æ® Çڵ鷯¸¦ ÀÛ¼ºÇÏ°í ¿©±â¿¡ ´ÙÀ½ Äڵ带 ÀÛ¼ºÇÑ´Ù.
private void Form1_Load(object sender, EventArgs
e)
{
chart1.Series[0].Points.Add(55);
chart1.Series[0].Points.Add(66);
chart1.Series[0].Points.Add(77);
chart1.Series[0].Points.Add(70);
chart1.Series[0].Points.Add(80);
}
½Ã¸®Áî Çϳª´Â ±âº»ÀûÀ¸·Î »ý¼ºµÇ¾î ÀÖÀ¸¹Ç·Î 0¹ø ½Ã¸®Áî¿¡ µ¥ÀÌÅ͸¸
Á¦°øÇÏ¸é µÈ´Ù. Points Ä÷º¼ÇÀÇ Add ¸Þ¼µå·Î °ªÀ»
³Ö¾î ÁÖ¸é ÀÌ °ªÀÌ Â÷Æ®¿¡ ³ªÅ¸³´Ù. ½ÇÇàÇØ º¸ÀÚ.
µÎ¹øÂ° ÀÌÈÄÀÇ ½Ã¸®Áî´Â Á÷Á¢ »ý¼ºÇØ¾ß ÇÑ´Ù. Series Ä÷º¼ÇÀÇ
Add ¸Þ¼µå·Î Ãß°¡Ç쵂 ÀÌÈÄÀÇ ÂüÁ¶¸¦ À§ÇØ À̸§À» ÁÖ´Â °ÍÀÌ ÁÁ´Ù.
µ¥ÀÌÅÍ´Â Points.Add·Î °è¼Ó Ãß°¡ÇÒ ¼ö ÀÖÁö¸¸ DataBind
¸Þ¼µå¸¦ »ç¿ëÇÏ¸é ¹è¿À» ÇѲ¨¹ø¿¡ µî·ÏÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½ Äڵ带 ´õ ÀÛ¼ºÇØ º¸ÀÚ.
chart1.Series.Add("Series2");
chart1.Series[1].Points.DataBindY(new int[] { 33,
44, 22, 40, 50 });
¼Ó¼ºÃ¢¿¡¼´Â ÀÏÀÏÀÌ °ªÀ» ÀÔ·ÂÇØ¾ß ÇÏÁö¸¸ Äڵ带 »ç¿ëÇÏ¸é ¹è¿À̳ª Ä÷º¼ÇÀ» Åë°·Î µî·ÏÇÒ ¼ö ÀÖ¾î Æí¸®ÇÏ´Ù. µÎ °³ÀÇ Â÷Æ®°¡ ³ª¶õÈ÷ ³ªÅ¸³´Ù.
´ÙÀ½Àº ¿¡¸®¾î¸¦ Çϳª ´õ Ãß°¡Çϰí Sereis2¸¦ ¾Æ·¡ÂÊÀ¸·Î ¿Å±ä
ÈÄ Bar ŸÀÔÀ¸·Î ¹Ù²Ù¾î º¸ÀÚ. ´ÙÀ½ ÄÚµå ¼¼ ÁÙÀÌ¸é µÈ´Ù.
chart1.ChartAreas.Add("ChartArea2");
chart1.Series["Series2"].ChartArea
= "ChartArea2";
chart1.Series["Series2"].ChartType
= SeriesChartType.Bar;
ChartAreas Ä÷º¼ÇÀÇ Add
¸Þ¼µå·Î ChartArea2 ¿¡¸®¾î¸¦ Ãß°¡Çß´Ù. ¿©±â±îÁö¸¸
ÇÏ¸é ¾Æ·¡ÂÊ¿¡ ºó ¿¡¸®¾î¸¸ »ý¼ºµÈ´Ù. Series2¸¦ ¾Æ·¡ÂÊ ¿¡¸®¾î·Î À̵¿½ÃÄÑ º¸ÀÚ. ½Ã¸®ÁîÀÇ ChartArea ¼Ó¼º¿¡ ¿øÇÏ´Â ¿¡¸®¾îÀÇ À̸§À» ´ëÀÔÇÑ´Ù.
ÀÌ·± ¿ëµµ·Î ¾²±â À§ÇØ ¸ðµç °´Ã¼¿¡ À̸§À» ºÙ¿© µÎ´Â °ÍÀÌ ÁÁ´Ù. ½Ã¸®Áîµµ
Series Ä÷º¼Ç¿¡¼ 0¹ø, 1¹ø ¼ø¼°ªÀ¸·Î ÂüÁ¶ÇÒ ¼ö ÀÖÁö¸¸ À̸§À» ºÙ¿© µÎ¸é À̸§À¸·Î °Ë»öÇÒ ¼ö ÀÖ´Ù.
À§ µÎ ¹øÂ° ÁÙÀº ´ÙÀ½ ÄÚµå¿Í °°´Ù.
chart1.Series[1].ChartArea =
"ChartArea2";
Sereis[1]ÀÌ µÎ ¹øÂ° Ä÷º¼ÇÀ» ÀǹÌÇÑ´Ù. ±×·¯³ª ½Ã¸®Áî°¡ ¸¹¾ÆÁö¸é ¼ø¼°ªÀº Çò°¥¸®°í Áß°£¿¡ ÷»èµÇ¸é ¹Ù²ð ¼öµµ ÀÖ¾î Àϰü¼ºÀÌ ¶³¾îÁø´Ù. ±×·¡¼ À̸§À» ºÙ¿© µÎ°í Series["Series2"] Çü½ÄÀ¸·Î
À̸§À» ÅëÇØ ã´Â °ÍÀÌ ´õ ÁÁ´Ù.
¼¼¹øÂ° ÁÙÀº ½Ã¸®ÁîÀÇ Â÷Æ® ŸÀÔÀ» Bar·Î º¯°æÇÑ´Ù. SeriesChartTypeÀ» ãÀ» ¼ö ¾ø´Ù´Â ¿¡·¯°¡ ¹ß»ýÇÏ¸é ´ÙÀ½ using¹®À»
¼Ò½º ¼±µÎ¿¡ ÀÛ¼ºÇÑ´Ù.
using
System.Windows.Forms.DataVisualization.Charting;
Â÷Æ®¿Í °ü·ÃµÈ À¢¸¸ÇÑ Å¸ÀÔÀÌ ´Ù Charting ³×ÀÓ½ºÆäÀ̽º¿¡ ¼±¾ðµÇ¾î
ÀÖ¾î ÀÌ using¹®¸¸ Ãß°¡Çϸé Â÷Æ® °ü·Ã ŸÀÔÀ» ÀÚÀ¯·Ó°Ô ¾µ ¼ö ÀÖ´Ù. ¿©±â±îÁöÀÇ ½ÇÇà °á°ú´Â ´ÙÀ½°ú °°´Ù.
´ÙÀ½Àº ¹ü·Ê¸¦ Á¶Á¤ÇØ º¸ÀÚ. ½Ã¸®Áî¿¡ ¹ü·Ê ÅØ½ºÆ®¸¦ ÁöÁ¤Çϰí Legends Ä÷º¼ÇÀÇ 0¹ø ¹ü·ÊÀÇ ¼Ó¼ºÀ» Á¶Á¤ÇÏ¸é µÈ´Ù.
chart1.Series["Series1"].LegendText =
"¼ºÀûÇ¥";
chart1.Series["Series2"].LegendText =
"¸ÅÃâ";
chart1.Legends[0].Docking = Docking.Left;
chart1.Legends[0].BackColor = Color.Yellow;
chart1.Legends[0].Title = "½Ã¸®Áî ¼³¸í";
µðÀÚÀÎâ¿¡¼ ¼Ó¼ºÀ» ã¾Æ º¯°æÇÏ´Â µ¿ÀÛÀ» ÄÚµå·Î ±×´ë·Î ¿Å±ä °Í »ÓÀÌ´Ù. ¿ÞÂÊ¿¡
³ë¶õ»ö ¹ü·Ê°¡ ³ªÅ¸³´Ù.
´ÙÀ½Àº ŸÀÌÆ²À» ºÙ¿© º¸ÀÚ. ŸÀÌÆ²Àº Titles Ä÷º¼Ç¿¡ »ý¼ºÇÑ´Ù. »õ ŸÀÌÆ² °´Ã¼ Ãß°¡Çϰí ÅØ½ºÆ®¿Í ÆùÆ®¸¸
ÁöÁ¤ÇÏ¸é µÈ´Ù.
chart1.Titles.Add("Title1");
chart1.Titles["Title1"].Text = "Â÷Æ®
ŸÀÌÆ²";
chart1.Titles["Title1"].Font = new
Font("±Ã¼", 20);
À§ÂÊ¿¡ Â÷Æ® Á¦¸ñÀÌ Ãâ·ÂµÈ´Ù.
º¸´Ù½ÃÇÇ Â÷Æ®ÀÇ ¸ðµç ¼¼ºÎ ¿ä¼Ò´Â Ä÷º¼ÇÀ¸·Î µÇ¾î ÀÖ°í ¿øÇÏ´Â °ÍÀ» Ãß°¡ÇÑ ÈÄ ¼Ó¼º¸¸ ÆíÁýÇÏ¸é µÈ´Ù. C#ÀÇ ±âº» ¹®¹ý¸¸ ¾È´Ù¸é ¾ÆÁÖ ½¬¿î ÄÚµåÀÌ´Ù. ±×·¯³ª ±¸Á¶°¡ º¹ÀâÇØÁö°í
ÁßøÀÌ ½ÉÇØÁö¸é ¾à°£¾¿ Çò°¥¸®´Â ¸éµµ ÀÖ´Ù.
¸¶Áö¸·À¸·Î ¾Ö³ëÅ×À̼ÇÀ» Ãß°¡ÇØ º¸ÀÚ. ¾Ö³ëÅ×À̼ÇÀº Annotations Ä÷º¼Ç¿¡ ÀúÀåÇ쵂 ÆÄ»ý ŸÀÔÀÌ ÀÖ´Ù´Â ¸é¿¡¼ Á¶±Ý º¹ÀâÇÏ´Ù.
¿øÇϴ ŸÀÔÀÇ ¾Ö³ëÅ×ÀÌ¼Ç °´Ã¼¸¦ »ý¼ºÇÏ¿© ¼Ó¼ºÀ» ÆíÁýÇÑ ÈÄ Ä÷º¼Ç¿¡ Ãß°¡ÇÑ´Ù.
EllipseAnnotation ell = new EllipseAnnotation();
ell.Text = "¿©±âÁÖ¸ñ";
ell.BackColor = Color.Lime;
ell.AnchorOffsetY = 2;
ell.AnchorDataPoint =
chart1.Series["Series1"].Points[0];
chart1.Annotations.Add(ell);
Ÿ¿ø ¾Ö³ëÅ×À̼ÇÀÎ EllipseAnnotation °´Ã¼¸¦ »ý¼ºÇϰí
ÀÌ °´Ã¼ÀÇ Text, BackColor. AnchorOffsetY ¼Ó¼ºÀ» ÁöÁ¤ÇÑ´Ù. ¾Ö³ëÅ×À̼ÇÀ» ºÙÀÏ À§Ä¡ÀÎ AnchorDataPoint ¼Ó¼ºÀº ½Ã¸®Áî³»ÀÇ
Æ÷ÀÎÆ®°ªÀ» ÁöÁ¤ÇÑ´Ù´Â ¸é¿¡¼ Á¶±Ý ±î´Ù·Ó´Ù. Series1ÀÇ Points
Ä÷º¼Ç¿¡¼ 0¹ø Æ÷ÀÎÅ͸¦ ã¾Æ ´ëÀÔÇÏ¸é µÈ´Ù. ÀÌ·¸°Ô
¸¸µç Ÿ¿ø ¾Ö³ëÅ×ÀÌ¼Ç °´Ã¼¸¦ Annotations Ä÷º¼Ç¿¡ Ãß°¡ÇÑ´Ù.
ÀÌ»óÀ¸·Î µðÀÚÀΠŸÀÓ¿¡ ¸¸µé¾ú´ø ¿¹Á¦¿Í ¶È°°Àº ¿¹Á¦¸¦ ÄÚµå·Î ¸¸µé¾î º¸¾Ò´Ù. °úÁ¤ÀÌ
±ä °Å °°Áö¸¸ ÄÚµåÁÙ ¼ö´Â ¾ó¸¶ µÇÁö ¾Ê´Â´Ù.
private void Form1_Load(object sender, EventArgs
e)
{
chart1.Series[0].Points.Add(55);
chart1.Series[0].Points.Add(66);
chart1.Series[0].Points.Add(77);
chart1.Series[0].Points.Add(70);
chart1.Series[0].Points.Add(80);
chart1.Series.Add("Series2");
chart1.Series[1].Points.DataBindY(new
int[] { 33, 44, 22, 40, 50 });
chart1.ChartAreas.Add("ChartArea2");
chart1.Series["Series2"].ChartArea
= "ChartArea2";
chart1.Series["Series2"].ChartType
= SeriesChartType.Bar;
chart1.Series["Series1"].LegendText
= "¼ºÀûÇ¥";
chart1.Series["Series2"].LegendText
= "¸ÅÃâ";
chart1.Legends[0].Docking
= Docking.Left;
chart1.Legends[0].BackColor
= Color.Yellow;
chart1.Legends[0].Title
= "½Ã¸®Áî ¼³¸í";
chart1.Titles.Add("Title1");
chart1.Titles["Title1"].Text
= "Â÷Æ® ŸÀÌÆ²";
chart1.Titles["Title1"].Font
= new Font("±Ã¼", 20);
EllipseAnnotation
ell = new EllipseAnnotation();
ell.Text
= "¿©±âÁÖ¸ñ";
ell.BackColor
= Color.Lime;
ell.AnchorOffsetY
= 2;
ell.AnchorDataPoint
= chart1.Series["Series1"].Points[0];
chart1.Annotations.Add(ell);
}
ÀÌ·± Â÷Æ®°¡ ÇÊ¿äÇÏ´Ù¸é ÀÌ Äڵ带 ±×´ë·Î °¡Á®°¡ ÆíÁýÇÏ¸é µÈ´Ù. ÄÚµå´Â
º¹»ç ¹× ¹Ýº¹ÀÌ ½±´Ù´Â ¸é¿¡¼ ¿ª½Ã ¿ì¿ùÇÏ°í ½Ç¿ëÀûÀÌ´Ù.