¹ü·Ê´Â °¢ ½Ã¸®Áî°¡ ¾î¶² Á¤º¸ÀÎÁö¸¦ Ç¥½ÃÇÏ´Â ¼³¸íÀÌ´Ù. Â÷Æ®¸¦ ±¸¼ºÇÏ´Â
Ä÷º¼Ç Áß ÇϳªÀÌ¸ç µðÀÚÀ̳ʷΠÂ÷Æ®¸¦ ¹èÄ¡Çϸé Legend[0] ¹ü·Ê¸¦ ±âº»ÀûÀ¸·Î »ý¼ºÇØ ³õ°í ½Ã¸®ÁîÀÇ
Á¤º¸¸¦ ÀÚµ¿À¸·Î º¸¿© ÁØ´Ù. ´ÙÀ½Àº ¹ü·Ê ½Ç½ÀÀ» À§ÇÑ ¿¹Á¦ÀÌ´Ù.
private void Form1_Load(object sender, EventArgs
e)
{
chart1.Series[0].Name
= "¸ÅÃâ";
chart1.Series.Add("ºñ¿ë");
chart1.Series.Add("¼øÀÍ");
Random
R = new Random(100);
double
sale = 50;
double
cost = 40;
for
(int i = 0; i < 20; i++)
{
sale
+= R.Next(-4, 5);
chart1.Series[0].Points.AddY(sale);
cost
+= R.Next(-4, 5);
chart1.Series[1].Points.AddY(cost);
chart1.Series[2].Points.AddY(sale
- cost);
}
chart1.Series[0].ChartType
= SeriesChartType.Line;
chart1.Series[1].ChartType
= SeriesChartType.Spline;
chart1.Series[2].ChartType
= SeriesChartType.Spline;
chart1.Series[0].BorderWidth
= 2;
chart1.Series[1].BorderWidth
= 2;
chart1.Series[2].BorderWidth
= 3;
Legend
L = chart1.Legends[0];
}
¼¼ °³ÀÇ ½Ã¸®Á Ãß°¡ÇÏ°í °¢ ½Ã¸®Áî¿¡ ¸ÅÃâ, ºñ¿ë, ¼øÀÍÀ¸·Î À̸§À» ºÙ¿´´Ù. ¸ÅÃâ°ú ºñ¿ëÀº ³¼ö·Î »ý¼ºÇÏ°í ¼øÀÍÀº ¸ÅÃâ¿¡¼
ºñ¿ëÀ» »© °è»êÇÑ´Ù.
¼¼ °³ÀÇ ½Ã¸®Áî°¡ Â÷Æ®¿¡ ³ªÅ¸³ª¸ç °¢ »ö»óÀÇ ±×·¡ÇÁ°¡ ¹«¾ùÀÎÁö ¼³¸íÇÏ´Â ¹ü·Ê°¡ Â÷Æ®ÀÇ ¿À¸¥ÂÊ À§¿¡ Ç¥½ÃµÇ¾î ÀÖ´Ù. ¹ü·ÊÀÇ ¼Ó¼ºÀ» ¹Ù²ã º¸±â À§ÇØ ±âº» »ý¼ºµÈ ¹ü·Ê¸¦ L º¯¼ö¿¡ ´ëÀÔÇØ
µÎ¾ú´Ù. ¹ü·Ê´Â Legend Ŭ·¡½ºÀÇ °´Ã¼ÀÌ¸ç ¼Ó¼ºÀº ´ÙÀ½°ú
°°´Ù.
¼Ó¼º |
¼³¸í |
Enabled |
¹ü·Ê¸¦ º¸ÀÏ °ÍÀΰ¡ ¾Æ´Ñ°¡¸¦ ÁöÁ¤ÇÑ´Ù. µðÆúÆ®´Â trueÀ̸ç false·Î º¯°æÇÏ¸é ¹ü·Ê¸¦ Ç¥½ÃÇÏÁö ¾Ê´Â´Ù. |
Docking |
¹ü·Ê¸¦ Ç¥½ÃÇÒ º¯À» ÁöÁ¤ÇÑ´Ù. µðÆúÆ®´Â ¿À¸¥ÂÊÀÌ¸ç ¿ÞÂÊ, À§, ¾Æ·¡·Î º¯°æÇÒ ¼ö ÀÖ´Ù.
|
Alignment |
µµÅ·ÇÑ ¸éÀÇ ¾î´À ¹æÇâÀ¸·Î Á¤·ÄÇÒ °ÍÀΰ¡¸¦ ÁöÁ¤ÇÑ´Ù. µðÆúÆ®´Â NearÀÌ¸ç ¼öÆòÀº ¿ÞÂÊ, ¼öÁ÷Àº À§ÂÊÀÌ´Ù. Center´Â º¯ÀÇ Áß¾Ó¿¡, Far´Â ¿À¸¥ÂÊÀ̳ª ¾Æ·¡ÂÊ¿¡ Á¤·ÄÇÑ´Ù. |
IsDockedInsideChartArea |
µµÅ· ±âÁØÀÌ ¿¡¸®¾îÀÎÁö ¾Æ´Ï¸é Àüü Â÷Æ®ÀÎÁö¸¦ ÁöÁ¤ÇÑ´Ù. µðÆúÆ®´Â falseÀ̸ç Àüü Â÷Æ® ÇÈó¿¡ µµÅ·µÈ´Ù. ¿¡¸®¾î°¡ ¿©·¯°³ÀÏ ¶§¸¸
Â÷À̰¡ ¹ß»ýÇÑ´Ù. |
DockedToChartArea |
¿¡¸®¾î ±âÁØÀ¸·Î µµÅ·ÇÒ ¶§ µµÅ·ÇÒ ¿¡¸®¾îÀÇ À̸§À» ÁöÁ¤ÇÑ´Ù. µðÆúÆ®´Â ºó ¹®ÀÚ¿ÀÌ´Ù. |
InsideChartArea |
¹ü·Ê¸¦ Ç¥½ÃÇÏ´Â ¿¡¸®¾îÀÇ À̸§ÀÌ´Ù. |
LegendStyle |
Ç׸ñÀ» ³ª¿ÇÏ´Â ¹æ½ÄÀ» ÁöÁ¤ÇÑ´Ù. ColumnÀº 1¿ ¼¼·Î·Î ³ª¿Çϰí Row´Â 1Çà
°¡·Î·Î ³ª¿Çϰí TableÀº ÀÓÀÇÀÇ Çà·Ä·Î µµÇ¥ ÇüÅ·Π³ª¿ÇÑ´Ù.
µðÆúÆ®°ªÀº TableÀÌÁö¸¸ ½Ã¸®Áî°¡ ¸¹Áö ¾ÊÀ¸¸é 1ÇàÀ̳ª
1¿·Î º¸ÀδÙ. |
LegendTableStyle |
Å×À̺í ÇüÅ·Π¹èÄ¡ÇÒ ¶§ ¾î´À ¹æÇâÀ» ±âÁØÀ¸·Î ÇÒ °ÍÀΰ¡¸¦ ÁöÁ¤ÇÑ´Ù. TallÀº
°¡±ÞÀû ±æ°Ô ³ª¿ÇÏ¿© Á¿쿡 µµÅ·ÇÒ ¶§ ÀûÇÕÇϸç Wide´Â °¡±ÞÀû ³Ð°Ô ³ª¿ÇÏ¿© »óÇÏ¿¡ µµÅ·ÇÒ ¶§
ÀûÇÕÇÏ´Ù. µðÆúÆ®´Â AutoÀ̸ç Â÷Æ®°¡ ¾Ë¾Æ¼ °áÁ¤ÇÑ´Ù. |
BackColor BackSecondaryColor BackGradientStyle BackHatchStyle BackImage BackImageAlignment BackImageTransparentColor BackImageWrapMode |
¹è°æ »ö»ó, ¹«´Ì, À̹ÌÁö µîÀ»
ÁöÁ¤ÇÑ´Ù. ´Ù¾çÇÑ ¹æ½ÄÀ¸·Î ¹è°æÀ» ä»öÇÒ ¼ö ÀÖ´Ù. µðÆúÆ® ¹è°æ»öÀº Èò»öÀÌ´Ù. |
BorderColor BorderDashStyle BorderWidth |
°æ°è¼±ÀÇ »ö»ó, ¸ð¾ç, ±½±â¸¦ ÁöÁ¤ÇÑ´Ù. µðÆúÆ®°¡ Empty¿©¼ °æ°è¼±ÀÌ ¾ø´Ù. |
Font ForeColor |
¹®ÀÚ¿ÀÇ ±Û²Ã°ú »ö»óÀÌ´Ù. |
IsTextAutoFit |
¹®ÀÚ¿ÀÇ Å©±â¸¦ ÀÚµ¿À¸·Î Á¶Á¤ÇÒ °ÍÀΰ¡¸¦ ÁöÁ¤ÇÑ´Ù. |
TextWrapThreshold |
¹®ÀÚ¿À» ÀÚµ¿ °³ÇàÇÒ ±ÛÀÚ¼öÀÌ´Ù. µðÆúÆ®´Â 25ÀÌ´Ù. 0À¸·Î ¼³Á¤Çϸé ÀÚµ¿ °³ÇàÇÏÁö ¾Ê´Â´Ù. |
MaximumAutoSize |
¹ü·ÊÀÇ ÃÖ´ë Å©±â¸¦ ¿¡¸®¾îÀÇ ºñÀ²·Î ¼³Á¤ÇÑ´Ù. Á¿쿡 µµÅ·ÇÒ ¶§´Â ÆøÀÇ ÃÖ´ë°ªÀ̸ç
»óÇÏ¿¡ µµÅ·ÇÒ ¶§´Â ³ôÀÌÀÇ ÃÖ´ë°ªÀÌ´Ù. |
Title TitleAlignment TitleForeColor TitleBackColor TitleFont TitleSeparator TitleSeparatorColor |
¹ü·ÊÀÇ Á¦¸ñÀ» ÁöÁ¤ÇÑ´Ù. µðÆúÆ®´Â NoneÀ̾î¼
Á¦¸ñÀÌ ¾ø´Ù. Á¦¸ñ ¹®ÀÚ¿°ú ±Û²Ã, »ö»ó, Á¤·Ä µîÀ» ÁöÁ¤ÇÏ¸é ¹ü·Ê À§ÂÊ¿¡ Á¦¸ñÀÌ Ç¥½ÃµÈ´Ù. TitleSeparator ¼Ó¼ºÀº Á¦¸ñ ¾Æ·¡¿¡ Ç¥½ÃÇÒ ±¸ºÐÀÚÀÌ´Ù. µðÆúÆ®´Â NoneÀÌ¾î¼ ±¸ºÐÀÚ°¡ ¾øÁö¸¸ Line, DashLine, DotLine, DoubleLine, GradientLine, ThickLine,
ThickGradientLine µîÀÇ ¼Ó¼ºÀ¸·Î ¼±À» ±×À» ¼ö ÀÖ´Ù. |
HeaderSeparator HeaderSeparatorColor |
¹ü·Ê Çì´õÀÇ ±¸ºÐ¼±À» ÁöÁ¤ÇÑ´Ù. |
InterlacedRows InterlacedRowsColor |
¿©·¯ ÇàÀÏ ¶§ ±³´ë ¹è°æ»öÀ» ¾µ °ÍÀÎÁö¸¦ ÁöÁ¤ÇÑ´Ù. |
IsEquallySpacedItems |
¹ü·Ê Ç׸ñÀ» ±ÕÀÏ °£°ÝÀ¸·Î ¹èÄ¡ÇÒ °ÍÀΰ¡¸¦ ÁöÁ¤ÇÑ´Ù. µðÆúÆ®´Â falseÀÌ´Ù. |
LegendItemOrder |
Ç׸ñÀ» ¼ø¼´ë·Î ¹èÄ¡ÇÒÁö ¾Æ´Ï¸é ¿ª¼øÀ¸·Î ¹èÄ¡ÇÒÁö¸¦ ÁöÁ¤ÇÑ´Ù. µðÆúÆ®´Â AutoÀ̸ç À̶§´Â ½ºÅõå ŸÀÔ¸¸ ¿ª¼øÀ¸·Î Ç¥½ÃÇÑ´Ù. |
CellColumns |
LegendCellColumn °´Ã¼ÀÇ Ä÷º¼ÇÀÌ´Ù. |
CustomItems |
½Ã¸®Áî¿Í »ó°ü¾øÀÌ ¹èÄ¡ÇÒ ¼ö ÀÖ´Â LegendItem °´Ã¼ÀÇ Ä÷º¼ÇÀÌ´Ù. |
ItemColumnSeparator ItemColumnSeparatorColor ItemColumnSpacing |
¿©·¯ ¿ÀÏ ¶§ ¿°£ÀÇ ±¸ºÐÀÚ¸¦ ÁöÁ¤ÇÑ´Ù. |
¼Ó¼ºÀÌ Á¤¸» ¸¹´Ù. ¾î´ÀÂÊÀÇ ¾îµðÂë¿¡ ¾î¶² ¸ð¾çÀ¸·Î ¹èÄ¡ÇÒ °ÍÀΰ¡¿¡
´ëÇÑ ¼Ó¼ººÎÅÍ ¾Ë¾Æ º¸ÀÚ. µðÆúÆ®´Â ¿À¸¥ÂÊ¿¡ Å×À̺í ÇüÅ·Π¹èÄ¡Çϴµ¥ ÀÌ ¼Ó¼ºÀ» ¹Ù²ã º¸ÀÚ.
L.Docking = Docking.Bottom;
L.Alignment = StringAlignment.Center;
ÀÌ Äڵ忡 ÀÇÇØ ¹ü·Ê°¡ ¾Æ·¡ÂÊÀ¸·Î À̵¿ÇÑ´Ù. µðÆúÆ® Á¤·ÄÀº ¿ÞÂÊÀÌÁö¸¸
Center·Î Á¤·ÄÇÏ¸é ¾Æ·¡ Áß¾Ó¿¡ Ç¥½ÃµÈ´Ù.
¿À¸¥ÂÊ¿¡ ÀÖÀ» ¶§´Â ¹ü·Ê³»ÀÇ ½Ã¸®Áî°¡ ¼¼·Î·Î ³ª¿µÇÁö¸¸ ¾Æ·¡ÂÊÀ¸·Î ³»¸®¸é °¡·Î·Î ³ª¿ÇÑ´Ù. LegendStyleÀÇ µðÆúÆ®°¡ TableÀ̰í LegendTableStyleÀÇ µðÆúÆ®°¡ Auto¿©¼ ¸ðµç °ÍÀ» ÀÚµ¿À¸·Î
°áÁ¤Çϱ⠶§¹®ÀÌ´Ù. ¸¸¾à ¾Æ·¡ÂÊ¿¡ ¼¼·Î·Î ³ª¿ÇÏ°í ½Í´Ù¸é LegendStyle
¼Ó¼ºÀ» ColumnÀ¸·Î º¯°æÇÑ´Ù.
´ÙÀ½Àº ¹ü·ÊÀÇ µðÀÚÀÎÀ» ¹Ù²ã º¸ÀÚ. µðÆúÆ® µðÀÚÀÎÀº Á» ½ä··ÇÒ Áö°æÀÌÁö¸¸
»ö»ó°ú ¼±¸ð¾çÀ» º¯°æÇϰí Á¦¸ñÀ» ¼³Á¤ÇÏ°í ±× »çÀÌ¿¡ ±¸ºÐ¼±À» Áý¾î ³ÖÀ¸¸é ¸ð¾çÀÌ ¸¹ÀÌ ¹Ù²ï´Ù. ´ÙÀ½
Äڵ带 ÀÛ¼ºÇÑ´Ù.
L.BackColor = Color.Silver;
L.BorderColor = Color.Red;
L.BorderWidth = 3;
L.Title = "ÀÌ´ÞÀÇ ½ÇÀû";
L.TitleBackColor = Color.Yellow;
L.TitleSeparator =
LegendSeparatorStyle.DoubleLine;
L.TitleSeparatorColor = Color.Blue;
¹ü·Ê´Â Ä÷º¼ÇÀ̹ǷΠÇÊ¿äÇѸ¸Å ¿©·¯ °³ ¹èÄ¡ÇÒ ¼ö ÀÖ´Ù. Legneds Ä÷º¼Ç¿¡
»õ·Î¿î Legend °´Ã¼¸¦ Ãß°¡ÇÏ°í ½Ã¸®ÁîÀÇ ¹ü·Ê À̸§À» º¯°æÇϸé ÇØ´ç ½Ã¸®ÁîÀÇ ¹ü·Ê°¡ º¯°æµÈ´Ù.
chart1.Legends.Add("profit");
chart1.Legends[1].Docking = Docking.Left;
chart1.Series[2].Legend = "profit";
¼øÀÍÀ» Ç¥½ÃÇÒ ¹ü·Ê¸¦ »õ·Î »ý¼ºÇÏ°í ¿ÞÂÊ¿¡ µµÅ·½ÃÄ×´Ù. ±×¸®°í 2¹ø ¼øÀÍ ½Ã¸®ÁîÀÇ ¹ü·Ê¸¦ profitÀ¸·Î ÁöÁ¤Çϸé ÀÌ ½Ã¸®Áî¿¡ ´ëÇÑ
¼³¸íÀÌ º°µµÀÇ ¹ü·Ê¿¡ µû·Î Ç¥½ÃµÈ´Ù.
½Ã¸®Áî°¡ ¾ÆÁÖ ¸¹°í ±×·ìº°·Î ³ª´©¾î ¹ü·Ê¸¦ ÀÛ¼ºÇÏ°í ½Í´Ù¸é ¾ó¸¶µçÁö ¸¹Àº ¹ü·Ê¸¦ ´Ù¾çÇÑ ÇüÅ·ΠÀÛ¼ºÇÏ¿© ¿øÇÏ´Â
°÷¿¡ ¹èÄ¡ÇÒ ¼ö ÀÖ´Ù.
¹ü·ÊÀÇ Ç׸ñÀº µû·Î Ãß°¡ÇÏÁö ¾Ê¾Æµµ ½Ã¸®Áî·ÎºÎÅÍ ÀÚµ¿À¸·Î »ý¼ºµÈ´Ù. À§
¿¹Á¦ÀÇ °æ¿ì ¼¼ °³ÀÇ ½Ã¸®Áî·ÎºÎÅÍ À̸§°ú »ö»ó µîÀ» ÃßÃâÇÏ¿© ¹ü·Ê¿¡ Ç¥½ÃÇÑ´Ù. ¹ü·ÊÀÇ ¹®ÀÚ¿À» º¯°æÇÏ·Á¸é
½Ã¸®ÁîÀÇ LegendText ¼Ó¼ºÀ» ÆíÁýÇÑ´Ù. ÆÄÀ̳ª µµ³Ó
°°Àº Â÷Æ®´Â ½Ã¸®Áî°¡ ¾Æ´Ñ µ¥ÀÌÅÍ Æ÷ÀÎÅÍÀÇ À̸§À¸·Î Ç׸ñÀ» ¸¸µç´Ù.
¹Ý¸é Ä¿½ºÅÒ Ç׸ñÀº ½Ã¸®Á µ¥ÀÌÅͿʹ »ó°ü¾øÀÌ »ç¿ëÀÚ°¡ ¹ü·Ê¿¡ Ç׸ñÀ» Á÷Á¢ »ðÀÔÇÏ´Â °ÍÀÌ´Ù. LegendItem °´Ã¼¸¦ »ý¼ºÇÑ ÈÄ CustomItems Ä÷º¼Ç¿¡
Ãß°¡Çϸé ÀÌ Ç׸ñµµ ¹ü·Ê¿¡ Ç¥½ÃµÈ´Ù. ´ÙÀ½ »ý¼ºÀÚ·Î Ä¿½ºÅÒ Ç׸ñÀ» ¸¸µç´Ù.
public LegendItem (string name,
System.Drawing.Color color, string image);
Ç׸ñÀÇ À̸§À» ÁöÁ¤ÇÏ°í »ö»óÀ̳ª À̹ÌÁö Áß Çϳª¸¦ ÁöÁ¤ÇÑ´Ù. µÑ ´Ù
ÁöÁ¤Çϸé À̹ÌÁö°¡ ¿ì¼±ÀÌ´Ù. ´ÙÀ½ ÄÚµå´Â ¼øÀÍÀÇ ÅØ½ºÆ®¸¦ ¿øÇϴ´ë·Î º¯°æÇÏ°í ¹ü·Ê¿¡ ¹®ÀÚ¿ Ç׸ñ Çϳª¸¦
»ðÀÔÇÑ´Ù.
chart1.Series[2].LegendText = "¿À´ÃÀÇ ¼öÀÍ";
LegendItem li = new LegendItem("¿À´Ãµµ ´ë¹ÚÀϼ¼", Color.Blue, "");
L.CustomItems.Add(li);
¼øÀÍ ½Ã¸®ÁîÀÇ À̸§ÀÌ ÁöÁ¤ÇÑ´ë·Î ¹Ù²î¸ç ¹ü·Ê ¾Æ·¡ÂÊ¿¡ Ä¿½ºÅÒ Ç׸ñµµ °°ÀÌ Ç¥½ÃµÈ´Ù.
¹ü·Ê¿¡ ²À °°ÀÌ Ç¥½ÃÇÏ°í ½ÍÀº ³»¿ëÀÌ ÀÖÀ¸¸é Ä¿½ºÅÒ Ç׸ñÀ» ÀÌ·± ½ÄÀ¸·Î Ãß°¡ÇÑ´Ù. °£´ÜÇÑ ¸Þ¸ð³ª Á¤º¸ µîÀ» Ç¥½ÃÇÒ ¼ö ÀÖ´Ù.
¹ü·Ê¸¦ Åä±ÛÇÏ¿© ´ëÀÀ ½Ã¸®Áî¿¡ ´ëÇÑ ¾î¶² Á¶ÀÛÀ» °¡ÇÒ ¼ö ÀÖ´Ù. ¿©·¯
°¡Áö µ¿ÀÛÀÌ °¡´ÉÇÏÁö¸¸ °¡Àå ´ëÇ¥ÀûÀÎ ¿¹°¡ ½Ã¸®Á Àá½Ã ¼û±â´Â °ÍÀÌ´Ù. ³Ê¹« ¸¹Àº ½Ã¸®Áî°¡ Ç¥½ÃµÇ¾î
ÀÖÀ¸¸é ¼·Î Àß ±¸ºÐÀÌ µÇÁö ¾Ê´Â´Ù.
ÀÌ·² ¶§ ÀϺΠ½Ã¸®Á ¼û±â¸é ³ª¸ÓÁö°¡ Àß º¸¿© ½ÃÀμºÀÌ ³ô¾ÆÁø´Ù. ¹°·Ð
Ŭ¸¯ÇÑ ½Ã¸®Á ³²±â°í ³ª¸ÓÁö¸¦ ´Ù ¼û±æ ¼öµµ ÀÖ´Ù. ÀÌ ÀÛ¾÷À» ÇÏ·Á¸é Ŭ¸¯ÇÑ ¹ü·Ê¿Í ´ëÀÀµÇ´Â ½Ã¸®Á
ã¾Æ¾ß ÇÑ´Ù. ÀÏ´Ü Â÷Æ®ÀÇ MouseClick À̺¥Æ® Çڵ鷯¸¦
¿¬°áÇÏ°í ´ÙÀ½ Äڵ带 ÀÛ¼ºÇÑ´Ù.
namespace chartTest
{
public
partial class Form1 : Form
{
public
Form1()
{
InitializeComponent();
}
//
½Ã¸®ÁîÀÇ »ö»óÀ» Á÷Á¢ ÁöÁ¤ÇÑ´Ù. ±×·¡¾ß ¼û°Üµµ »ö»óÀÌ º¯ÇÏÁö ¾Ê´Â´Ù.
Color[]
arColor = { Color.Blue, Color.Green, Color.Red };
private
void Form1_Load(object sender, EventArgs e)
{
chart1.Series[0].Name
= "¸ÅÃâ";
chart1.Series.Add("ºñ¿ë");
chart1.Series.Add("¼øÀÍ");
Random
R = new Random(100);
double
sale = 50;
double
cost = 40;
for
(int i = 0; i < 20; i++)
{
sale
+= R.Next(-4, 5);
chart1.Series[0].Points.AddY(sale);
cost
+= R.Next(-4, 5);
chart1.Series[1].Points.AddY(cost);
chart1.Series[2].Points.AddY(sale
- cost);
}
chart1.Series[0].ChartType
= SeriesChartType.Line;
chart1.Series[1].ChartType
= SeriesChartType.Spline;
chart1.Series[2].ChartType
= SeriesChartType.Spline;
chart1.Series[0].BorderWidth
= 2;
chart1.Series[1].BorderWidth
= 2;
chart1.Series[2].BorderWidth
= 3;
chart1.Series[0].Color
= arColor[0];
chart1.Series[1].Color
= arColor[1];
chart1.Series[2].Color
= arColor[2];
}
private
void chart1_MouseClick(object sender, MouseEventArgs e)
{
//
Ŭ¸¯ÇÑ ÁöÁ¡ÀÇ Á¤º¸¸¦ Á¶»çÇÑ´Ù.
HitTestResult
hit = chart1.HitTest(e.X, e.Y);
if
(hit == null) return;
//
¹ü·Ê Ç׸ñÀ» Ŭ¸¯Çß°í ´ëÀÀ ½Ã¸®Áî°¡ ÀÖÀ» ¶§
if
(hit.ChartElementType == ChartElementType.LegendItem)
{
Series
s = hit.Series;
if
(s != null)
{
//
ÀÌ°Ç ¾ÈµÊ. ½Ã¸®Á ¼û±â¸é ¹ü·Êµµ »ç¶óÁ® ´Ù½Ã Ŭ¸¯ÇÒ ¼ö ¾ø´Ù.
//
s.Enabled = !s.Enabled;
//
Åõ¸í°ú ¿ø·¡»öÀ» Åä±ÛÇÑ´Ù.
if
(s.Color == Color.Transparent)
{
int
idx = chart1.Series.IndexOf(s.Name);
s.Color
= arColor[idx];
}
else
{
s.Color
= Color.Transparent;
}
}
}
}
}
}
¾Õ ¿¹Á¦¿Í´Â ´Þ¸® °¢ ½Ã¸®ÁîÀÇ »ö»óÀ» °íÁ¤ÇØ ³õ¾Ò´Ù. ÀÚµ¿ ¼øÈ¯ÇÏ´Â
»ö»óÀ» »ç¿ëÇϸé Çϳª¸¦ ¼û±æ ¶§ ±× µÚÂÊ ½Ã¸®ÁîÀÇ »ö»óÀÌ º¯ÇØ Àϰü¼ºÀÌ ¾ø´Ù. ±×·¡¼ ÀÌ ±â´ÉÀ» »ç¿ëÇÏ·Á¸é
½Ã¸®ÁîÀÇ »ö»óÀ» °íÁ¤ÇØ µÎ¾î¾ß ÇÑ´Ù.
¸¶¿ì½º Ŭ¸¯ À̺¥Æ®¿¡¼ HitTest ¸Þ¼µå¸¦ È£ÃâÇÏ¿© Â÷Æ®ÀÇ ¾î¶²
ºÎºÐÀ» Ŭ¸¯Çß´ÂÁö ¾Ë¾Æ³½´Ù. ¹ü·Ê¸¦ Ŭ¸¯Çß°í ¹ü·Ê¿¡ ´ëÀÀÇÏ´Â ½Ã¸®Áî°¡ ÀÖÀ¸¸é ÀÌ ½Ã¸®Áî°¡ Åä±Û ´ë»óÀÌ´Ù.
½Ã¸®Á ¼û±æ ¶§´Â Åë»ó Enabled ¼Ó¼ºÀ» »ç¿ëÇÏÁö¸¸ ÀÌ°Ç ¾ÈµÈ´Ù. ¼û±â´Â°Ç °¡´ÉÇÏÁö¸¸ ½Ã¸®Áî¿Í ÇÔ²² ¹ü·Êµµ ¼û¾î ¹ö·Á ´Ù½Ã º¸ÀÌ°Ô ÇÒ ¹æ¹ýÀÌ ¾ø´Ù. ±×·¡¼ ½Ã¸®Á ¼û°Ü¼´Â ¾ÈµÇ¸ç Åõ¸í»öÀ¸·Î¸¸ Åä±ÛÇÑ´Ù. ´ÙÀ½Àº ºñ¿ë
½Ã¸®Á ¼û±ä ¿¹ÀÌ´Ù.
¿©·¯ °³ÀÇ ½Ã¸®Áî°¡ º¹ÀâÇÏ°Ô Æ÷°³Á® ÀÖÀ» ¶§´Â º¸°í ½ÍÀº ½Ã¸®Á µû·Î ºÐ¸®Çؼ º¸´Â °ÍÀÌ Æí¸®ÇÏ´Ù. ¹ü·Ê Ŭ¸¯ ±â´ÉÀ» Ȱ¿ëÇÏ¸é ½Ã¸®Áî¿¡ ´ëÇÑ ´Ù¾çÇÑ µ¿ÀÛÀ» Á¤ÀÇÇÏ¿© »ç¿ëÀÚ¿Í »óÈ£ ÀÛ¿ëÇÒ ¼ö ÀÖ´Ù.
Áö±Ý±îÁö ¸¸µé¾îº» Â÷Æ®ÀÇ ¸ð¾çÀº °Ë¼ÒÇÏ°í ¼Ò¹ÚÇÏ´Ù. ±×·¯³ª °¢Á¾ ²Ù¹Ì±â
±â´ÉÀ» »ç¿ëÇÏ¸é ¾ó¸¶µçÁö ÀÚÀ¯·Ó°Ô ²Ù¹Ð ¼ö ÀÖ´Ù. Â÷Æ®ÀÇ °ÅÀÇ ¸ðµç ¿ä¼Ò¿¡ ´ëÇØ GDI+ÀÇ ±â´ÉÀ» ´Ù Àû¿ëÇÒ ¼ö ÀÖ´Ù. ±×·¡¼ GDI+¿¡ ´ëÇÑ °æÇèÀÌ ÀÖÀ¸¸é ½±°í Á÷°üÀûÀÌ´Ù.
¼± : »ö»ó, ±½±â, ¸ð¾ç, ½ÃÀÛ°ú
³¡ ¸ð¾ç, ±×¸²ÀÚ µî
ÆùÆ® : ÆùÆ®ÆäÀ̽º, Å©±â, »ö»ó, ½ºÅ¸ÀÏ, ¹è°æ»ö
¸é : ´ÜÀÏ»ö, ±×·¹µð¾ðÆ®, ¹ÝÅõ¸í »ö»ó, ÇØÄ¡, À̹ÌÁö, À̹ÌÁö ¹Ýº¹ ¸ðµå
Â÷Æ®ÀÇ °¢ ¿ä¼Ò´Â dzºÎÇÑ ±×¸®±â ¼Ó¼ºÀ» Á¦°øÇÑ´Ù. ÇÑ µÎ°³¸¸ ½Ç½ÀÇØ
º¸¸é ³ª¸ÓÁö ¿ä¼Òµµ °ÅÀÇ ºñ½ÁÇÑ ¹æ½ÄÀ¸·Î ²Ù¹Ð ¼ö ÀÖ´Ù. ´ÙÀ½Àº ÀüÇô ²Ù¹ÌÁö ¾ÊÀº Â÷Æ®ÀÇ ¿¹ÀÌ´Ù.
private void Form1_Load(object sender, EventArgs
e)
{
chart1.Series.Add("");
Random
R = new Random(100);
double
sale = 50;
double
cost = 30;
for
(int i = 0; i < 20; i++)
{
sale
+= R.Next(-4, 5);
chart1.Series[0].Points.AddY(sale);
cost
+= R.Next(-4, 5);
chart1.Series[1].Points.AddY(cost);
}
chart1.Series[0].ChartType
= SeriesChartType.Line;
chart1.Series[1].ChartType
= SeriesChartType.Column;
chart1.Titles.Add("²Ù¹Ì±â Test");
}
¶óÀÎ Â÷Æ®¿Í Ä÷³ Â÷Æ®¸¦ »ý¼ºÇϰí ŸÀÌÆ²°ú ¹ü·Ê¸¦ ¹èÄ¡Çß´Ù. ÀÌ Åõ¹ÚÇÑ
Â÷Æ®¸¦ ¿ä¶õ½º·´°Ô ²Ù¸ç º¸ÀÚ. ´ÙÀ½Àº SeriesÀÇ ¼±°ú
¸é¿¡ ´ëÇÑ ¼Ó¼ºÀÌ´Ù.
¼Ó¼º |
¼³¸í |
Color |
µ¥ÀÌÅÍ Æ÷ÀÎÆ®¸¦ ±×¸± ¼± »ö»óÀÌ´Ù. |
BorderColor |
°æ°è¼±ÀÇ »ö»óÀÌ´Ù. |
BorderWidth |
°æ°è¼±ÀÇ ±½±âÀÌ´Ù. |
BorderDashStyle |
°æ°è¼±ÀÇ ¸ð¾çÀÌ´Ù. Solid°¡ µðÆúÆ®À̸ç
Dash, DashDot, DashDotDot, Dot µîÀÌ ÀÖ´Ù. |
BackGradientStyle |
¹è°æ»öÀÇ ±×·¡µð¾ðÆ® ½ºÅ¸ÀÏÀÌ´Ù. µðÆúÆ®´Â NoneÀ̸ç
TopBottom, LeftRight, DiagonalLeft, DiagonalRight, HorizontalCenter,
VerticalCenter ¹æÇâÀÇ Ã¤»ö ¿É¼ÇÀÌ ÀÖ´Ù. |
BackSecondaryColor |
±×·¡µð¾ðÆ®¸¦ ä»öÇÒ µÎ ¹øÂ° »ö»óÀÌ´Ù. |
BackHatchStyle |
¹«´Ì¸¦ ÁöÁ¤ÇÑ´Ù. 50¿©Á¾ÀÇ ¹«´Ì°¡ ÀÖ´Ù. |
BackImage |
¹è°æ À̹ÌÁö ÆÄÀÏÀÇ À̸§ÀÌ´Ù. |
BackImageAlignment |
¹è°æ À̹ÌÁöÀÇ Á¤·ÄÀ» ÁöÁ¤ÇÑ´Ù. |
BackImageTransparentColor |
¹è°æ À̹ÌÁöÀÇ Åõ¸í»öÀÌ´Ù. |
BackImageWrapMode |
¹è°æ À̹ÌÁö ¹Ýº¹ ¸ðµåÀÌ´Ù. |
ShadowColor |
±×¸²ÀÚÀÇ »ö»óÀÌ´Ù. ¹ÝÅõ¸íÇÏ°Ô ±ò¸é ±×·²µíÇØ º¸ÀδÙ. |
ShadowOffset |
±×¸²ÀÚÀÇ °Å¸®°ªÀÌ´Ù. µðÆúÆ®´Â 0À̸ç
ÁöÁ¤ÇÑ °Å¸®¸¸Å ¿À¸¥ÂÊ ¾Æ·¡¿¡ ±×¸²ÀÚ°¡ ±ò¸°´Ù. À½¼ö¸¦ ÁÖ¸é ¿ÞÂÊ À§¿¡ ±×·ÁÁø´Ù. |
GDI+¿¡ ´Ù ÀÖ´Â ¼Ó¼ºÀÌ¾î¼ À©ÆûÀ» Á¶±ÝÀÌ¶óµµ ÇØ º» »ç¶÷Àº ±Ý¹æ
¾Ë ¼ö ÀÖ´Ù. ÀÌ ¼Ó¼ºÀ¸·Î ±×·¡ÇÁ¸¦ ä»öÇØ º¸ÀÚ. ¿¹»Ú°Ô
±×¸®´Â °Íº¸´Ù´Â ¾î¶² ¼Ó¼ºÀÌ ¾îµð¿¡ Àû¿ëµÇ´ÂÁö ºÐ¸íÈ÷ ¾Ë ¼ö ÀÖµµ·Ï Çß´Ù. »ç½Ç µðÀÚÀÎ ´É·ÂÀÌ ºÎÁ·ÇØ
¾îÂî ±×·Áµµ ³»°¡ ±×¸°°Ç Ã̽º·´´Ù.
chart1.Series[0].Color = Color.Red;
chart1.Series[0].BorderColor = Color.Blue;
chart1.Series[0].BorderWidth = 3;
chart1.Series[0].BorderDashStyle =
ChartDashStyle.Dash;
chart1.Series[0].ShadowColor = Color.FromArgb(128,
0, 0, 0);
chart1.Series[0].ShadowOffset = 2;
chart1.Series[1].Color = Color.Green;
chart1.Series[1].BorderColor = Color.Red;
chart1.Series[1].BorderWidth = 2;
chart1.Series[1].ShadowColor = Color.FromArgb(128,
0, 0, 0);
chart1.Series[1].ShadowOffset = 2;
»ö»óÀ» ÁöÁ¤ÇÏ´Â ¼Ó¼ºÀÌ µÎ °¡Áö°¡ Àִµ¥ Color´Â ¼±ÀÇ »ö»óÀ̰í
BorderColor´Â ¸éÀÇ »ö»óÀÌ´Ù. ¶óÀÎ Â÷Æ®´Â °æ°è¼±ÀÌ
¾ø¾î BorderColor´Â ÁöÁ¤ÇØ ºÁ¾ß ¾µ °÷ÀÌ ¾øÀ½À» ¾Ë ¼ö ÀÖ´Ù.
±×·¯³ª ±½±â¿Í ¼±¸ð¾çÀº °æ°è¼±ÀÇ ¼Ó¼ºÀ» »ç¿ëÇÏ´Â Á¡ÀÌ ºñÁ÷°üÀûÀε¥ Â÷Æ® ŸÀÔÀÌ ´Ù¾çÇÏ´Ù º¸´Ï ÀÌ·± ¾î»öÇÔÀÌ ¹ß»ýÇÑ´Ù. ±×¸²ÀÚ¸¦ Àû´çÈ÷ ±ò¾Æ ÁÖ¸é ÀÔüÀûÀ¸·Î º¸ÀδÙ.
´ÙÀ½Àº ±×·¡µð¾ðÆ® ¹«´Ì¸¦ ä»öÇØ º¸ÀÚ. ½Ã¸®Áî¿¡µµ ¹«´Ì¸¦ ±ò ¼ö ÀÖÁö¸¸
¸éÀûÀÌ Á¼¾Æ Àß º¸ÀÌÁö ¾Ê´Â´Ù. ¸éÀûÀ» °¡Áø ¸ðµç °´Ã¼¸¦ ±×·¡µå¾ðÆ®·Î Ä¥ÇÒ ¼ö ÀÖ´Ù. Chart ÀÚü¿Í ChartArea¸¦ Ä¥ÇØ º¸ÀÚ.
chart1.Series[1].BackHatchStyle =
ChartHatchStyle.DiagonalBrick;
chart1.BackColor = Color.Gainsboro;
chart1.BackGradientStyle =
GradientStyle.TopBottom;
chart1.BackSecondaryColor = Color.White;
chart1.ChartAreas[0].BackColor = Color.Yellow;
chart1.ChartAreas[0].BackGradientStyle =
GradientStyle.LeftRight;
chart1.ChartAreas[0].BackSecondaryColor =
Color.Orange;
Series[1]ÀÇ ¸·´ë ±×·¡ÇÁ ¾ÈÀ» º®µ¹ ¸ð¾ç ¹«´Ì·Î ä»öÇß´Ù. Â÷Æ® Àüü´Â ¿¶Àº ȸ»ö°ú Èò»öÀÌ À§¿¡¼ ¾Æ·¡·Î Á¡Á¡ º¯ÇÏ´Â ±×·¡µð¾ðÆ®·Î Ä¥Çϰí Â÷Æ® ¿¡¸®¾î´Â ³ë¶õ»ö°ú ÁÖȲ»öÀ»
Á¿¡¼ ¿ì·Î º¯Çϵµ·Ï Çß´Ù.
¼Ó¼º¸íÀÌ °ÅÀÇ ºñ½ÁÇÏÁö¸¸ ¾à°£¾¿ ´Ù¸¥ ºÎºÐÀÌ Àִµ¥ ¹è°æ»ö ¼Ó¼ºÀÌ Series´Â
ColorÀÌÁö¸¸ Â÷Æ®´Â BackColor¶ó´Â Á¤µµ°¡ ´Ù¸£´Ù. ´ÙÀ½Àº ÆùÆ®¸¦ º¯°æÇØ º¸ÀÚ. ¹®ÀÚ¿À» Ç¥½ÃÇÏ´Â °ÅÀÇ ¸ðµç °´Ã¼ÀÇ
±Û²Ã ¸ð¾çÀ» ÁöÁ¤ÇÒ ¼ö Àִµ¥ ´ÙÀ½ ÄÚµå´Â ŸÀÌÆ²ÀÇ ÆùÆ®¿Í »ö»ó, ½ºÅ¸ÀÏÀ» ÁöÁ¤ÇÑ´Ù.
chart1.Titles[0].Font = new Font("±Ã¼", 28);
chart1.Titles[0].ForeColor = Color.Blue;
chart1.Titles[0].TextStyle = TextStyle.Frame;
ÀÌ ¿Ü¿¡µµ ÅØ½ºÆ®ÀÇ ¹æÇâÀ̳ª Á¤·Ä, ±×¸²ÀÚ µîÀÇ ¼Ó¼ºÀÌ ´õ ÀÖ´Ù. »ó»óÇÒ ¼ö ÀÖ´Â °ÅÀÇ ¸ðµç ¼Ó¼ºÀÌ ´Ù Á¦°øµÈ´Ù°í º¸¸é °ÅÀÇ Æ²¸²¾ø´Ù. ŸÀÌÆ²
»Ó¸¸ ¾Æ´Ï¶ó ¹ü·Ê³»ÀÇ ¹®ÀÚ¿, Ãà ·¹À̺íÀÇ ¹®ÀÚ¿µµ ÆùÆ®¸¦ ¸¶À½´ë·Î ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.
´ÙÀ½Àº Â÷Æ® ÄÁÆ®·Ñ ÀÚüÀÇ ²Ù¹Ì±â ¼Ó¼ºÀÌ´Ù. Control·ÎºÎÅÍ ¹ÞÀº
ÀÏ¹Ý ¼Ó¼º°ú Ä÷º¼Ç °ü¸® ¼Ó¼ºÀÌ ´ëºÎºÐÀ̰í Â÷Æ® ÀÚüÀÇ Àå½Ä¿¡ °üÇÑ ¼Ó¼ºÀº ±×¸® ¸¹Áö ¾Ê´Ù.
¼Ó¼º |
¼³¸í |
AntiAliasing |
¾ÈƼ¾Ë¸®¾Æ½ÌÀ» ÇÒ °ÍÀΰ¡¸¦ ÁöÁ¤ÇÑ´Ù. Text¸¸ Çϰųª Graphics¸¸ ÇÒ ¼öµµ ÀÖ°í All·Î ¼±ÅÃÇϸé ÀüºÎ Çϰí NoneÀº ÇÏÁö ¾Ê´Â´Ù. µðÆúÆ®´Â AllÀÌ¸ç ¼º´É¿¡´Â Á¶±Ý ºÒ¸®ÇÏÁö¸¸ À¢¸¸ÇÏ¸é ±×´ë·Î µÎ´Â °ÍÀÌ ÁÁ´Ù. |
TextAntiAliasingQuality |
ÅØ½ºÆ®¿¡ ´ëÇÑ ¾ÈƼ¾Ë¸®¾Æ½Ì ǰÁúÀ» ÁöÁ¤ÇÑ´Ù. Normal, High,
SystemDefault ¼¼ °¡Áö°¡ ÀÖ´Ù. |
IsSoftShadows |
±×¸²ÀÚ È¿°ú¸¦ Á» ´õ ºÎµå·´°Ô ÇÑ´Ù. µðÆúÆ®´Â trueÀÌ´Ù. |
BorderlineColor BorderlineDashStyle BorderlineWidth |
Â÷Æ®¸¦ °¨½Î´Â ¿Ü°û¼±ÀÇ ¼Ó¼ºÀÌ´Ù. |
BorderSkin |
¿Ü°û¼±¿¡ À̹ÌÁö³ª ±×·¡µð¾ðÆ® µîÀÇ ´õ ´Ù¾çÇÑ ¼Ó¼ºÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Â °´Ã¼ÀÌ´Ù. |
Images |
Â÷Æ®¿¡¼ »ç¿ëÇÒ NamedImage °´Ã¼ÀÇ Ä÷º¼ÇÀÌ´Ù. ¿©±â¿¡ À̹ÌÁö¸¦ ÀúÀåÇØ µÎ°í Â÷Æ®¿¡¼ À̸§À¸·Î À̹ÌÁö¸¦ »ç¿ëÇÑ´Ù. |
´ÙÀ½ Äڵ带 ´õ Ãß°¡ÇØ º¸ÀÚ.
chart1.AntiAliasing = AntiAliasingStyles.None;
chart1.BorderlineColor = Color.Blue;
chart1.BorderlineWidth = 4;
chart1.BorderlineDashStyle = ChartDashStyle.Solid;
¾ÈƼ¾Ë¸®¾Æ½ÌÀ» ÇÏÁö ¾ÊÀ¸¸é ¹®ÀÚ¿À̳ª °î¼± ºÎºÐ¿¡ °è´ÜÀÌ ³ªÅ¸³ª º¸±â¿¡ ÁÁÁö ¾Ê´Ù. Â÷Æ® Àüü¿¡ ±½Àº ÆÄ¶õ»ö ¿Ü°û¼±À» µÑ·¶´Ù. ¿©·¯ Â÷Æ®¸¦ ÇѲ¨¹ø¿¡
»ç¿ëÇÒ ¶§´Â ¿Ü°û¼±À» µÑ·¯ ¸íÈ®È÷ ±¸ºÐÇÏ´Â °ÍÀÌ ÁÁ´Ù.
´ÙÀ½Àº ½Ã¸®ÁîÀÇ ¸¶Ä¿ °ü·Ã ¼Ó¼ºÀÌ´Ù. ¸¶Ä¿´Â °¢ µ¥ÀÌÅÍ Æ÷ÀÎÅÍÀÇ À§Ä¡¸¦
³ªÅ¸³»´Â Àå½ÄÀÌ´Ù. Splineó·³ °î¼± Â÷Æ®´Â Æ÷ÀÎÆ® ÁöÁ¡ÀÌ ¸íÈ®È÷ º¸ÀÌÁö ¾ÊÀ¸¹Ç·Î ¸¶Ä¿¸¦ ´Þ¾Æ ÁÖ¸é
½ÃÀμºÀÌ Çâ»óµÈ´Ù.
¼Ó¼º |
¼³¸í |
MarkerStyle |
¾î¶² ¸¶Ä¿¸¦ ¹èÄ¡ÇÒ °ÍÀÎÁö¸¦ ÁöÁ¤ÇÑ´Ù. µðÆúÆ®´Â NoneÀ̸ç Circle, Cross, Diamond, Square,
Star4, Star5, Star6, Star10, Triangle µîÀÌ ÀÖ´Ù. |
MarkerColor |
¸¶Ä¿ÀÇ »ö»óÀ» ÁöÁ¤ÇÑ´Ù. »ý·«½Ã ½Ã¸®ÁîÀÇ »ö»óÀ» µû¸¥´Ù. |
MarkerSize |
¸¶Ä¿ÀÇ Å©±â¸¦ ÁöÁ¤ÇÑ´Ù. |
MarkerStep |
¸¶Ä¿ÀÇ Áֱ⸦ ÁöÁ¤ÇÑ´Ù. µðÆúÆ®´Â 1À̾î¼
¸ðµç Æ÷ÀÎÆ®¿¡ Ç¥½ÃµÇÁö¸¸ 2·Î ÁöÁ¤Çϸé Çϳª¾¿ °Ç³Ê¶Ú´Ù. |
MarkerImage |
¸¶Ä¿·Î »ç¿ëÇÒ À̹ÌÁö À̸§ÀÌ´Ù. |
MarkerImageTransparentColor |
À̹ÌÁöÀÇ Åõ¸í »ö»óÀÌ´Ù. |
MarkerBorderColor |
¸¶Ä¿ÀÇ °æ°è¼± »ö»óÀÌ´Ù. |
MarkerBorderWidth |
¸¶Ä¿ÀÇ °æ°è¼± µÎ²²ÀÌ´Ù. |
¾Õ¿¡¼ ½Ç½ÀÇÑ ±×¸®±â ¼Ó¼ºÀº ¸ðµÎ Á¦°ÅÇÏ°í ´ÙÀ½ ÄÚµå·Î µÎ ½Ã¸®ÁîÀÇ ¸¶Ä¿¸¦ ÁöÁ¤ÇØ º¸ÀÚ.
chart1.Series[0].MarkerStyle = MarkerStyle.Circle;
chart1.Series[1].MarkerStyle = MarkerStyle.Star5;
chart1.Series[1].MarkerStep = 3;
chart1.Series[1].MarkerSize = 15;
chart1.Series[1].MarkerColor = Color.Lime;
chart1.Series[1].MarkerBorderColor = Color.Red;
chart1.Series[1].MarkerBorderWidth = 2;
¶óÀÎ ½Ã¸®Áî¿¡´Â Circle ¸¶Ä¿¸¸ ¹èÄ¡Çß´Ù. ¹Ô¹ÔÇÑ ¼±¿¡ ºñÇØ °Á¶Á¡ÀÌ ÀÖ¾î ÈξÀ ´õ º¸±â ÁÁ´Ù. »ö»óÀ» ÁöÁ¤ÇÏÁö
¾ÊÀ¸¸é ½Ã¸®Áî¿Í °°Àº »öÀ» »ç¿ëÇϴµ¥ ¾à°£ ´õ £Àº »öÀ¸·Î ÁöÁ¤ÇÏ¸é ´õ º¸±â ÁÁ´Ù.
Ä÷³ ½Ã¸®Áî¿¡´Â º° ¸¶Ä¿¸¦ ¹èÄ¡ÇÏ°í ¿©·¯ °¡Áö ¼Ó¼ºÀ» ÁÖ¾ú´Ù. 3ĸ¶´Ù
¸¶Ä¿¸¦ Ç¥½ÃÇϰí Å©±â¸¦ 15Çȼ¿·Î Ű¿ü´Ù. ¾ÈÂÊÀº ¿¬µÎ»öÀ¸·Î
ä»öÇÏ°í °æ°è¼±Àº µÎ²² 2ÀÇ »¡°£»öÀ¸·Î µÑ·¶´Ù. Á» À¯Ä¡ÇÏÁö¸¸
ÀÌ·± Àå½Äµµ °¡´ÉÇÏ´Ù.
±×¸®±â ¼Ó¼ºÀº Â÷Æ®ÀÇ °´Ã¼ °èÃþ¿¡ ´ëºÎºÐ Á¸ÀçÇÑ´Ù. À§ÂÊ °èÃþ¿¡¼
ÁöÁ¤ÇÑ ¼Ó¼ºÀº ¾Æ·¡ÂÊ °èÃþÀ¸·Î ÀÚµ¿ »ó¼ÓµÇ¾î Àϰý Àû¿ëµÈ´Ù. Series¿¡´Â µ¥ÀÌÅÍ Æ÷ÀÎÅÍÀÇ Ä÷º¼ÇÀÎ
Points°¡ ÀÖ°í ±× ¾È¿¡ DataPoint°¡ ÀÖ´Ù. ½Ã¸®Áî¿¡ Àû¿ëÇÑ ¼Ó¼ºÀº µ¥ÀÌÅÍ Æ÷ÀÎÅÍ¿¡µµ Àϰý Àû¿ëµÈ´Ù.
¸¸¾à ÇÏÀ§ °èÃþ¿¡¼ »óÀ§ÀÇ ±×¸®±â ¼Ó¼ºÀ» ¹«½ÃÇÏ°í µû·Î ¼Ó¼ºÀ» ÁöÁ¤Çϸé À̶§´Â »óÀ§ °èÃþÀÇ ¼Ó¼ºÀ» »ó¼Ó¹ÞÁö ¾Ê°í
Á÷Á¢ ÁöÁ¤ÇÑ ¼Ó¼ºÀÌ ¿ì¼± Àû¿ëµÈ´Ù. ´ÙÀ½ Äڵ带 Ãß°¡ÇØ º¸ÀÚ.
chart1.Series[0].MarkerColor = Color.Blue;
chart1.Series[0].Points[10].MarkerColor =
Color.Red;
chart1.Series[0].Points[10].MarkerSize = 10;
chart1.Series[1].Points[3].Color = Color.Blue;
chart1.Series[1].Points[3].MarkerStyle =
MarkerStyle.Diamond;
chart1.Series[1].Points[3].MarkerColor =
Color.Yellow;
½Ã¸®Áî¿¡ ¸¶Ä¿ ¼Ó¼ºÀ» ¼³Á¤ÇÏ¸é ¸ðµç Æ÷ÀÎÆ®¿¡ Àϰý Àû¿ëµÈ´Ù. ±×·¯³ª
ÇÑ Æ÷ÀÎÆ®¸¸ Ưº°ÇÏ°Ô ±×¸®°í ½Í´Ù¸é ÇØ´ç Æ÷ÀÎÅÍÀÇ ¸¶Ä¿ ¼Ó¼º¸¸ º¯°æÇÏ¸é µÈ´Ù. ¶óÀÎ Â÷Æ®ÀÇ ¸¶Ä¿ »ö»óÀ»
ÆÄ¶õ»öÀ¸·Î ÁöÁ¤ÇÏ¸é ¸ðµç Æ÷ÀÎÆ®ÀÇ ¸¶Ä¿°¡ ÆÄ¶þÁö¸¸ 10¹øÂ° Æ÷ÀÎÆ®¿¡ ´ëÇØ¼¸¸ »¡°£»öÀÇ ¿ø ¸ð¾çÀ¸·Î ÁöÁ¤Çß´Ù. ³ªÈ¦·Î ´Ù¸¥ ¸ð¾çÀÌ¾î¼ È®½ÇÈ÷ °Á¶µÈ´Ù.
Ä÷³ ½Ã¸®Áîµµ 3¹ø Æ÷ÀÎÆ®¸¸ ÆÄ¶õ»öÀ¸·Î º¯°æÇÏ°í ³ë¶õ»öÀÇ ´ÙÀ̾Ƹóµå
¸¶Ä¿·Î º¯°æÇß´Ù. º¸´Ù½ÃÇÇ ÁöÁ¤ÇÑ Æ÷ÀÎÆ®¸¸ ¿øÇÏ´Â ÇüÅ·Π¹Ù²Ü ¼ö ÀÖ´Ù. ´Ü, ÀÌ °æ¿ìµµ Æ÷ÀÎÆ®°¡ ÁöÁ¤ÇÏÁö ¾ÊÀº ¼Ó¼ºÀº »óÀ§ °èÃþ¿¡¼ »ó¼Ó
¹Þ´Â´Ù. Ä÷³ ½Ã¸®ÁîÀÇ 3¹ø Æ÷ÀÎÆ®´Â °æ°è¼±À» µû·Î ÁöÁ¤ÇÏÁö
¾Ê¾Æ ½Ã¸®Áî¿¡¼ Àû¿ëÇÑ »¡°£»ö 2Çȼ¿ÀÌ ±×´ë·Î Àû¿ëµÇ¾ú´Ù.
½Ã¸®Áî¿Í µ¥ÀÌÅÍ Æ÷ÀÎÆ®ÀÇ °ü°è »Ó¸¸ ¾Æ´Ï¶ó Â÷Æ®¿¡¼ °èÃþÀ» ÀÌ·ç´Â ´ëºÎºÐÀÇ °´Ã¼°¡ ÀÌ ±ÔÄ¢À» µû¸¥´Ù. Ç×»ó »óÀ§ °´Ã¼ÀÇ ¼Ó¼ºÀÌ ÇÏÀ§·Î Àϰý ÀüÆÄµÇ¾î ÅëÀÏµÈ ¸ð¾çÀ» ½±°Ô ¸¸µé ¼ö ÀÖ´Ù. Ưº°È÷ Æ¢°í ½ÍÀº ³à¼®¸¸ ¼Ó¼ºÀ» ¿øÇϴ´ë·Î µû·Î ÁöÁ¤ÇÏ¸é µÈ´Ù.
·¹À̺íÀº Â÷Æ® °÷°÷¿¡ Ç¥½ÃµÇ´Â ¹®ÀÚ¿Àε¥ ½Ã¸®ÁîÀÇ Label °ü·Ã
¼Ó¼ºÀº µ¥ÀÌÅÍ Æ÷ÀÎÆ® ±Ùó¿¡ Ç¥½ÃÇÏ´Â ÅØ½ºÆ®¸¦ ÁöÁ¤ÇÑ´Ù. ¼Ó¼ºÀº ´ÙÀ½°ú °°´Ù.
¼Ó¼º |
¼³¸í |
Label |
·¹ÀÌºí¿¡ Ç¥½ÃÇÒ ¹®ÀÚ¿ÀÌ´Ù. »ó¼ö ¹®ÀÚ¿À» ¾µ ¼öµµ ÀÖ°í Ű¿öµå¸¦ ¾µ ¼öµµ
ÀÖ´Ù. |
LabelForeColor |
·¹À̺íÀÇ ¹®ÀÚ¿ »ö»óÀÌ´Ù. |
LabelBackColor |
·¹ÀÌºí ¹®ÀÚ¿ÀÇ ¹è°æ»öÀÌ´Ù. |
LabelBorderColor LabelBorderWidth LabelBorderDashStyle |
·¹À̺íÀÇ °æ°è¼±ÀÌ´Ù. |
LabelFormat |
·¹À̺íÀÇ Ãâ·Â Æ÷¸ËÀ» ÁöÁ¤ÇÑ´Ù. |
LabelAngle |
·¹À̺íÀÇ °¢µµÀÌ´Ù. -90 ~ 90±îÁö ÁöÁ¤ÇÑ´Ù. |
·¹ÀÌºí¿¡ ¹®ÀÚ¿ »ó¼ö¸¦ Ç¥½ÃÇÒ ¼öµµ ÀÖÁö¸¸ ¸ðµç µ¥ÀÌÅÍ Æ÷ÀÎÆ®¿¡ ±»ÀÌ °°Àº ¹®ÀÚ¿À» Ç¥½ÃÇÒ ÀÌÀ¯´Â ¾ø´Ù. ÁַΠŰ¿öµå¸¦ »ç¿ëÇÏ¿© ƯÁ¤°ªÀ» °¡Á®¿À´Â ½ÄÀ» ±â¼úÇÑ´Ù. Ű¿öµå
Á¾·ù´Â ´ÙÀ½°ú °°´Ù. ·¹ÀÌºí »Ó¸¸ ¾Æ´Ï¶ó ÅøÆÁ, Ãà, ¹ü·Ê µî ÅØ½ºÆ®¸¦ Ç¥½ÃÇÏ´Â ¿©·Î °÷¿¡ °øÅëÀûÀ¸·Î »ç¿ëÇÑ´Ù.
Ű¿öµå |
¼³¸í |
#VALX |
XÃàÀÇ °ªÀÌ´Ù. |
#VAL |
YÃàÀÇ °ªÀÌ´Ù. ¿©·¯ °³ÀÇ Y°ªÀ» °¡Áø ½Ã¸®Áî´Â #VALY, #VALY2, #VALY3, #VALY4 µîÀ¸·Î
À̸§À» ºÙÀδÙ. |
#SERIESNAME |
½Ã¸®ÁîÀÇ À̸§ÀÌ´Ù. |
#LABEL |
µ¥ÀÌÅÍ Æ÷ÀÎÆ®ÀÇ ·¹À̺íÀÌ´Ù. |
#AXISLABEL |
ÃàÀÇ ·¹À̺íÀÌ´Ù. |
#INDEX |
µ¥ÀÌÅÍ Æ÷ÀÎÅÍÀÇ ¼ø¼°ªÀÌ´Ù. |
#PERCENT |
Y°ªÀÇ ÆÛ¼¾Æ® ºñÀ²ÀÌ´Ù. |
#TOTAL, #AVG, #MIN, #MAX |
Y°ªÀÇ ÃÑÇÕ, Æò±Õ, ÃÖ¼Ò, ÃÖ´ë°ªÀÌ´Ù. |
#FIRST, #LAST |
ù Y°ª, ¸¶Áö¸· Y°ªÀÌ´Ù. |
´ÙÀ½ ¿¹Á¦·Î µ¥ÀÌÅÍ Æ÷ÀÎÆ® À§¿¡ ·¹À̺íÀ» Ç¥½ÃÇØ º¸ÀÚ.
private void Form1_Load(object sender, EventArgs
e)
{
chart1.Legends[0].Enabled
= false;
Random
R = new Random(100);
double
value = 30;
for
(int i = 0; i < 10; i++)
{
value
+= R.Next(-9, 10);
chart1.Series[0].Points.AddXY(i,
value);
}
chart1.Series[0].ChartType
= SeriesChartType.Line;
chart1.Series[0].Label
= "#VALX:#VAL";
chart1.Series[0].LabelForeColor
= Color.Red;
chart1.Series[0].LabelBackColor
= Color.Yellow;
chart1.Series[0].LabelBorderColor
= Color.Black;
chart1.Series[0].LabelAngle
= -90;
}
³ë¶õ»ö »ç°¢Çü¾È¿¡ XÃàÀÇ °ª°ú YÃàÀÇ
°ªÀÌ °°ÀÌ Ç¥½ÃµÈ´Ù. ÃàÀ¸·Î ½Ã¼±ÀÌ À̵¿ÇÏÁö ¾Ê¾Æµµ ·¹ÀÌºí¸¸À¸·Î °ªÀ» ¾Ë¾Æº¼ ¼ö ÀÖ¾î Æí¸®ÇÏ´Ù. Ű¿öµå¸¦ ¹Ù²Ù¸é Àüü¿¡ ´ëÇÑ ºñÀ²À̳ª Æò±Õ, ÃÑÇÕ µîÀ» ·¹ÀÌºí¿¡
Ç¥½ÃÇÒ ¼ö ÀÖ´Ù.
ÅøÆÁÀº ¸¶¿ì½º Ä¿¼¸¦ ¿Ã¸° ä·Î Àá½Ã ¸Ó¹«¸£¸é ³ªÅ¸³ª´Â ÀÛÀº »ç°¢ ¿µ¿ªÀÌ´Ù. Â÷Æ®ÀÇ
°÷°÷¿¡ ÅøÆÁÀ» Ç¥½ÃÇÒ ¼ö ÀÖ´Ù. ´Ü¼øÇÑ ¾È³» ¹®ÀÚ¿À» Ç¥½ÃÇÒ ¼öµµ ÀÖÁö¸¸ ÁַΠŰ¿öµå¸¦ ÁöÁ¤ÇÏ¿© ÇØ´ç
À§Ä¡ÀÇ Æ¯Á¤°ªÀ» Á¶»çÇÏ¿© Ç¥½ÃÇÑ´Ù.
´ë»óÀÌ ¾îµð°Ç ¼Ó¼º À̸§Àº ¸ðµÎ ToolTipÀÌ¸ç ¹®ÀÚ¿ Çü½ÄÀÌ´Ù. ¾Õ ¿¹Á¦¿¡ ¹ü·Ê¸¦ Ç¥½ÃÇÏ°í ½Ã¸®Áî¿Í ¹ü·Ê, ¾çÃà¿¡ ÅøÆÁÀ» ÁöÁ¤ÇØ
º¸ÀÚ.
private void Form1_Load(object sender, EventArgs
e)
{
Random
R = new Random(100);
double
value = 30;
for
(int i = 0; i < 10; i++)
{
value
+= R.Next(-9, 10);
chart1.Series[0].Points.AddXY(i,
value);
}
chart1.Series[0].ChartType
= SeriesChartType.Line;
chart1.Series[0].Label
= "#VALX:#VAL";
chart1.Series[0].LabelForeColor
= Color.Red;
chart1.Series[0].LabelBackColor
= Color.Yellow;
chart1.Series[0].LabelBorderColor
= Color.Black;
chart1.Series[0].LabelAngle
= -90;
chart1.Series[0].ToolTip
= "#VAL";
chart1.Series[0].LegendToolTip
= "ÃÑ ¸ÅÃâ : #TOTAL";
chart1.Series[0].LabelToolTip
= "#PERCENT";
chart1.ChartAreas[0].AxisX.ToolTip
= "XÃà ÅøÆÁ";
chart1.ChartAreas[0].AxisY.ToolTip
= "YÃà ÅøÆÁ";
}
½Ã¸®ÁîÀÇ °¢ ºÎºÐ°ú X, Y Ãà¿¡µµ ÅøÆÁÀ» ÁöÁ¤Çß´Ù. ¸¶¿ì½º Ä¿¼¸¦ ¿©±â Àú±â ¿òÁ÷¿© º¸¸é ÅøÆÁÀÌ ³ªÅ¸³´Ù.
·¹ÀÌºí¿¡´Â YÃà °ªÀÌ Ç¥½ÃµÇ¾î ÀÖ°í ÅøÆÁ¿¡´Â ÀÌ °ªÀÇ ºñÀ²À» Ç¥½ÃÇÑ´Ù. ÀÚÁÖ º¸´Â Á¤º¸´Â µå·¯³ª°Ô ÇØ µÎ°í °¡²û Âü°íÇÏ´Â Á¤º¸´Â ÅøÆÁ¿¡ ³Ö¾î µÎ¸é ¾î¿ï¸°´Ù.
Â÷Æ®¸¦ ²Ù¹Ì´Â ¼Ó¼ºÀÌ ÃæºÐÈ÷ ¸¹Áö¸¸ Çö½ÇÀÇ ¿ä±¸´Â À̺¸´Ù ÈξÀ ´õ ´Ù¾çÇÏ°í Æ¯¼öÇØ¼ ´õ ¿¹»Ú°Ô ²Ù¹Ì°í ½Í¾îÇÑ´Ù. ±×·¡¼ ´õ º¹ÀâÇÑ ²Ù¹Ì±â ±â´ÉÀ» CustomProperties ¼Ó¼ºÀ¸·Î
Á¦°øÇÑ´Ù. ´ÙÀ½ ¿¹Á¦¸¦ º¸ÀÚ.
private void Form1_Load(object sender, EventArgs
e)
{
chart1.Series.Add("");
chart1.Series.Add("");
chart1.Series.Add("");
Random
R = new Random(100);
for
(int i = 0; i < 3; i++)
{
chart1.Series[0].Points.AddY(R.Next(10,
100));
chart1.Series[1].Points.AddY(R.Next(10,
100));
chart1.Series[2].Points.AddY(R.Next(10,
100));
chart1.Series[3].Points.AddY(R.Next(10,
100));
}
}
Ä÷³ Â÷Æ® 4°³¸¦ ±×·È´Âµ¥ »ö»ö±ò·Î ä»öµÇ¾î ÀÖÁö¸¸ ´Ù ¸·´ë ¸ð¾çÀ̶ó
¹º°¡ ¹Ô¹ÔÇÏ´Ù. Á» ´õ ¿¹»Ú°í ÀÔüÀûÀÎ ¸ð¾çÀ» ±×¸®°í ½Í´Ù¸é DrawingStyle
¼Ó¼ºÀ» ÁöÁ¤ÇÑ´Ù. ´ÙÀ½ Äڵ带 Ãß°¡ÇØ º¸ÀÚ.
chart1.Series[0].CustomProperties = "DrawingStyle=Cylinder";
chart1.Series[1].CustomProperties =
"DrawingStyle=Emboss";
chart1.Series[2].CustomProperties =
"DrawingStyle=Wedge";
chart1.Series[3].CustomProperties =
"DrawingStyle=LightToDark";
°¢ DrawingStyleº°·Î ÀÔüÀûÀÎ ¸ð¾çÀÌ ±×·ÁÁø´Ù. CustomProperties ¼Ó¼ºÀº ¹®ÀÚ¿ ÇüÅ·ΠA=B ½ÄÀ¸·Î
Ãß°¡ ¼Ó¼ºÀ» ÁöÁ¤ÇÑ´Ù. ¿©·¯ °³ÀÇ ¼Ó¼ºÀ» ÄÞ¸¶·Î ±¸ºÐÇÏ¿© ÁöÁ¤ÇÒ ¼ö ÀÖÀ¸¸ç ¼Ó¼ºÀÇ À̸§Àº ´ë¼Ò¹®ÀÚ¸¦
±¸ºÐÇÑ´Ù.
½Ã¸®ÁîÀÇ Àε¦¼·Îµµ Ä¿½ºÅÒ ¼Ó¼ºÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. [ ] °ýÈ£¾È¿¡
¼Ó¼ºÀÇ À̸§À» ¾²°í ¼Ó¼º°ªÀ» ´ëÀÔÇÏ¸é µÈ´Ù. ÀÌ ¹æ½ÄÀº Ä¿½ºÅÒ ¼Ó¼ºÀ» Çϳª¾¿ µû·Î ´ëÀÔÇÒ ¼ö ÀÖ¾î Æí¸®ÇÏ´Ù.
chart1.Series[0]["DrawingStyle"] =
"Cylinder";
DrawingStyleÀ» ½Ã¸®ÁîÀÇ ¼Ó¼ºÀ» Á¤ÀÇÇÏÁö ¾Ê°í ¹®ÀÚ¿ ÇüÅÂÀÇ
Ä¿½ºÅÒ ¼Ó¼ºÀ¸·Î Á¤ÀÇÇÏ´Â ÀÌÀ¯´Â ¹«¾ùÀϱî? Series Ŭ·¡½ºÀÇ ¸â¹ö·Î ¼±¾ðÇØ µÎ¸é ´ÙÀ½°ú °°ÀÌ ´õ
Æí¸®ÇÏ°í ¿ÀŸ ¹ß»ýÀÇ À§Çèµµ ¾ø´Ù.
chart1.Series[0].DrawingStyle = DrawingStyle.Cylinder;
ÀÌ·¸°Ô ÇÏÁö ¾ÊÀº ÀÌÀ¯´Â Ä¿½ºÅÒ ¼Ó¼ºÀº Â÷Æ® ŸÀÔº°·Î Àû¿ë ¿©ºÎ°¡ ´Ù¸£±â ¶§¹®ÀÌ´Ù. DrawingStyleÀº ¸éÀ» Àå½ÄÇÏ´Â ¼Ó¼ºÀ̹ǷΠLine, Spline µîÀÇ
ŸÀÔ¿¡´Â ¾Æ¹«Â¦¿¡µµ ¾µ¸ð°¡ ¾ø´Ù. 35°³³ª µÇ´Â Â÷Æ® ŸÀÔº°·Î ÇÊ¿äÇÑ ¼Ó¼ºÀ» ´Ù ¸â¹ö·Î Á¤ÀÇÇÏ´Ù°¡´Â
Series Ŭ·¡½º°¡ ³Ê¹« °Å´ëÇØÁö°í ¹«°Å¿öÁø´Ù.
±×·¡¼ Â÷Æ® ŸÀÔº°·Î Àû¿ëµÇ´Â ¼Ó¼ºÀ» Ä¿½ºÅÒ ¼Ó¼ºÀ¸·Î Á¤ÀÇÇØ µÎ°í ÇÊ¿äÇÒ ¶§¸¸ ¹®ÀÚ¿¾È¿¡ A=B ½ÄÀ¸·Î Á¤ÀÇÇϵµ·Ï µÇ¾î ÀÖ´Ù. ¾Õ¿¡¼µµ ÀÌ·± ¿¹¸¦ º» ÀûÀÌ Àִµ¥
ĵµé Â÷Æ®ÀÇ Ä¿½ºÅÒ ¼Ó¼ºÀ» ´ÙÀ½°ú °°ÀÌ Á¤ÀÇÇß¾ú´Ù.
"PriceDownColor=Blue, PriceUpColor=Red"
ĵµé Â÷Æ®´Â ÁÖ·Î ÁÖ½Ä ½Ã¼¼¸¦ ±×¸± ¶§ »ç¿ëÇϴµ¥ ÁÖ°¡°¡ ¿Ã¶ó°¥ ¶§¿Í ³»·Á°¥ ¶§ÀÇ »ö»óÀÌ ´Ù¸£¸ç °¢°¢ PriceDownColor, PriceUpColor Ä¿½ºÅÒ ¼Ó¼ºÀ¸·Î Á¤ÀÇÇÑ´Ù. ÀÌ
¼Ó¼ºÀº ĵµé Â÷Æ®¿¡¸¸ ÇÊ¿äÇÏ¸ç ´Ù¸¥ Â÷Æ®¿¡´Â ¾µ ÀÏÀÌ ¾ø±â ¶§¹®¿¡ Ä¿½ºÅÒ ¼Ó¼ºÀÌ´Ù.
Ä¿½ºÅÒ ¼Ó¼ºÀº ÃÑ 80°³ ÀÖÀ¸¸ç ¾ÕÀ¸·Î ´õ ´Ã¾î³¯ ¼öµµ ÀÖ´Ù. Â÷Æ® ŸÀÔº°·Î ´Ù¸£±â ¶§¹®¿¡ °¢ ŸÀÔÀ» ¿¬±¸ÇÒ ¶§ °°ÀÌ »ìÆì º¸´Â °ÍÀÌ ÁÁ´Ù.
·¹ÆÛ·±½º¿¡ ¼Ó¼ºÀÇ ÀÇ¹Ì¿Í Àû¿ëµÇ´Â Â÷Æ® ŸÀÔÀÌ Àß Á¤¸®µÇ¾î ÀÖÀ¸´Ï ½Ã°£ ³¯ ¶§¸¶´Ù ¾î¶² ¼Ó¼ºÀÌ ´õ ÀÖ´ÂÁö ±¸°æÇØ º¸ÀÚ.