ÃàÀº Â÷Æ®ÀÇ °¡ÀåÀÚ¸®¿¡ Ç¥½ÃµÇ´Â ´«±ÝÀÌ´Ù. ChartArea¿¡ ¼Ò¼ÓµÇ¸ç
Axes ¼Ó¼ºÀÇ Ä÷º¼Ç ÆíÁý±â¸¦ ¿¾î º¸¸é ÃàÀÇ ¸ñ·ÏÀÌ ³ªÅ¸³´Ù.
°¡·ÎÂÊÀÌ XÃàÀÌ°í ¼¼·ÎÂÊÀÌ YÃàÀ̸ç
¾çÂÊÀ¸·Î °¢°¢ ºÙÀÏ ¼ö ÀÖ¾î ¿¡¸®¾î´ç ÃÑ 4°³ÀÇ ÃàÀÌ ÀÖ´Ù. ÆíÁý±â¿¡¼
º¸´Ù½ÃÇÇ 4°³ÀÇ ÃàÀÌ ¹Ì¸® µî·ÏµÇ¾î ÀÖÀ¸¸ç ´õ ¸¸µé°Å³ª »èÁ¦ÇÒ ¼ö´Â ¾ø°í ¼Ó¼º¸¸ Á¶Á¤ÇÒ ¼ö ÀÖ´Ù.
ÃàÀÇ ¿©·¯ °¡Áö ¼Ó¼ºÀ» Å×½ºÆ®ÇØ º¸±â À§ÇØ °¡·ÎÃàÀ» ½Ã°£À¸·Î ÇÏ´Â Â÷Æ®¸¦ ¸¸µé¾î º¸ÀÚ.
private void Form1_Load(object sender, EventArgs
e)
{
chart1.Legends[0].Enabled
= false;
Random
R = new Random(100);
DateTime
dt = new DateTime(2020, 10, 1, 9, 0, 0);
for
(int i = 0;i<20;i++)
{
chart1.Series[0].Points.AddXY(dt,
R.Next(10, 100));
dt
= dt.AddMinutes(1);
}
}
¿ÀÀü 9½ÃºÎÅÍ 1ºÐ °£°ÝÀ¸·Î
10~100 »çÀÌÀÇ ³¼ö·Î Â÷Æ®¸¦ ±×·È´Ù. ¼¼·ÎÃàÀº Á¡¼ö¶ó°í
»ý°¢ÇÏ¸é µÈ´Ù. ÀÌ ÄÚµå ¾Æ·¡ÂÊ¿¡ ¼Ó¼ºÀ» Á¶Á¤ÇÏ´Â Äڵ带 ÀÛ¼ºÇÏ¿© ½Ç½ÀÀ» ÁøÇàÇÑ´Ù.
¾Æ·¡ÂÊÀÌ XÃàÀÌ¸ç ½Ã°£À» º¸¿© ÁØ´Ù.
¿ÞÂÊÀÌ YÃàÀ̸ç 0 ~ 100±îÁö 20 °£°ÝÀ¸·Î °ªÀ» Ç¥½ÃÇÑ´Ù. Ãà¿¡´Â ´ÙÀ½ ¿ä¼Ò°¡ ¹èÄ¡µÈ´Ù.
ƽ¸¶Å© : Á¤È®ÇÑ À§Ä¡¸¦ Ç¥½ÃÇÏ´Â
¼±ÀÌ´Ù. À§ ±×¸²ÀÇ YÃàÀ» º¸¸é 20, 40, 60 ÀÚ¸®¿¡ ¿ÞÂÊÀ¸·Î ¾à°£ »ßÁ® ³ª¿Â Á÷¼±ÀÌ Æ½¸¶Å©ÀÌ´Ù.
·¹À̺í : À§Ä¡³ª °ªÀ» ¼³¸íÇÏ´Â
¹®ÀÚ¿ÀÌ´Ù. YÃàÀÇ 20, 40À̳ª XÃàÀÇ ³¯Â¥°¡ ·¹À̺íÀÌ´Ù. ÁÖ±â, Æ÷¸Ë, ¼Ó¼º µî¿¡ µû¶ó ¸ð¾çÀÌ ÃµÂ÷ ¸¸º°·Î ´Þ¶óÁø´Ù.
±×¸®µå : Â÷Æ®ÀÇ ÇÃ·Ô ¿µ¿ª¿¡
Ç¥½ÃµÇ´Â ¹ÙµÏÆÇ ¸ð¾çÀÇ °ÝÀÚÀÌ´Ù. ƽ¸¶Å©°¡ ÇÃ·Ô ¿µ¿ªÀ¸·Î È®ÀåµÈ °ÍÀÌ´Ù.
µðÆúÆ®·Î XÃàÀº ¾Æ·¡ÂÊ, YÃàÀº
¿ÞÂʸ¸ Ç¥½ÃµÇ¾î ÀÖ¾î 2°³ÀÇ ÁÖÃุ º¸ÀδÙ. ¿À¸¥Âʰú À§ÂÊ¿¡µµ
º¸Á¶ÃàÀÌ ÀÖÁö¸¸ ¼û°ÜÁ® ÀÖ´Ù. ÀÌ Ã൵ º¸À̵µ·Ï ÇØ º¸ÀÚ. ¾Æ·¡ÂÊ¿¡
´ÙÀ½ Äڵ带 ÀÛ¼ºÇÑ´Ù.
chart1.ChartAreas[0].AxisX2.Enabled =
AxisEnabled.True;
chart1.ChartAreas[0].AxisY2.Enabled =
AxisEnabled.True;
AxisX2¿Í AxisY2 ÃàÀÇ
Enabled ¼Ó¼ºÀ» True·Î º¯°æÇϸé ÃàÀÌ º¸ÀδÙ. ÀÌ ¼Ó¼ºÀ» Auto·Î ÁöÁ¤Çϸé Â÷Æ®ÀÇ Å¸ÀÔÀ̳ª ½Ã¸®ÁîÀÇ Æ¯¼º¿¡ µû¶ó
ÀÚµ¿À¸·Î º¸ÀÓ ¿©ºÎ¸¦ °áÁ¤ÇÑ´Ù. Ãà °´Ã¼ÀÇ À̸§À» ÁöÁ¤ÇÏ´Â ´ë½Å ¿¡¸®¾îÀÇ Axes ¼Ó¼ºÀÇ Ã·ÀÚ¸¦ ÅëÇØ Axes[2], Axes[3]·Î ÄªÇØµµ
È¿°ú´Â °°´Ù.
¿À¸¥Âʰú À§ÂÊ¿¡µµ ÃàÀÌ ³ªÅ¸³´Ù. Â÷Æ®°¡ ¾ÆÁÖ Å©´Ù¸é ÃàÀÌ ¾çÂÊ¿¡
´Ù ÀÖ´Â °ÍÀÌ º¸±â´Â Æí¸®ÇÏÁö¸¸ ¹øÀ⽺·¯¿ö º¸ÅëÀº ÁÖÃุ Ç¥½ÃÇÑ´Ù.
ÃàÀº Â÷Æ® Ç÷ÔÀ» °¡¸®Áö ¾Êµµ·Ï °¡ÀåÀÚ¸®¿¡ ³õ´Â °ÍÀÌ ¹«³ÇÏÁö¸¸ ÇÊ¿äÇÏ´Ù¸é ÇÃ·Ô Áß°£¿¡ ³õÀ» ¼öµµ ÀÖ´Ù. ÃàÀÇ Crossing ¼Ó¼ºÀº »ó´ëÃà°ú ±³Â÷ÇÒ ÁöÁ¡À» ÁöÁ¤Çϴµ¥ µðÆúÆ®°ªÀº
NaNÀ̸ç ÀÌ °æ¿ì ÀÚµ¿À¸·Î Àû´çÇÑ °÷¿¡ ¹èÄ¡µÈ´Ù.
double.MinValue·Î ÁöÁ¤ÇÏ¸é °¡Àå ÀÛÀº°ª ÂÊ¿¡ ¹èÄ¡µÇ°í
double.MaxValue·Î ÁöÁ¤ÇÏ¸é °¡Àå Å«°ªÂÊ¿¡ ¹èÄ¡µÈ´Ù. Áß°£ÀÇ
Àû´çÇÑ °ªÀ¸·Î ÁöÁ¤Çϸé ÇØ´ç À§Ä¡¿¡ »ó´ëÃàÀÌ ¹èÄ¡µÈ´Ù. AxisYÀÇ Crossing
¼Ó¼ºÀ¸·Î 50 Á¤µµ·Î ÁöÁ¤ÇØ º¸ÀÚ.
chart1.ChartAreas[0].AxisY.Crossing = 50;
YÃàÀÇ ¹üÀ§´Â 0 ~ 100±îÁöÀε¥
50À¸·Î ÁöÁ¤ÇÏ¸é »ó´ëÃàÀÎ XÃàÀÌ µü Áß°£ À§Ä¡¿¡ ¹èÄ¡µÈ´Ù.
ÀÌ·¸°Ô µÇ¸é 50º¸´Ù ´õ ÀÛÀº °ªÀº ¸·´ë°¡ ¾Æ·¡ÂÊÀ¸·Î ±×·ÁÁø´Ù. Crossing ¼Ó¼ºÀ» double.MaxValue·Î ÁöÁ¤Çϸé XÃàÀÌ ÃÖ´ë°ªÀÎ 100 ÀÚ¸®·Î ¿Ã¶ó°¡°í ¸ðµç ¸·´ë´Â ¾Æ·¡ÂÊÀ¸·Î »¸´Â´Ù.
·¹À̺íÀÇ Æ÷¸ËÀº ½Ã¸®ÁîÀÇ Å¸ÀÔ¿¡ µû¶ó ÀÚµ¿À¸·Î °áÁ¤µÇ´Âµ¥ ½Ã°£ÀÎ °æ¿ì´Â ³¯Â¥°¡ µðÆúÆ®·Î µÇ¾î ÀÖ´Ù. ±×·¡¼ XÃàÀÇ ³¯Â¥°ªÀÌ ¸ðµÎ °°¾Æ ±¸ºÐÀÌ Àß µÇÁö ¾Ê´Â´Ù. ¿¹Á¦ÀÇ Â÷Æ®´Â ºÐ ´ÜÀ§À̹ǷΠ³¯Â¥°¡ ¾Æ´Ñ ½Ã°£ Æ÷¸ËÀ¸·Î Ç¥½ÃÇÏ´Â °ÍÀÌ ´õ ÁÁ´Ù. ·¹À̺íÀÇ Æ÷¸ËÀº ÃàÀÇ LabelStyle.Format ¼Ó¼ºÀ¸·Î ÁöÁ¤ÇÑ´Ù. ´ÙÀ½ Äڵ带 ÀÛ¼ºÇØ º¸ÀÚ.
Axis ax = chart1.ChartAreas[0].AxisX;
Axis ay = chart1.ChartAreas[0].AxisY;
ax.LabelStyle.Format = "HH:mm";
X, Y ¾çÂÊÀ¸·Î µÎ ÃàÀÇ ¼Ó¼ºÀ» °è¼Ó ¹Ù²ã º¼ °ÍÀ̹ǷΠÁÖÃà¿¡ ´ëÇÑ
ÂüÁ¶¸¦ ax, ay·Î ¹Ì¸® ±¸ÇØ µÎ¾ú´Ù. Ä÷º¼Ç¿¡ ÀÇÇÑ ÁßøÀÌ
¿ö³« ±í´Ù º¸´Ï ÀÚÁÖ »ç¿ëÇÏ´Â °´Ã¼´Â ÂüÁ¶¸¦ µû·Î ±¸ÇÑ ÈÄ »ç¿ëÇÏ´Â °ÍÀÌ Æí¸®ÇÏ´Ù. axÀÇ ·¹ÀÌºí Æ÷¸ËÀ»
HH:mmÀ¸·Î Ç¥½ÃÇÏ¸é ½Ã:ºÐ ¸¸ ·¹ÀÌºí¿¡ Ç¥½ÃµÈ´Ù.
ÀÌÁ¦ XÃàÀÇ ½Ã°£ÀÌ ¼·Î ±¸ºÐµÈ´Ù.
"HH:mm:ss"·Î ºÙÀ̸é ÃÊ´ÜÀ§µµ ³ªÅ¸³ªÁö¸¸ ÀÌ Â÷Æ®ÀÇ µ¥ÀÌÅͰ¡ ºÐ´ÜÀ§¿©¼ º° Àǹ̰¡ ¾ø´Ù.
Â÷Æ®´Â 5ºÐ °£°ÝÀ¸·Î ƽ¸¶Å©¿Í ·¹À̺íÀ» Çϳª¾¿ Ç¥½ÃÇÑ´Ù. ¸ðµç X°ª¿¡ ·¹À̺íÀ» ÀÏÀÏÀÌ ¹èÄ¡ÇÒ °ø°£ÀÌ ÃæºÐÇÏÁö ¾Ê¾Æ Àû´çÈ÷
°Ç³Ê ¶Ú´Ù. ½ÉÁö¾î Â÷Æ®¸¦ È®´ëÇϰųª Ãà¼ÒÇØµµ ÀÌ °£°ÝÀ» À¯ÁöÇÑ´Ù. Â÷Æ®ÀÇ
Å©±â¿Í ·¹À̺íÀÇ °£°ÝÀº IntervalAutoMode ¼Ó¼ºÀ¸·Î ÁöÁ¤Çϴµ¥ ÀÌ ¼Ó¼ºÀÇ µðÆúÆ®°¡ FixedCountÀ̱⠶§¹®ÀÌ´Ù. ÀÌ ¼Ó¼ºÀ» VariableCount·Î º¯°æÇØ º¸ÀÚ.
ax.IntervalAutoMode =
IntervalAutoMode.VariableCount;
ay.IntervalAutoMode =
IntervalAutoMode.VariableCount;
X, Y ¾çÃà ¸ðµÎ °¡º¯ °³¼ö·Î º¯°æÇÏ¿´´Ù. ÀÌ »óÅ¿¡¼ Â÷Æ®ÀÇ Å©±â¸¦ Á¶Á¤ÇØ º¸¸é Å©±â¿¡ µû¶ó ·¹À̺íÀÇ °£°Ý°ú °³¼ö°¡ ´Þ¶óÁø´Ù.
ÀÚ¸®°¡ Á¼À¸¸é ·¹À̺íÀ» Á¶±Ý¸¸ º¸¿© ÁÖ°í ³Ë³ËÇÏ°Ô ³ÐÀ¸¸é °¡±ÞÀû ¸¹Àº ·¹À̺íÀ» º¸¿©ÁØ´Ù. µ¥ÀÌÅÍ °³¼ö°¡ °¡º¯ÀûÀ̰í Â÷Æ® Å©±âµµ ÀÚÁÖ ¹Ù²ï´Ù¸é ÀÌ ¹æ½ÄÀÌ À¯¸®ÇÏÁö¸¸ Àϰü¼ºÀÌ ¾ø´Â °ÍÀº ´ÜÁ¡ÀÌ´Ù.
·¹À̺íÀÇ Áֱ⸦ °Á¦·Î ÁöÁ¤ÇÏ·Á¸é IntervalType, Interval ¼Ó¼ºÀ»
»ç¿ëÇÑ´Ù. IntervalÀº Áֱ⸦ ÁöÁ¤Çϸç ÀÌ °ª¸¶´Ù ·¹À̺íÀÌ Çϳª¾¿ Ç¥½ÃµÈ´Ù. ´Ü °ªÀÌ ½Ã°£À̸é IntervalÀÌ ¾î¶² ´ÜÀ§ÀÎÁö¸¦ IntervalTypeÀ¸·Î ¹àÈù´Ù. IntervalAutoMode´Â
ÇØÁ¦ÇÏ°í ´ÙÀ½ Äڵ带 ÀÛ¼ºÇØ º¸ÀÚ.
ax.IntervalType = DateTimeIntervalType.Minutes;
ax.Interval = 2;
ay.Interval = 10;
XÃàÀº ¸Å 2ºÐ¸¶´Ù ·¹À̺íÀ»
Ç¥½ÃÇϰí YÃàÀº ¸Å 10¸¶´Ù ·¹À̺íÀ» Ç¥½ÃÇ϶ó°í Áö½ÃÇß´Ù.
Áö½ÃÇÑ´ë·Î Á¤È®ÇÏ°Ô ·¹À̺íÀÌ Ç¥½ÃµÈ´Ù. ½ÉÁö¾î Å©±â¸¦ ÁÙ¿©µµ ·¹À̺íÀ»
Áö±×Àç±×·Î °ãÄ¡°Å³ª ¼¼·Î·Î ¼¼¿ö¼¶óµµ ÀÌ °£°ÝÀ» À¯ÁöÇÑ´Ù.
ÆûÀ» ´õ ÀÛ°Ô ÁÙÀÌ¸é ·¹ÀÌºí³¢¸® °ãÄ¡±âµµ ÇÑ´Ù. À¢¸¸Çϸé ÀÚµ¿À¸·Î
°áÁ¤Çϵµ·Ï ³»¹ö·Á µÎ´Â °ÍÀÌ Æí¸®ÇÏÁö¸¸ °Á¦·Î ÁöÁ¤Çϸé ÀÌ Áö½Ã¸¦ °¡±ÞÀû Áö۱â À§ÇØ ¾Ö¾´´Ù.
ÃàÀÇ ¸ð¾çÀ» ÁöÁ¤ÇÏ´Â ¼Ó¼ºÀº Á÷°üÀûÀÌ°í ½±´Ù. ´ëºÎºÐ »ö»óÀ̳ª ¼±¸ð¾ç, ŸÀÌÆ² µîÀÇ ¼Ó¼ºÀº ´Ü¼øÇÑ Àå½ÄÀÌ¾î¼ Äڵ带 ÀÛ¼ºÇØ º¸¸é ½±°Ô ÀÌÇØÇÒ ¼ö ÀÖ´Ù.
¼Ó¼º |
¼³¸í |
Title |
ÃàÀÇ Á¦¸ñÀÌ´Ù. |
TitleAlignment |
Á¦¸ñÀÇ Á¤·Ä ¹æÇâÀÌ´Ù. µðÆúÆ®´Â CenterÀ̸ç
Near´Â °¡±î¿î ÂÊ, Far´Â ¸ÕÂÊÀÌ´Ù. Á¿ì, »óÇϰ¡ ¾Æ´Ñ ÀÌÀ¯´Â °¡·Î, ¼¼·Î¿¡ µû¶ó ¹æÇâÀÌ ´Ù¸£°í ¿ì¿¡¼ Á·ΠÀд ·¹À̾ƿôµµ Àֱ⠶§¹®ÀÌ´Ù. |
TitleFont |
Á¦¸ñÀÇ ÆùÆ® |
TitleForeColor |
Á¦¸ñÀÇ »ö»ó |
TextOrientation |
Á¦¸ñÀÇ ¹æÇâ. µðÆúÆ®´Â Â÷Æ® ŸÀÔ¿¡ µû¶ó ÀÚµ¿À¸·Î °áÁ¤ÇÏ´Â AutoÀÌµÇ ¼öÆò, 90µµ ȸÀü,
270µµ ȸÀü, ½×±â µîÀÌ ÀÖ´Ù. |
ArrowStyle |
Ãà ³¡ÀÇ È»ìÇ¥ ¸ð¾çÀÌ´Ù. µðÆúÆ®´Â NoneÀ̸ç
LineÀº È»ìÇ¥ ¸ð¾ç, TriangleÀº »ï°¢Çü, ShartTriangleÀº ±æÂßÇÑ »ï°¢ÇüÀÌ´Ù. |
Enabled |
»ç¿ë ¿©ºÎÀÌ´Ù. ÀÌ °ªÀÌ falseÀ̸é
ÃàÀÇ ¿ä¼Ò´Â ¸ðµÎ Ç¥½ÃµÇÁö ¾Ê´Â´Ù. ÁÖÃ൵ ¾ø¾Ö ¹ö¸± ¼ö ÀÖ´Ù. |
LineColor |
¼±»ö»ó |
LineWidth |
¼± ±½±â |
LineDashStyle |
¼± ¸ð¾ç |
IsReserved |
ÃàÀÇ ¹æÇâÀ» ¹Ý´ë·Î µÚÁý´Â´Ù. |
IsMarginVisible |
Ãà ³¡¿¡ ¾à°£ÀÇ ¸¶ÁøÀ» ÁÙ °ÍÀΰ¡¸¦ ÁöÁ¤ÇÑ´Ù. |
¼±¸ð¾çÀ» ¹Ù²Ù°í Ãà¿¡ Á¦¸ñÀ» ºÙ¿© º¸ÀÚ.
ax.LineColor = Color.Green;
ax.LineWidth = 3;
ax.ArrowStyle = AxisArrowStyle.Triangle;
ay.ArrowStyle = AxisArrowStyle.Lines;
ax.Title = "³¯Â¥";
ay.Title = "Á¡¼ö";
ay.TextOrientation = TextOrientation.Horizontal;
IsReversed ¼Ó¼ºÀº ÃàÀÇ ¹æÇâÀ» ¹Ý´ë·Î µÚÁý´Â´Ù. ax.IsReversed = true; ´ëÀÔ¹®À» Ãß°¡Çϸé XÃàÀÇ
½Ã°£ÀÌ Á¿¡¼ ¿ì·Î°¡ ¾Æ´Ñ ¿ì¿¡¼ Á·ΠÁõ°¡ÇÑ´Ù.
IsMarginVisible ¼Ó¼ºÀº ³¡ ºÎºÐ¿¡ ¾à°£¾¿ ¿©¹éÀ» Áִµ¥
µðÆúÆ®´Â trueÀÌ´Ù.
ax.IsMarginVisible = false;
ay.IsMarginVisible = false;
ÀÌ °ªÀ» false·Î º¯°æÇÏ¸é ¿©¹éÀÌ »ç¶óÁö°í ³Ê¹« ²À ¸Â°Ô ±×·ÁÁ®
´ä´äÇØ º¸ÀδÙ. ´ë°³ÀÇ °æ¿ì´Â ¸¶ÁøÀÌ ÀÖ´Â °ÍÀÌ ¹«³ÇÏ´Ù. µ¥ÀÌÅÍ
¼ö°¡ ´ë´ÜÈ÷ ¸¹°í °¡ÀåÀÚ¸®ÀÇ °ªÀÌ ±×´ÙÁö Áß¿äÄ¡ ¾Ê´Ù¸é ¸¶ÁøÀ» ¾ø¾Ö´Â °ÍÀÌ º¸±â ÁÁ´Ù.
XÃàÀÇ Ã¹ Ç׸ñÀº ¸·´ë°¡ ¹ÝÀ¸·Î Àß·Á º¸À̰í YÃàÀº 100Á¡ÀÌ ¾ø´Ù. ´ëºÎºÐÀÇ
¼Ó¼ºÀº ÀÌ·± ½ÄÀ¸·Î °ªÀ» ¹Ù²ã°¡¸ç Â÷ÀÌÁ¡À» °üÂûÇØ º¸¸é ½±°Ô ÀÌÇØÇÒ ¼ö ÀÖ´Ù. ±Û¸¸ Àо µûºÐÇÏÁö¸¸
¼Ó¼ºÀ» ¹Ù²ã °¡¸ç ½Ç½ÀÇØ º¸¸é ³ª¸§ Àç¹Ìµµ ÀÖ°í ¼Ó¼ºÀÇ Àǹ̸¦ ºÐ¸íÈ÷ ¾Ë ¼ö ÀÖ´Ù.
µÎ Á¾·ùÀÇ ´Ù¸¥ ¹°¸®·®À» ÇϳªÀÇ Â÷Æ®¿¡ ³ªÅ¸³¾ ¶§´Â ÃàÀ» ºÐ¸®ÇÏ´Â °ÍÀÌ ÁÁ´Ù.
´ÙÀ½ ¿¹Á¦´Â 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;
// 1. Y º¸Á¶Ãà º¸À̱â
//chart1.ChartAreas[0].AxisY2.Enabled
= AxisEnabled.True;
// 2.½Àµµ¸¦ º¸Á¶ÃàÀ¸·Î ¿Å±ä´Ù.
//chart1.Series[2].YAxisType
= AxisType.Secondary;
// 3.º¸Á¶ÃàÀÇ ±×¸®µå¸¦ ¼û±ä´Ù.
//chart1.ChartAreas[0].AxisY2.MajorGrid.Enabled
= false;
//chart1.ChartAreas[0].AxisY2.MinorGrid.Enabled
= false;
// 4.µÎ Ãà ¸ðµÎ 0¿¡¼ ½ÃÀÛÇÏÁö ¾Êµµ·Ï ÇÑ´Ù.
//chart1.ChartAreas[0].AxisY.IsStartedFromZero
= false;
//chart1.ChartAreas[0].AxisY2.IsStartedFromZero
= false;
// 5. Á¿ìÃà¿¡ °¢°¢ ´Ù¸¥ ´ÜÀ§¸¦ Àû¿ëÇÑ´Ù.
//chart1.ChartAreas[0].AxisY.LabelStyle.Format
= "#¡É";
//chart1.ChartAreas[0].AxisY2.LabelStyle.Format
= "#'%'";
}
¼¼ °³ÀÇ ½Ã¸®Á Ãß°¡ÇÏ°í ±×¸®µå´Â È帴ÇÏ°Ô Ç¥½ÃÇß´Ù. ¿Âµµ´Â 20µµ ¾ÈÆÆ, ¿Âµµ2´Â 10µµ ÈĹݴ븦 ¿Ô´Ù °¬´Ù ÇÏ°í ½Àµµ´Â 50%´ë ºÎ±Ù¿¡ ÀÖ´Ù.
°ªÀÇ º¯È¸¦ ÆÄ¾ÇÇϴµ¥ º° ¹«¸®´Â ¾ø´Ù. ±×·¯³ª ¾Æ·¡ÂÊÀÇ ¿Âµµ³¢¸®´Â
»ó´ëÀûÀÎ Å©±â¸¦ ½±°Ô ºñ±³ÇÒ ¼ö ÀÖÁö¸¸ ÀÂÊÀÇ ½Àµµ´Â ½ßÆÇ ´Ù¸¥ ¹°¸®·®ÀÌ¾î¼ Å©±â¸¦ ºñ±³ÇÏ´Â °ÍÀÌ º° Àǹ̰¡ ¾ø´Ù.
¿Âµµ´Â ¼·¾¾ÀÌ°í ½Àµµ´Â ¹éºÐÀ²·Î ´ÜÀ§°¡ ´Þ¶ó À߸ø º¸¸é ¹«Ã´ Çò°¥¸°´Ù. ´Ù¸¸
°°Àº Â÷Æ®¿¡ ÀÖ´Ù º¸´Ï »ó´ëÀûÀÎ ºñ±³°¡ °¡´ÉÇÏ°í º¯È ÃßÀÌ¿¡ ´ëÇÑ »ó°ü °ü°èµµ »ìÆìº¼ ¼ö ÀÖ´Ù. µÑÀ»
°¢°¢ÀÇ Â÷Æ®·Î ºÐ¸®ÇØ ¹ö¸®¸é ÀÌ·± ºñ±³´Â ¾î·Á¿öÁø´Ù.
±×³ª¸¶ µÑ ´Ù °ªÀÇ ¹üÀ§°¡ 100 À̳»¿©¼ ÇÑ´«¿¡ º¸À̴µ¥ ¿Âµµ°¡
¼ö¸¸µµ ¹üÀ§¿¡ ÀÖ´Ù¸é ¹éºÐÀ²ÀÎ ½Àµµ´Â ¹Ù´Ú¿¡ ±ò·Á º¸ÀÌÁöµµ ¾ÊÀ» »Ó´õ·¯ °ÅÀÇ Á÷¼± ÇüÅ¿©¼ °ªÀÇ º¯È¸¦ ÆÄ¾ÇÇϱ⵵ ¾î·Æ´Ù. ¹üÀ§°¡ ´Ù¸¥ ½Ã¸®Á °°Àº ÁÂÇ¥ °ø°£¿¡ Ãâ·ÂÇ߱⠶§¹®ÀÌ´Ù.
ÀÌ·² ¶§´Â Ãุ ºÐ¸®ÇÏ¿© ¿ÞÂÊÃàÀº ¿Âµµ·Î, ¿À¸¥ÂÊÃàÀº ½Àµµ·Î Ç¥½ÃÇϸé
½ÃÀμºµµ ÁÁ°í µ¿ÀÏ ½ÃÁ¡¿¡ ´ëÇØ µÎ ¹°¸®·®À» °¢°¢ ºñ±³ÇØ º¼ ¼ö ÀÖ´Ù. Â÷Æ®´Â º¸Åë ¿ÞÂÊ¿¡ Y ¾Æ·¡ÂÊ¿¡ XÃàÀ» Ç¥½ÃÇÏÁö¸¸ ¿À¸¥Âʰú À§¿¡µµ º¸Á¶ÃàÀ» °¢°¢ Çϳª¾¿
°¡Áö°í ÀÖ´Ù.
Y º¸Á¶Ãุ ÁßÁ¡ÀûÀ¸·Î ¿¬±¸ÇØ º¸ÀÚ.
º¸Á¶ÃàÀº AxisY2·Î Á¦¾îÇϸç ÀÌ ÃàÀÇ Enabled ¼Ó¼ºÀ»
True·Î º¯°æÇÏ¸é ¿À¸¥ÂÊ¿¡ º¸Á¶ÃàÀ» Ç¥½ÃÇÑ´Ù. 1¹ø ÄÚµåÀÇ
ÁÖ¼®À» Ç®¾î º¸ÀÚ. ¸¶Âù°¡Áö·Î AxisX2ÃàÀ» ÄѸé À§ÂÊ¿¡
X º¸Á¶ÃàÀÌ ³ªÅ¸³´Ù.
±×·¯³ª ÃàÀ» º¸À̵µ·Ï¸¸ Çϸé Á¿ìÀÇ ÃàÀÌ °°Àº ¹üÀ§¸¦ Ç¥½ÃÇÒ »Ó ¹üÀ§°¡ ´Þ¶óÁö´Â °ÍÀº ¾Æ´Ï´Ù. °á±¹ ÀÌ ¼Ó¼ºÀº ÃàÀ» Ç¥½Ã¸¸ ÇÒ»Ó ºÐÇÒÇÑ °ÍÀÌ ¾Æ´Ï´Ù. ƯÁ¤ ½Ã¸®Á
º¸Á¶ÃàÀ¸·Î ¿Å±â·Á¸é ÇØ´ç ÃàÀÇ YAxisType ¼Ó¼ºÀ» Secondary·Î
º¯°æÇÑ´Ù. ÀÌ ¼Ó¼ºÀÇ µðÆúÆ®°¡ Primary¿©¼ º° ÁöÁ¤ÀÌ
¾øÀ¸¸é Ç×»ó ÁÖÃà¿¡ ½Ã¸®Á Ç¥½ÃÇÑ´Ù. 2¹ø ÄÚµåÀÇ ÁÖ¼®À» Ǭ´Ù.
¿Âµµ ½Ã¸®Áî´Â 0~30µµ±îÁö °ÉÄ¡°í ¿ÞÂÊÃà¿¡ Ç¥½ÃÇÑ´Ù. ½Àµµ ½Ã¸®Áî´Â 0 ~ 80ÀÇ ¹üÀ§¸¦ °¡Áö¸ç ¿À¸¥ÂÊÃà¿¡ Ç¥½ÃÇÑ´Ù. º¸Á¶Ãà¿¡ ½Ã¸®Á Ç¥½ÃÇϸé AxisY2ÀÇ º¸À̱⠼ӼºÀ» µû·Î True·Î ÁöÁ¤ÇÏÁö ¾Ê¾Æµµ ÀÚµ¿À¸·Î ÄÑÁø´Ù. µÎ ¹°¸®·®ÀÌ °¢°¢ÀÇ Ãà¿¡
¹üÀ§¸¦ Ç¥ÇöÇϹǷΠÃàÀº Àß ºÐÇÒÇߴµ¥ ¾ÆÁ÷ ¸î °¡Áö ¹®Á¦°¡ ÀÖ´Ù.
¿ì¼± ¿À¸¥ÂÊÀÇ ½Àµµ ±âÁØÀ¸·Îµµ ±×¸®µå°¡ Ç¥½ÃµÇ´Âµ¥ ÀÌ·¸°Ô µÇ¸é µÎ ½Ã¸®ÁîÀÇ ±×¸®µå°¡ Áß¾Ó¿¡ ¼¯¿© Ç¥½ÃµÇ¹Ç·Î È¥¶õ½º·´´Ù. ±×¸®µå´Â ÁÖÃàÂʸ¸ Ç¥½ÃÇÏ°í º¸Á¶ÃàÀº Ç¥½ÃÇÏÁö ¾Ê´Â °ÍÀÌ ±ò²ûÇÏ´Ù. 3¹ø
ÄÚµåÀÇ ÁÖ¼®À» Ç®¾î º¸Á¶ÃàÀÇ ±×¸®µå¸¦ ¼û°Ü º¸ÀÚ.
°ËÁ¤»ö ±×¸®µå°¡ »ç¶óÁ® ´õ ±ò²ûÇÏ´Ù. ±×·±µ¥ µÎ ±×·ìÀÇ ½Ã¸®Áî°¡ ¸ðµÎ
0ºÎÅÍ ½ÃÀÛÇϵµ·Ï µÇ¾î ÀÖ¾î ¾Æ·¡ÂÊ °ø°£ÀÌ ³¶ºñµÈ´Ù. °ª
ºÐÆ÷°¡ 1000À̳ª 10000´ÜÀ§°¡ µÇ¸é °ÅÀÇ Á÷¼±ÀÌ µÇ¾î
°ªÀÇ º¯È°¡ Àß º¸ÀÌÁöµµ ¾Ê´Â´Ù.
Áß¾Ó ¿µ¿ªÀ» Ȱ¿ëÇÏ¿© °ªÀÇ º¯È¸¦ ºÐ¸íÈ÷ Ç¥½ÃÇÏ·Á¸é ½Ã¸®ÁîÀÇ ½ÇÁ¦ ¹üÀ§´ë·Î ÃàÀÇ ¹üÀ§¸¦ ¼³Á¤ÇÏ´Â °ÍÀÌ ÁÁ´Ù. 4¹ø ÄÚµåÀÇ ÁÖ¼®À» Ç®¾î 0ºÎÅÍ ½ÃÀÛÇÏÁö ¾Êµµ·Ï ÇÑ´Ù.
¿Âµµ´Â 14~30±îÁöÀÇ ¹üÀ§¸¦ °¡Áö°í ½Àµµ´Â 45~70±îÁöÀÇ ¹üÀ§¸¦ °¡Áöµµ·Ï ÃàÀÇ ¹üÀ§¸¦ Á¶Á¤ÇÏ¿© ½Ã¸®Áî º¯È°¡ ´õ Àß º¸ÀδÙ. ½Ã¸®ÁîÀÇ ½ÇÁ¦°ª ºÐÆ÷¿¡ µû¶ó Ãà ¹üÀ§¸¦ ÀûÀýÈ÷ °áÁ¤Çϵµ·Ï µÇ¾î ÀÖ´Ù. ¸¶Áø±îÁö
¾ø¾Ö ¹ö¸®¸é ¾Æ·¡À§ °ø°£±îÁö ÀüºÎ Ȱ¿ëÇÑ´Ù.
´ÙÀ½Àº Á¿ìÃàÀÇ ·¹ÀÌºí¿¡ ´ÜÀ§¸¦ ÁöÁ¤ÇÏ¿© °¢°¢ ¿Âµµ¿Í ½ÀµµÀÓÀ» ºÐ¸íÈ÷ Ç¥½ÃÇØ º¸ÀÚ. ¿Âµµ´Â ¡É¸¦ ºÙÀÌ¸é µÇ°í ½Àµµ´Â %¸¦ ºÙÀÌµÇ ±×³É %¸¦ ºÙÀÌ¸é ¹éºÐÀ²·Î ÀνÄÇØ¼ ÀÚµ¿À¸·Î *100À» ÇØ ¹ö¸®¹Ç·Î '%'¸¦ ÀÛÀº µû¿ÈÇ¥·Î °¨½Î¾ß ÇÑ´Ù. ±×·¸Áö ¾ÊÀ¸¸é 50%¸¦ 5000%·Î Ç¥±âÇÑ´Ù.
Á¿ì ÃàºÐÇÒÀÌ Á¦´ë·Î µÇ¾ú´Ù. ¿Âµµ´Â ¿ÞÂÊÃàÀ» º¸¸é µÇ°í ½Àµµ´Â ¿À¸¥ÂÊ
ÃàÀ» º¸¸é µÇ´Ï Çò°¥¸®Áö ¾Ê°í Áß¾Ó ¿µ¿ªÀ» ÃÖ´ëÇÑ È°¿ëÇÏ¿© °ªÀÇ º¯È¸¦ Àß Ç¥ÇöÇÒ ¼ö ÀÖ´Ù.
º¸Á¶ÃàÀ» Ȱ¿ëÇÑ Ãà ºÐÇÒÀº µü 2°³±îÁö¸¸ °¡´ÉÇÏ´Ù. ±× ÀÌ»óÀ̸é ÃàÀ» ¾Æ¿¹ »õ·Î ¸¸µé¾î¾ß ÇÑ´Ù. ´ÙÀ½ ¿¹Á¦´Â ¿Âµµ 2°³¿Í ½Àµµ¸¦ À§ÇØ °¢°¢ Çϳª¾¿ÀÇ ÃàÀ» »õ·Î ¸¸µé¾î ¿ÞÂÊ¿¡ ¼ø¼´ë·Î ³ª¿ÇÑ´Ù.
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;
// Ãà °³¼ö¸¦ °í·ÁÇÏ¿© ¸ÞÀÎ ¿¡¸®¾î ¿µ¿ªÀ»
Àû´çÈ÷ Ãà¼ÒÇØ µÎ¾î¾ß ÇÑ´Ù.
ElementPosition pos = new
ElementPosition(25, 10, 50, 85);
ElementPosition inner = new
ElementPosition(10, 0, 90, 90);
ChartArea areaTemp =
chart1.ChartAreas[0];
areaTemp.Position = pos;
areaTemp.InnerPlotPosition =
inner;
// Ãà ¹üÀ§´Â 0ºÎÅÍ ½ÃÀÛÇÏÁö ¾Ê´Â´Ù.
areaTemp.AxisY.IsStartedFromZero
= false;
// ¿Âµµ2¿Í
½Àµµ¸¦ °¢°¢ÀÇ ÃàÀ» ¸¸µé¾î ¿Å±ä´Ù.
CreateYAxis(chart1, areaTemp,
chart1.Series[1], 13, 8);
CreateYAxis(chart1, areaTemp,
chart1.Series[2], 22, 8);
}
public void
CreateYAxis(Chart chart, ChartArea area, Series series, float axisOffset, float
labelsSize)
{
// ½Ã¸®Áî Ãâ·ÂÀ» À§ÇÑ ¿¡¸®¾î¸¦ Çϳª ´õ
¸¸µç´Ù. ¹è°æÀº Åõ¸íÇÏ°í ±×¸®µå, ·¹À̺íÀº »ý·«ÇÑ´Ù.
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;
// ÃàÀ» À§ÇÑ ¿¡¸®¾î¸¦ Çϳª ´õ ¸¸µç´Ù.
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());
// Ãà ¿¡¸®¾î¿¡ ½Ã¸®Áî µ¥ÀÌÅ͸¦ º¹»çÇÑ´Ù.
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]);
}
// »çº» ½Ã¸®Áî´Â Ãà ¹üÀ§ °áÁ¤¿¡¸¸ »ç¿ëÇÒ
»Ó º¸ÀÌÁö ¾Ê´Â´Ù.
seriesCopy.IsVisibleInLegend
= false;
seriesCopy.Color =
Color.Transparent;
seriesCopy.BorderColor =
Color.Transparent;
seriesCopy.ChartArea =
areaAxis.Name;
// XÃ൵ ¼û±ä´Ù.
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.Position.X -=
axisOffset;
areaAxis.InnerPlotPosition.X
+= labelsSize;
}
°¢ ½Ã¸®Á´Ù ÃàºÐÇÒÀ» À§ÇØ Ã³¸®ÇÒ Äڵ尡 ¸¹¾Æ Äڵ尡 ±æ´Ù. ÀÏ´Ü
½ÇÇà °á°úºÎÅÍ º¸ÀÚ. ¸ÞÀÎÃà¿¡ ¿Âµµ¸¦ Ç¥½ÃÇÏ°í ±× ¿ÞÂÊÃà¿¡ ¿Âµµ2, Á¦ÀÏ
¿ÞÂÊ¿¡ ½ÀµµÃàÀ» Ç¥½ÃÇÑ´Ù. ½Ã¸®Áî´Â °°Àº ¿¡¸®¾î¿¡ Ãâ·ÂÇ쵂 ÃàÀº °¢°¢ÀÌ¾î¼ ¿¡¸®¾î¸¦ µû·Î ¸¸µé¾î Æ÷°³¾ß
ÇÑ´Ù.
ÀÌ Ã³¸®¸¦ À§ÇØ ¸ÕÀú ¸ÞÀÎ ¿¡¸®¾îÀÇ ÃàÀ» Àû´çÈ÷ Ãà¼ÒÇÑ´Ù. °¡·ÎÆø
25% À§Ä¡¿¡¼ ½ÃÀÛÇØ ÆøÀº 50%·Î ÁÙ¿© ³ù´Âµ¥ ÀÌ´Â 3°³ÀÇ ÃàÀ¸·Î Âɰ³°í ¹ü·Ê ¿µ¿ª±îÁö °í·ÁÇÑ Å©±âÀÌ´Ù. ½ÇÁ¦·Î´Â ¸î °³ÀÇ
ÃàÀ» Ç¥½ÃÇÒ °ÍÀÎÁö, Ãà »çÀÌÀÇ °£°ÝÀº ¾î´À Á¤µµ·Î ÇÒ °ÍÀαîÁö °í·ÁÇØ¼ ¸ÞÀÎ ¿µ¿ªÀ» °áÁ¤ÇØ¾ß ÇÑ´Ù.
¹®Á¦´Â Form_Load¿¡¼´Â Ãʱ⠿µ¿ª Å©±â¸¦ ¾Ë ¼ö ¾øÀ¸¸ç ±×·¡¼
Àû´çÇÑ »ó¼ö¸¦ °¡Á¤ÇÒ ¼ö¹Û¿¡ ¾ø´Ù. ÀÏ´Ü ´ÜÀÏÃàÀ¸·Î ±×¸° ÈÄ Ãʱ⠿µ¿ªÀ» ½ÇÇàÁß¿¡ Á¶»çÇÏ¿© ºÐÇÒÇÏ´Â
¹æ¹ýµµ °¡´ÉÇ쵂 Ãà ºÐÇÒ ±¤°æÀÌ »ç¿ëÀÚ ´«¿¡ º¸¿© ±ò²ûÇÏÁö ¸øÇÏ´Ù.
2°³ ÀÌ»óÀÇ ÃàÀ» ºÐÇÒÇÒ ¿¹Á¤À̹ǷΠCreateYAxis ¸Þ¼µå¸¦ µû·Î ¸¸µé¾î µÎ¾ú´Ù. ÀÌ ¸Þ¼µå´Â chartÀÇ area¸¦ ¸ÞÀÎÀ¸·Î Çϰí series¸¦ À§ÇÑ º°µµÀÇ ÃàÀ» ¸¸µéµÇ ¿ÞÂÊÀ¸·Î axisOffset¸¸Å
À̵¿ÇÑ´Ù. ºÐÇÒÇÒ ½Ã¸®ÁîÀÇ °³¼ö¸¸Å ÀÌ ¸Þ¼µå¸¦ È£ÃâÇÑ´Ù.
½Ã¸®Áî ÇϳªÀÇ ÃàÀ» ¸¸µé±â À§ÇØ 2°³ÀÇ ¿¡¸®¾î°¡ ´õ ÇÊ¿äÇÏ´Ù. ù ¹øÂ°´Â ½Ã¸®Áî Ãâ·ÂÀ» À§ÇÑ ¿¡¸®¾îÀε¥ ÃàÀ» ºÐÇÒÇϸé YÃà ¹üÀ§°¡
´Þ¶óÁö¹Ç·Î ¸ÞÀÎ ¿¡¸®¾î°¡ ¾Æ´Ñ °íÀ¯ÀÇ ¿¡¸®¾î°¡ ÀÖ¾î¾ß ÇÑ´Ù.
´Ü, ÀÌ ¿¡¸®¾î´Â ½Ã¸®Áî Çϳª¸¦ Ç¥½ÃÇϱâ À§ÇÑ ¿µ¿ªÀÏ »ÓÀ̹ǷΠ¹è°æ»ö, °æ°è»ö, ±×¸®µå, ·¹À̺í
µî ¾î¶² °Íµµ ¾ø¾î¾ß ÇÏ¸ç ¸ÞÀÎ ¿¡¸®¾î¿Í ¶È°°Àº ¿µ¿ª¿¡ Æ÷°³¾î ¹èÄ¡ÇÑ´Ù. ÀÌ ¿¡¸®¾î·Î ½Ã¸®Á ¿Å°Ü
Ç¥½ÃÇÑ´Ù.
´ÙÀ½Àº ÃàÀ» À§ÇÑ ¿¡¸®¾î¸¦ Çϳª ´õ ¸¸µé°í ¿©±â¿¡ ½Ã¸®ÁîÀÇ »çº» µ¥ÀÌÅ͸¦ º¹»çÇØ µî·ÏÇÑ´Ù. ÀÌ »çº» ½Ã¸®Áî´Â Ãà ¹üÀ§ °áÁ¤À» À§Çؼ¸¸ ¾²ÀÏ »Ó ½ÇÁ¦ Ãâ·ÂÇÏÁö´Â ¾Ê´Â´Ù.
À§ ±×¸²¿¡¼ ¿Âµµ2ÀÇ ÃàÀÌ 14~24ÀÇ ¹üÀ§¸¦
°®´Â °ÍÀº ³ë¶õ»öÀÇ ¿Âµµ2 ½Ã¸®Áî »çº»¿¡ ÀÇÇØ ÀÚµ¿ °áÁ¤ÇÑ °ÍÀÌ´Ù.
¿Âµµ2 ½Ã¸®Áî ÀÚü´Â ¸ÞÀÎ ¿¡¸®¾î À§¿¡ Æ÷°³Áø ChartArea_¿Âµµ2 À§¿¡ Ç¥½ÃÇϰí ÀÌ ½Ã¸®ÁîÀÇ ÃàÀº AxisY_¿Âµµ2¿¡ Ç¥½ÃÇÏ´Â ½ÄÀÌ´Ù.
Ãà ½Ã¸®Áî´Â AxisY ¿Ü¿¡´Â ¸ðµç °ÍÀÌ Åõ¸íÇÏ¸ç ½Ã¸®Áî ÀÚüµµ Åõ¸íÀ¸·Î Ç¥½ÃÇÏÁö ¾Ê´Â´Ù. ÀÌ·¸°Ô ¸¸µç Ãà ¿¡¸®¾î¸¦ ¿ÀÇÁ¼Â¸¸Å ¿ÞÂÊÀ¸·Î ¿Å±ä´Ù.
´ÙÀ½Àº ½Àµµ ½Ã¸®Áîµµ ¶È°°Àº ¹æ½ÄÀ¸·Î ÃàÀ» Çϳª ´õ ¸¸µç´Ù. ¿Âµµ2 ½Ã¸®Áî´Â ¿ÞÂÊÀ¸·Î 13¸¸Å ¿Å±â´Âµ¥ ºñÇØ ½Àµµ ½Ã¸®Áî´Â 22¸¸Å ¿Å°Ü ´õ ¿ÞÂÊ¿¡ Ç¥½ÃÇÑ´Ù. ½Àµµ´Â 45~70ÀÇ Àڱ⠹üÀ§¸¦ °¡Áø´Ù.
ÀÌ ÄÚµå´Â mschart ¿¹Á¦¿¡ ÀÖ´Â °ÍÀ» ±×´ë·Î °¡Á®¿Í Çѱ۸¸ ÁÖ¼®À¸·Î
Á¤¸®ÇÑ °ÍÀÌ´Ù. CreateYAxis ÇÔ¼ö´Â ¿øÇü ±×´ë·ÎÀÌ¸ç ¸ÖÆ¼ÃàÀ» ³ª´©´Â ÀüÇüÀûÀÎ ¹æ¹ýÀ» Àß º¸¿©
ÁØ´Ù.
±×·¯³ª ½Ç¹«¿¡¼´Â À̰ɷδ Åõµ ¾ø´Ù. ÀÓÀÇÀÇ °³¼ö¸¸Å Á¿ì·Î ¿¡¸®¾î¸¦
¸¸µé¾î¾ß ÇÏ°í ½ÇÇàÁß¿¡ ÃàÀ» º´ÇÕÇϰųª Âɰ¶ ¼öµµ ÀÖ°í °¢ ½Ã¸®ÁîÀÇ Ãà ¹üÀ§¸¦ ¼öµ¿À¸·Îµµ Á¶Á¤Çϱ⵵ ÇÑ´Ù. ±×·¯·Á¸é
´Ù·®ÀÇ Äڵ尡 ´õ ÇÊ¿äÇÑ´Ù.
ÀÌ ¿¹Á¦ÀÇ ¸ÞÀÎ ¿¡¸®¾î ¿µ¿ªÀÎ (25, 10, 50, 85)Àº ¾îµð±îÁö³ª
ÀÓÀǰªÀÏ »ÓÀÌ¸ç ·±Å¸ÀÓ¿¡ °è»êÇØ¾ß ÇÑ´Ù. ¶Ç °¢ ÃàÀÇ ¿ÞÂÊ ¿ÀÇÁ¼Âµµ 13,
28·Î ´ëÃæ Àâ¾Æ¼´Â ¾ÈµÇ¸ç ½Ã¸®Áî °³¼ö¿¡ µû¶ó ´©ÀûÀûÀ¸·Î °ü¸®ÇØ¾ß ÇÑ´Ù. ÀÌ °è»êÀÌ ¿¹»ó¿Ü·Î
º¹ÀâÇÏ°í ±î´Ù·Ó´Ù.
¶Ç ÀÌ·¸°Ô ¸ÖƼÃàÀ¸·Î Âɰ³ ¹ö¸®¸é °¢ ½Ã¸®Áî¿Í ÃàÀÇ ´ëÀÀ °ü°è¸¦ ã±âµµ ½±Áö ¾Ê´Ù. 3°³ Á¤µµ´Â ´ëÃæ ¾Ë ¼ö ÀÖÁö¸¸ 5°³¸¦ ³Ñ¾î°¡¸é ½Äº°ÀÌ ¾î·Æ´Ù. ±×·¡¼ ÃàÀÇ »ö»óµµ ½Ã¸®ÁîÀÇ »ö»ó°ú ¸ÂÃç ÁÖ´Â °ÍÀÌ ÁÁ´Ù.
±×·¯·Á¸é °¢ ½Ã¸®ÁîÀÇ »ö»óºÎÅÍ ¼öµ¿À¸·Î ÁöÁ¤ÇØ¾ß ÇÑ´Ù. ÀÚµ¿À¸·Î ¼øÈ¯ÇÏ´Â
»ö»óÀº Á¦¾î°¡ ¾î·Æ°í ÀÏÁ¾ÀÇ Åõ¸íÀÌ¾î¼ ÀÌ »ö»óÀ¸·Î´Â Ãà »ö»óÀ» ÁöÁ¤ÇÒ ¼ö ¾ø´Ù. ¼¼ ½Ã¸®ÁîÀÇ »ö»óÀ»
ÁöÁ¤ÇÑ ÈÄ Ãà »ý¼º½Ã ½Ã¸®Áî »öÀ¸·Î ÁöÁ¤ÇÑ´Ù.
private void Form1_Load(object sender, EventArgs
e)
{
....
chart1.Series[0].Color
= Color.Blue;
chart1.Series[1].Color
= Color.Yellow;
chart1.Series[2].Color
= Color.Red;
....
public void CreateYAxis(Chart chart, ChartArea
area, Series series, float axisOffset, float labelsSize)
{
....
areaAxis.AxisY.LineColor
= series.Color;
areaAxis.AxisY.MajorTickMark.LineColor
= series.Color;
areaAxis.AxisY.LabelStyle.ForeColor
= series.Color;
°¢ ½Ã¸®Áî¿¡ ´ëÇØ ÆÄ¶û, ³ë¶û, »¡°À»
ÁöÁ¤Çß´Ù. ÃàÀ» ¸¸µé ¶§ Ãà°ú ƽ ¸¶Ä¿, ·¹À̺í±îÁöµµ ÀÌ
»ö»óÀ¸·Î ÁöÁ¤ÇØ¾ß ÇÑ´Ù. ½ÇÇà °á°ú´Â ´ÙÀ½°ú °°´Ù. ÀÌ·¸°Ô
µÇ¸é ±»ÀÌ ¹ü·Ê´Â ¾ø¾îµµ »ó°ü ¾ø´Ù. ¸ÞÀÎÃà »ö»óµµ ÆÄ¶õ»öÀ¸·Î ¹Ù²Ù¸é ´õ ÁÁ°ÚÀ¸³ª ¸ÞÀο¡ ¿©·¯ °³ÀÇ
½Ã¸®Áî°¡ ÀÖÀ» ¼öµµ ÀÖ¾î ±×·¸°Ô±îÁö´Â ÇÏÁö ¾Ê¾Ò´Ù.
ÀÌ»óÀ¸·Î ¸ÖƼÃà¿¡ ´ëÇÑ ¿¹Á¦¸¦ ¼Ò°³Çߴµ¥ ½Ç¹«¿¡¼ À̸¦ Á¦´ë·Î °ü¸®ÇÏ°í ´Ù·ç±â°¡ ½±Áö ¾Ê¾Ò´Ù. º°º° ÈñÇÑÇÑ ¿ä±¸°¡ ´Ù ³ª¿Í Á¤È®ÇÏ°Ô ±¸ÇöÇϱ⠴ë´ÜÈ÷ ¾î·Á¿ì¸ç ´õ±¸³ª ¿ä±¸°¡ ÀÚÁÖ ¹Ù²î¾î ¾Ö¸¦ ¸Ô¾ú´Ù.
ÃàÀ» ºÐÇÒÇØ ³õÀ¸¸é ¹º°¡ ÀÖ¾î º¸À̱⵵ ÇÏ°í ¸ÚÁ® º¸ÀÌ´Â È¿°ú´Â ÀÖÁö¸¸ »ç½Ç »ç¿ëÀÚ ÀÔÀå¿¡¼´Â ¹«Ã´ Çò°¥¸®´Â
Â÷Æ®ÀÌ´Ù. µü ÁÂ¿ì ¾çÂÊÀ¸·Î¸¸ ºÐÇÒÇÏ°í µÎ °³ÀÇ ±×·ì¸¸ Ç¥½ÃÇÏ´Â°Ô Á¦ÀÏ ÇÕ¸®ÀûÀÌ´Ù.
·¹À̺íÀÇ ¼Ó¼ºÀº ÃàÀÇ LabelStyle ¼Ó¼ºÀ¸·Î Á¶Á¤Çϸç ÀÌ´Â ¶Ç
´Ù¸¥ °´Ã¼ÀÌ´Ù. LabelStyleÀÇ ¸â¹ö´Â ´ÙÀ½°ú °°´Ù.
¼Ó¼º |
¼³¸í |
Format |
·¹À̺íÀÇ Æ÷¸ËÀÌ´Ù. ½Ã°£ÀÎ °æ¿ì yyyy-MM-dd
HH:mm:ss ½ÄÀ¸·Î ½Ã°£ ¿ä¼Ò¸¦ Æ÷¸ËÆÃÇÑ´Ù. ½Ç¼ö´Â 0#.## ½ÄÀ¸·Î ¼±Çà Á¦·Î¿Í ¼Ò¼öÁ¡ ÀÌÇÏÀÇ Á¤¹Ðµµ¸¦ ÁöÁ¤ÇÑ´Ù. |
Font |
·¹À̺íÀÇ ÆùÆ®¸¦ ÁöÁ¤ÇÑ´Ù. |
ForeColor |
·¹À̺íÀÇ »ö»óÀ» ÁöÁ¤ÇÑ´Ù. µðÆúÆ®´Â °ËÁ¤»öÀÌ´Ù. |
Enabled |
·¹À̺í Ç¥½Ã ¿©ºÎ¸¦ ÁöÁ¤ÇÑ´Ù. falseÀÌ¸é ·¹À̺íÀ» ¼û±ä´Ù. |
Angle |
·¹À̺íÀÇ °¢µµ¸¦ ÁöÁ¤ÇÑ´Ù. |
Interval |
·¹À̺íÀÇ °£°Ý |
IntervalType |
°£°ÝÀÇ Å¸ÀÔ |
IntervalOffset |
·¹À̺íÀÇ ½ÃÀÛÁ¡ |
IntervalOffsetType |
·¹ÀÌºí ½ÃÀÛÁ¡ÀÇ Å¸ÀÔ |
IsEndLabelVisible |
¸¶Áö¸· ·¹À̺í Ç¥½Ã ¿©ºÎ |
IsStaggered |
·¹À̺íÀ» Áö±×Àç±×·Î °è´Ü ÇüÅ·Πǥ½ÃÇÒ °ÍÀÎÁö¸¦ ÁöÁ¤ÇÑ´Ù. |
TruncatedLabels |
·¹À̺íÀÇ ÀϺΰ¡ Àß·Áµµ »ó°ü ¾ø´ÂÁö ÁöÁ¤ÇÑ´Ù. |
·¹À̺íÀÌ ¹®ÀÚ¿À̱⠶§¹®¿¡ ÆùÆ®¿Í °ü·ÃµÈ ¼Ó¼ºÀÌ ¸¹´Ù. ´ÙÀ½ Äڵ带
ÀÛ¼ºÇØ º¸ÀÚ.
ax.LabelStyle.Format = "HH½Ã mmºÐ";
ax.LabelStyle.Font = new Font("±Ã¼", 15);
ax.LabelStyle.ForeColor = Color.Red;
ax.LabelStyle.Angle = -45;
·¹ÀÌºí¿¡ ÇѱÛÀÌ ±Ã¼Ã¼ »¡°£»öÀ¸·Î Ç¥½ÃµÇ¸ç °¢µµ¸¦ 45µµ·Î ±â¿ï¿©
Ç¥½ÃÇÑ´Ù.
-90À¸·Î °¢µµ¸¦ ÁöÁ¤ÇÏ¸é ¼öÁ÷À¸·Î ·¹À̺íÀ» Ç¥½ÃÇÑ´Ù. IsStaggered ¼Ó¼ºÀ» true·Î ÁöÁ¤ÇÏ¸é °¢µµ ¼Ó¼ºÀº ¹«½ÃµÇ¸ç
·¹À̺íÀÌ 2ÃþÀ¸·Î °è´ÜÀ» ÀÌ·ç¾î Ç¥½ÃµÈ´Ù. ÀÌó¸§ ¼Ó¼º³¢¸®
»óÈ£ ¹èŸÀûÀÎ °æ¿ìµµ ÀÖ´Ù.
ax.LabelStyle.IsStaggered = true;
Interval°ú IntervalType
¼Ó¼ºÀº Ãà ÀÚü¿¡µµ ÀÖ°í ·¹ÀÌºí¿¡µµ Àִµ¥ ÀÌ µÎ ¼Ó¼ºÀº Àû¿ëµÇ´Â °÷ÀÌ ´Ù¸£´Ù. ÃàÀÇ ¼Ó¼ºÀº
ƽ ¸¶Å©¿Í ±×¸®µå, ·¹ÀÌºí µî¿¡ ¸ðµÎ Àû¿ëµÇ´Âµ¥ ºñÇØ ·¹À̺íÀÇ ¼Ó¼ºÀº ·¹ÀÌºí¿¡¸¸ Áö¿ªÀûÀ¸·Î Àû¿ëµÈ´Ù. ´ÙÀ½ ÄÚµå·Î È®ÀÎÇØ º¸ÀÚ.
ax.IntervalType = DateTimeIntervalType.Minutes;
ax.Interval = 2;
ax.LabelStyle.IntervalType =
DateTimeIntervalType.Minutes;
ax.LabelStyle.Interval = 5;
ÃàÀÇ °£°ÝÀº 2ºÐÀ¸·Î ÁöÁ¤ÇÏ°í ·¹À̺íÀÇ °£°ÝÀº 5ºÐÀ¸·Î ÁöÁ¤Çß´Ù. Ãâ·Â ÇüŸ¦ Àß °üÂûÇØ º¸ÀÚ.
ƽ¸¶Å©¿Í ±×¸®µå´Â 2ºÐ¿¡ Çϳª¾¿ Ç¥½ÃµÇÁö¸¸ ·¹À̺íÀº 5ºÐ¿¡ Çϳª¾¿ Ç¥½ÃµÈ´Ù. ƽ¸¶Å©´Â 3ºÐ¿¡
Çϳª¾¿ Ç¥½ÃÇÏ°í ·¹À̺íÀº 1ºÐ¿¡ Çϳª¾¿ Ç¥½ÃÇÒ ¼öµµ ÀÖ´Ù.
IntervalOffsetÀº ·¹À̺íÀÇ ½ÃÀÛÁ¡À» ÁöÁ¤ÇÑ´Ù. ÀÌ ¼Ó¼ºÀÇ Àǹ̸¦ ¾Ë¾Æ º¸·Á¸é °£°ÝÀÌ Á» ÀÖ¾î¾ß ÇÑ´Ù. ·¹À̺íÀÇ
°£°ÝÀ» 3ºÐÀ¸·Î ÁöÁ¤ÇÏ¸é ´ÙÀ½°ú °°ÀÌ Ç¥½ÃµÈ´Ù.
Á¤°¢, 3ºÐ, 6ºÐ, 9ºÐ ½ÄÀ¸·Î ·¹À̺íÀÌ Ç¥½ÃµÇ´Âµ¥ ÀÌ °æ¿ì´Â ¿ÀÇÁ¼ÂÀÌ 0ÀÌ´Ù. ¿ÀÇÁ¼ÂÀ» ÁöÁ¤ÇÏ¸é ±×¸¸Å °Ç³Ê¶Ú ÈÄ ·¹À̺íÀ» Ç¥½ÃÇÑ´Ù.
ax.IntervalOffset = 1;
ax.IntervalOffsetType =
DateTimeIntervalType.Minutes;
IntervalOffsetÀ» 1·Î
ÁöÁ¤Çϸé Á¦ÀÏ Ã³À½ºÎÅÍ 1ºÐ °Ç³Ê ¶Ù°í 3ºÐ °£°ÝÀ¸·Î ·¹À̺íÀ»
Ç¥½ÃÇÑ´Ù.
1ºÐ, 4ºÐ, 7ºÐ ½ÄÀ¸·Î ·¹À̺íÀÌ Ç¥½ÃµÈ´Ù. 2·Î ÁöÁ¤Çϸé 2, 5, 8 ½ÄÀ¸·Î Áõ°¡Çϸç 3À¸·Î ÁöÁ¤Çϸé 0À¸·Î ÁöÁ¤ÇÑ °Í°ú °°´Ù. IntervalOffset ¼Ó¼ºÀº Ãà ÀÚü¿¡µµ
ÀÖ¾î Æ½ ¸¶Å©¿Í ±×¸®µåÀÇ ½ÃÀÛÁ¡µµ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.
ÃàÀÇ MajorGrid, MinorGird ¼Ó¼ºÀº ÁÖ ±×¸®µå¿Í º¸Á¶
±×¸®µåÀÇ ¼Ó¼ºÀ» ÁöÁ¤ÇÑ´Ù. µÎ ¼Ó¼º ¸ðµÎ Grid °´Ã¼À̸ç
´ÙÀ½ ¼Ó¼ºÀ» °¡Áø´Ù.
Enabled, Interval, IntervalType, IntervalOffset,
IntervalOffsetType, LineColor, LineDashStyle, LineColor
´õ ¼³¸íÀÌ ÇÊ¿ä ¾øÀ» Á¤µµ·Î Á÷°üÀûÀÌ¸ç ¾Õ¿¡¼ ´Ù ½Ç½ÀÇß´ø °ÍÀÌ´Ù. µðÆúÆ®·Î
MajorGrid¸¸ °ËÁ¤»ö ½Ç¼±À¸·Î Ç¥½ÃÇÏ¸ç °£°ÝÀº ÃàÀÇ ¼³Á¤À» µû¸¥´Ù. ±×·¡¼ Â÷Æ® ¿µ¿ª¿¡ ¹ÙµÏÆÇ ¸ð¾çÀÇ ±×¸®µå°¡ Ç¥½ÃµÈ´Ù. ±×¸®µåÀÇ ¼Ó¼ºÀ»
º¯°æÇϸé ÀÌ ¸ð¾çÀ» ¾ó¸¶µçÁö ¿øÇϴ´ë·Î ¹Ù²Ü ¼ö ÀÖ´Ù.
ax.MajorGrid.Enabled = false;
ay.MajorGrid.LineWidth = 2;
ay.MajorGrid.Interval = 40;
ay.MinorGrid.Enabled = true;
ay.MinorGrid.Interval = 10;
ay.MinorGrid.LineDashStyle = ChartDashStyle.Dot;
ay.MinorGrid.LineColor = Color.Gray;
XÃàÀÇ ±×¸®µå´Â ¾Æ¿¹ ¾ø¾Ö ¹ö·È´Ù.
YÃàÀº 40 °£°ÝÀ¸·Î 2 Çȼ¿ µÎ²²·Î ÁÖ ±×¸®µå¸¦
±ß°í º¸Á¶ ±×¸®µå´Â ȸ»öÀÇ ¾ãÀº Á¡¼±À¸·Î 10 °£°ÝÀ¸·Î ±×·È´Ù. ±×¸®µå´Â
¾îµð±îÁö³ª Â÷Æ®¸¦ º¸±â ÆíÇÏ°Ô ÇØ ÁÖ´Â º¸Á¶¼±À̹ǷΠ³Ê¹« ¿ä¶õÇÏÁö ¾Ê´Â °ÍÀÌ ¹Ù¶÷Á÷ÇÏ´Ù.
ƽ¸¶Å©ÀÇ ±¸Á¶µµ ±×¸®µå¿Í °ÅÀÇ À¯»çÇÏ´Ù. ÃàÀÇ MajorTickMark, MinotTickMark ¼Ó¼ºÀ¸·Î ÆíÁýÇÏ¸ç µÑ ´Ù TickMark
°´Ã¼ÀÌ´Ù. ÀÌ Å¬·¡½ºÀÇ ¼Ó¼ºµµ ±×¸®µå¿Í À¯»çÇ쵂 ´ÙÀ½ ¼Ó¼ºÀÌ ´õ ÀÖ´Ù.
TickMarkStyle : ƽ
¸¶Å©¸¦ ¹èÄ¡ÇÒ ¹æÇâÀ» ÁöÁ¤ÇÑ´Ù. µðÆúÆ®´Â OutsideArea¿©¼
¿¡¸®¾î ¹Ù±ùÀ¸·Î »ßÁ® ³ª¿ÀÁö¸¸ InsideArea·Î ¹Ù²Ù¸é ¿¡¸®¾î ¾ÈÂÊ¿¡ Ç¥½ÃµÇ¸ç AcrossAxis´Â ¾çÂÊ¿¡ Ç¥½ÃµÈ´Ù. NoneÀº ƽ¸¶Å©¸¦ Ç¥½ÃÇÏÁö
¾Ê´Â´Ù.
Size : ƽ¸¶Å©ÀÇ Å©±â¸¦
ÁöÁ¤ÇÑ´Ù. Â÷Æ® À̹ÌÁö¿¡ ´ëÇÑ ¹éºÐÀ²·Î ÁöÁ¤ÇÑ´Ù. µðÆúÆ®´Â
1.0ÀÌ¸ç Æø°ú ³ôÀÌÀÇ 1% ºñÀ²·Î ƽ¸¶Å©¸¦ ±×¸°´Ù.
´ÙÀ½ ÄÚµå·Î ƽ¸¶Å©¸¦ ÇÁ·Î±×·¡¹ÖÇØ º¸ÀÚ.
ax.MajorTickMark.Enabled = false;
ay.MajorTickMark.Interval = 50;
ay.MajorTickMark.LineWidth = 3;
ay.MajorTickMark.LineColor = Color.Red;
ay.MajorTickMark.Size = 3;
ay.MinorTickMark.Enabled = true;
ay.MinorTickMark.Interval = 10;
ay.MinorTickMark.TickMarkStyle =
TickMarkStyle.InsideArea;
XÃà Æ½¸¶Å©´Â ¾Æ¿¹ ¾ø¾Ö ¹ö·È´Ù.
YÃàÀº 50 °£°ÝÀ¸·Î »¡°£»öÀÇ ±½±â 3, Â÷Æ®
³ÊºñÀÇ 3% ±æÀÌ·Î ÁÖÆ½¸¶Å©¸¦ ¹èÄ¡Çϰí 10 °£°ÝÀ¸·Î º¸Á¶
ƽ¸¶Å©¸¦ ¿¡¸®¾î ¾ÈÂÊ¿¡ ¹èÄ¡Çß´Ù.
ÃàÀÌ Ç¥ÇöÇÏ´Â ¹üÀ§´Â µé¾î¿À´Â µ¥ÀÌÅÍ¿¡ µû¶ó ÀÚµ¿À¸·Î °áÁ¤ÇÏ¸ç ´ë°³ÀÇ °æ¿ì Â÷Æ®°¡ ¾Ë¾Æ¼ ¼³Á¤Çϵµ·Ï ³»¹ö·Á µÎ´Â
°ÍÀÌ ¹«³ÇÏ´Ù. ¿ì¸®ÀÇ ¿¹¿¡¼´Â XÃàÀÌ 9½Ã Á¤°¢ ~ 9½Ã 19ºÐ±îÁöÀ̰í
YÃàÀº 10 ~ 100±îÁöÀÇ Á¡¼ö°ªÀÌ´Ù. ±×·¡¼ ÀÌ ¹üÀ§¿¡ ¸Â°Ô ¾çÃàÀÇ ¹üÀ§¸¦ ¾Ë¾Æ¼ ÁöÁ¤ÇÑ´Ù.
°ªÀÇ ¹üÀ§¿¡ ³Ê¹« ²À ¸Â°Ô Ãà¹üÀ§¸¦ ¼³Á¤ÇÏ¸é ¿©À¯°¡ ¾ø¾î ¾à°£ÀÇ ¿©ºÐÀ» ´õÇϴµ¥ IsMarginVisible ¼Ó¼ºÀ¸·Î ¿©ºÐÀ» ÁÙ °ÍÀΰ¡¸¦ ÁöÁ¤ÇÑ´Ù. ÀÌ
¿Ü¿¡µµ ÃàÀÇ ¹üÀ§¸¦ ¼³Á¤ÇÏ´Â ¿©·¯ °¡Áö ¼Ó¼ºÀÌ ÀÖ´Ù. Y°ªÀÇ ¹üÀ§¸¦ ´ÙÀ½°ú °°ÀÌ ¹Ù²Ù¾î º¸ÀÚ.
for (int i = 0;i<20;i++)
{
chart1.Series[0].Points.AddXY(dt,
R.Next(10, 100) + 100);
dt
= dt.AddMinutes(1);
}
¿ø·¡´Â 10~100±îÁö¿´Áö¸¸ ¿©±â¿¡ 100À» ´õÇØ 110 ~ 200±îÁö·Î ¹üÀ§¸¦ ¼öÆò À̵¿½ÃÄ×´Ù.
°ªÀÌ ¸ðµÎ À§·Î 100¸¸Å ¼öÆò À̵¿ÇÏ¿© ¾Æ·¡ÂÊÀº ´Ù °¡µæÂ÷ ÀÖ´Â
¸ð¾çÀÌ´Ù. 100 ÀÌÇÏÀÇ °ªÀÌ ¾ø´Âµ¥ YÃàÀÇ ¹üÀ§¸¦ 0 ~ 200À¸·Î Àâ´Â °ÍÀº °ø°£À» ³¶ºñÇÑ´Ù. ¸¸¾à °ªÀÌ 1000 ~ 1100 »çÀÌ¿¡ ºÐÆ÷ÇÑ´Ù¸é ³¶ºñ´Â ´õ ½ÉÇØÁö°í ½Ã°£º° °ªÀÇ Â÷À̵µ ºÐ¸íÈ÷ º¸ÀÌÁö ¾ÊÀ» °ÍÀÌ´Ù.
Â÷Æ®´Â ¸ðµç °ªÀÌ ¾ç¼öÀÌ¸é ¹üÀ§ÀÇ ½ÃÀÛÀ» Ç×»ó 0ºÎÅÍ ½ÃÀÛÇϵµ·Ï µÇ¾î
ÀÖ´Ù. °ª Áß¿¡ À½¼ö°¡ ÀÖ´Ù¸é °¡Àå ÀÛÀº °ªÀ» ½ÃÀÛ°ªÀ¸·Î Àâ´Â´Ù. ÀÌ·±
µ¿ÀÛÀº IsStartedFromZero ¼Ó¼ºÀ¸·Î Á¦¾îÇϸç ÀÌ °ªÀÇ µðÆúÆ®°¡ trueÀÌ´Ù. ÀÌ ¼Ó¼ºÀ» false·Î º¯°æÇϸé 0ÀÌ
¾Æ´Ñ Àû´çÇÑ ½ÃÀÛÁ¡À» ¼±Á¤ÇÑ´Ù.
ay.IsStartedFromZero = false;
YÃàÀÇ ½ÃÀÛÁ¡ÀÌ 100À¸·Î
¼³Á¤µÈ´Ù. ²À 0À» ½ÃÀÛÁ¡À¸·Î ÇÏÁö ¾Ê°í ½ÇÁ¦ µ¥ÀÌÅͰ¡ Á¸ÀçÇÏ´Â
±¸°£À» ºÐ¼®ÇÏ¿© Àû´çÇÑ ¹üÀ§¸¦ Àâ´Â´Ù. 110~200 »çÀÌÀ̸é 100
~ 200 Á¤µµÀÇ ¹üÀ§°¡ ÇÕ´çÇÏ´Ù. IsMarginVisible ¼Ó¼º±îÁö false·Î ÁöÁ¤Çϸé Á¤¸» µ¥ÀÌÅͰ¡ ½ÇÁ¸ÇÏ´Â ºÎºÐ¸¸ ¹üÀ§·Î ¼³Á¤ÇÑ´Ù.
ÃÖ¼Ò°ªÀÎ 113 ~ ÃÖ´ë°ªÀÎ 199±îÁö
¹üÀ§·Î ¼³Á¤µÈ´Ù. °ø°£À» °¡µæ ä¿ö¼ ¾Ë¶ãÇÏ°Ô ¾²±â´Â ÇÏÁö¸¸ YÃàÀÇ
·¹À̺íÀÌ µü ¶³¾îÁöÁö ¾Ê¾Æ ¹Ì°ü»ó ÁÁÁö ¾Ê°í XÃàÀÇ Á¦ÀÏ ¸¶Áö¸·ÀÎ 113°ªÀº
¾Æ¿¹ ¸·´ë°¡ ±×·ÁÁöÁö ¾Ê¾Æ ¾ø´Â °Íó·³ º¸ÀδÙ.
ÃàÀÇ ¹üÀ§´Â Axis °´Ã¼ÀÇ Minimum,
Maximum ¼Ó¼ºÀ¸·Î Á¶Á¤ÇÑ´Ù. µÎ ¼Ó¼º ¸ðµÎ µðÆúÆ®´Â NaNÀ̸ç Â÷Æ®°¡ ¾Ë¾Æ¼ °áÁ¤Çϵµ·Ï µÇ¾î ÀÖ´Ù. ¹üÀ§¸¦ Á÷Á¢ ÁöÁ¤ÇÏ·Á¸é
µÎ ¼Ó¼º¿¡ ¿øÇÏ´Â ÃÖ¼Ò°ª°ú ÃÖ´ë°ªÀ» ÁöÁ¤ÇÑ´Ù. °ª »ý¼º¹®ÀÇ +100À»
Á¦°ÅÇÏ¿© 10 ~ 100 »çÀÌÀÇ °ªÀ» »ý¼ºÇϰí YÃàÀÇ ¹üÀ§¸¦
´ÙÀ½°ú °°ÀÌ Á÷Á¢ ÁöÁ¤ÇØ º¸ÀÚ.
ay.Minimum = -20;
ay.Maximum = 200;
¹üÀ§¸¦ Á÷Á¢ ÁöÁ¤Çϸé 0ºÎÅÍ ½ÃÀÛ,
¿©¹é µîÀÇ ´Ù¸¥ ¸ðµç ¼Ó¼ºÀº ¹«½ÃÇϰí ÁöÁ¤ÇÑ ÃÖ¼Ò°ª°ú ÃÖ´ë°ªÀÇ ¹üÀ§¸¦ °Á¦·Î Àû¿ëÇÑ´Ù. ÃÖ¼Ò°ªÀÌ
-20ÀÌ´Ù º¸´Ï ¸·´ëÀÇ ¾Æ·¡ÂÊÀº ºñ¾î ÀÖ°í ÃÖ´ë°ªÀÌ 200À̾î¼
100 ÀÌ»óÀÇ °ø°£µµ ºñ¾î ÀÖ¾î ½Ã¿ø½º·´±â´Â ÇÏ´Ù. °ªÀÇ
¹üÀ§º¸´Ù ´õ Á¼°Ô ¼³Á¤ÇÒ ¼öµµ ÀÖ´Ù.
ay.Minimum = 30;
ay.Maximum = 50;
½ÇÁ¦°ªº¸´Ù ¹üÀ§¸¦ ´õ Á¼°Ô ÀâÀ¸¸é ¾Æ·¡ À§°¡ À߸°´Ù. 30º¸´Ù ÀÛÀº
°ªÀº ¸ðµÎ ¸·´ë°¡ »ý·«µÇ¾î ½ÇÁ¦°ªÀ» ¾Ë ¼ö ¾øÀ¸¸ç 50º¸´Ù ´õ Å« °ªÀº ¸ðµÎ °°¾Æ º¸ÀδÙ. ¹®Á¦°¡ ÀÖÁö¸¸ ¾î·°Å³ª Â÷Æ®´Â ¸í·ÉÇÑ ´ë·Î ¹üÀ§¸¦ Ç¥ÇöÇÒ »ÓÀÌ´Ù.
¿©·¯ °³ÀÇ ½Ã¸®Á °°Àº ¿¡¸®¾î¿¡ Ç¥½ÃÇÒ ¶§ Â÷Æ®´Â ¸ðµç ½Ã¸®ÁîÀÇ ¹üÀ§¸¦ Æ÷°ýÇÏ´Â °øÅëÀÇ ¹üÀ§¸¦ Àâ´Â´Ù. °øÅë ¹üÀ§°¡ ³Ê¹« ³Ð¾î ƯÁ¤ ½Ã¸®Áî°¡ Àß º¸ÀÌÁö ¾Ê°Å³ª ƯÀ̰ªÀÌ ÀÖ´Â ½Ã¸®Áî·Î ÀÎÇØ °ø°£ÀÌ ³¶ºñµÈ´Ù¸é Àû´çÇÑ
¼öÁØÀÇ ¹üÀ§¸¦ °Á¦ ÁöÁ¤ÇÏ´Â ÆíÀÌ ´õ ³ªÀ» ¼öµµ ÀÖ´Ù.
´ÙÀ½Àº XÃàÀÇ ¹üÀ§¸¦ ÁöÁ¤ÇØ º¸ÀÚ.
YÃàÀº ¼ýÀÚ¿©¼ ÃÖ¼Ò, ÃÖ´ë°ªÀ» ÁöÁ¤ÇÏ±â Æí¸®ÇÏÁö¸¸ XÃàÀº
½Ã°£°ªÀÌ¾î¼ ´Ü¼øÇÑ ¼ýÀÚ°¡ ¾Æ´Ï´Ù. ¿øº» µ¥ÀÌÅÍ´Â 9:00 ~
9:19±îÁö ÀÖÁö¸¸ ÀÌÁß ¾ÕµÚ´Â Àß¶ó¸Ô°í 9:05~9:15±îÁö¸¸ ¹üÀ§¸¦ ¼³Á¤ÇØ º¸ÀÚ.
ax.Minimum = new DateTime(2020, 10, 1, 9, 5, 0);
ax.Maximum = new DateTime(2020, 10, 1, 9, 15, 0);
ÀÌ·¸°Ô µÇ¸é ½±°ÚÁö¸¸ ÀÌ ÄÚµå´Â ¿¡·¯ÀÌ´Ù. ¿Ö³ÄÇϸé Minimum, Maximum ¼Ó¼ºÀÇ Å¸ÀÔÀº DateTimeÀÌ ¾Æ´Ï¶ó
doubleÀ̱⠶§¹®ÀÌ´Ù. XÃàÀÌ ½Ã°£À¸·Î °íÁ¤µÇ¾î ÀÖÁö
¾Ê°í ¼ø¼°ªÀÎ °æ¿ì°¡ ´õ ÀϹÝÀûÀÌ¾î¼ double ŸÀÔÀ¸·Î Á¤ÀǵǾî ÀÖ´Ù.
XÃàÀÇ ÇÑ ÁöÁ¡µµ double ŸÀÔÀ¸·Î
Ç¥ÇöÇØ¾ß Çϴµ¥ ÀÌ ¶§ »ç¿ëÇϴ ŸÀÔÀÌ OADateÀÌ´Ù. OADate´Â
OLE Automation¿¡¼ »ç¿ëÇÏ´ø ŸÀÔÀÌ¸ç ³¯Â¥¸¦ ½Ç¼ö Æ÷¸ËÀ¸·Î Ç¥ÇöÇÑ´Ù. 1899³â 12¿ù 30ÀÏ
ÀÚÁ¤À» 0À¸·Î Àâ°í °æ°úÇÑ ³¯Â¥¸¦ Á¤¼öºÎ¿¡, °æ°úÇÑ ½Ã°£À»
½Ç¼öºÎ¿¡ ÀúÀåÇÑ´Ù.
½Ã°£ÀÌ ³¯Â¥ÀÇ ¼Ò¼öºÎÀÎ °ÍÀº ³í¸®ÀûÀ¸·Î ÇÕ´çÇÏ´Ù. OADate ŸÀÔ¿¡¼
1Àº ÇÏ·çÀ̸ç 0.5´Â ¹Ý³ªÀýÀÎ 12½Ã°£ÀÌ´Ù. ÇÏ·ç°¡ 86400ÃÊÀ̸ç
°íÀÛ ½ÊÁø¼ö ´Ù¼¸ÀÚ¸®¿¡ ºÒ°úÇØ doubleÀÇ Á¤¹ÐµµÀ̸é ÃæºÐÈ÷ ±ä ³¯Â¥¿Í ÃæºÐÈ÷ Á¤¹ÐÇÑ ½Ã°£À» Ç¥ÇöÇÒ
¼ö ÀÖ´Ù. DateTime Ŭ·¡½º´Â OADate ŸÀÔÀ¸·Î
º¯È¯ÇÏ´Â ¸Þ¼µå¸¦ Á¦°øÇÑ´Ù.
public static DateTime FromOADate (double d);
public double ToOADate ();
FromOADate´Â ½Ç¼ö°ªÀ¸·ÎºÎÅÍ DateTime °´Ã¼¸¦ ¸¸µç´Ù. »õ·Î °´Ã¼¸¦ ¸¸µé¾î¾ß ÇϹǷΠstaticÀÌ´Ù. ToOADate´Â ¹Ý´ë·Î DateTime °´Ã¼¸¦ double ŸÀÔÀ¸·Î º¯È¯ÇÑ´Ù. ÀÌ ¸Þ¼µå¸¦ »ç¿ëÇÏ¸é ¿øÇÏ´Â ½Ã°£À» Á¤È®È÷ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.
ax.Minimum = (new DateTime(2020, 10, 1, 9, 5,
0)).ToOADate();
ax.Maximum = (new DateTime(2020, 10, 1, 9, 15,
0)).ToOADate();
2020³â 10¿ù 1ÀÏ 9:5Àº double ŸÀÔÀ¸·Î
44105.3784ÀÌ´Ù. 1899³âÀ¸·ÎºÎÅÍ 44105ÀÏÀÌ Áö³µÀ¸¸ç ÇÏ·ç 24½Ã°£ÀÇ ´ë·« 37%ÂëÀÇ ½Ã°£À̶ó´Â ¶æÀÌ´Ù. Â÷Æ®´Â
XÃàÀÇ ½Ã°£À» ÀÌ Å¸ÀÔÀ¸·Î ÀúÀåÇÑ´Ù. µû¶ó¼ ¹üÀ§¸¦ ÁöÁ¤ÇÒ ¶§µµ double ŸÀÔÀ¸·Î ¹Ù²ã¼ ÁöÁ¤ÇØ¾ß ÇÑ´Ù. °á°ú´Â ´ÙÀ½°ú °°´Ù.
XÃàÀÇ 9:05~9:15±îÁö¸¸
Ç¥½ÃµÇ¸ç ³ª¸ÓÁö´Â Àß·Á º¸ÀÌÁö ¾Ê´Â´Ù. ¹°·Ð ´õ ³Ð°Ô ÀâÀ» ¼öµµ ÀÖ´Ù.
MinimumÀº µðÆúÆ®·Î µÎ°í Maximum¸¸ 10½Ã
Á¤°¢À¸·Î Á¶Á¤ÇØ º¸ÀÚ.
ax.Maximum = (new DateTime(2020, 10, 1, 10, 0,
0)).ToOADate();
µÚÂÊÀº µ¥ÀÌÅͰ¡ ¾ø¾î ºñ¾î ÀÖÁö¸¸ ¾î·°Å³ª ÁöÁ¤ÇÑ ¹üÀ§¸¸Å Á¤È®È÷ Ç¥½ÃµÈ´Ù. ½Ã°£À»
double ŸÀÔÀ¸·Î º¯È¯ÇÏ´Â ¹æ¹ý¸¸ ¾Ë¸é YÃàÀÇ ¹üÀ§¸¦
ÁöÁ¤ÇÏ´Â ¹æ¹ý°ú °°´Ù.
¾Õ Ç׿¡¼ ±×¸®µå¿Í ƽ¸¶Å©¸¦ ½Ç½ÀÇÒ ¶§ ÁÖ·Î YÃุÀ» ´ë»óÀ¸·Î Çߴµ¥
XÃàÀÇ ÇÑ ÁöÁ¡À» ±â¼úÇÏ´Â ¹æ¹ýÀ» ¸ô¶ú±â ¶§¹®ÀÌ´Ù. XÃ൵
½Ã°£°ªÀ» ½Ç¼ö·Î º¯È¯Çؼ ÁöÁ¤Çϸé YÃà°ú ¹æ¹ýÀº °°´Ù.
½ÇÁ¦ Åë°èÀÚ·á´Â µ¥ÀÌÅͰ¡ ³Ê¹« ¹æ´ëÇØ ÇÑ È¸é¿¡ ´Ù º¸¿©ÁÙ ¼ö ¾ø´Ù. ¸¹Àº
µ¥ÀÌÅ͸¦ Â÷Æ®¿¡ Ç¥½ÃÇØ º¸ÀÚ.
private void Form1_Load(object sender, EventArgs
e)
{
chart1.Legends[0].Enabled
= false;
Random
R = new Random(100);
double
value = 10;
for
(int i = 0;i<200;i++)
{
value
+= R.Next(-4, 5);
chart1.Series[0].Points.AddY(value);
}
Axis
ax = chart1.ChartAreas[0].AxisX;
Axis
ay = chart1.ChartAreas[0].AxisY;
chart1.Series[0].ChartType
= SeriesChartType.Area;
}
10¿¡¼ ½ÃÀÛÇÏ¿© +-4¸¸Å
¿À¸£¶ô³»¸®¶ô°Å¸®´Â 200°³ÀÇ ¹«ÀÛÀ§ µ¥ÀÌÅ͸¦ »ý¼ºÇßÀ¸¸ç Â÷Æ® ŸÀÔÀº Area·Î
ÁöÁ¤ÇÏ¿´´Ù. XÃàÀº 0 ~ 199±îÁöÀÇ ¼ø¼°ªÀÌ´Ù.
´ëÃæÀÇ Áõ°¨ Á¤µµ´Â ÆÄ¾ÇÇÒ ¼ö ÀÖÁö¸¸ ƯÁ¤ ½ÃÁ¡ÀÇ °ªÀÌ ¾ó¸¶ÀÎÁö ÇÑ´«¿¡ °¡´ÆÇÏ±â ¾î·Æ´Ù. µ¥ÀÌÅͰ¡ ¸¹À»¼ö·Ï ÀÚ¼¼È÷ º¸±â ¾î·Æ´Ù. ÀÌ·² ¶§´Â ÁÜ, ½ºÅ©·Ñ µîÀÇ ±â¹ýÀ» »ç¿ëÇÏ¿© ¿øÇÏ´Â ºÎºÐ¸¸ È®´ëÇÏ°í ½ºÅ©·ÑÇØ¼ ºÁ¾ß ÇÑ´Ù. ´ÙÀ½
ÄÚµå ÇÑÁÙÀ» Ãß°¡ÇØ º¸ÀÚ.
ax.ScaleView.Zoom(50, 70);
ScaleViewÀÇ Zoom ¸Þ¼µå·Î
¹üÀ§¸¦ ÁöÁ¤Çϸé ÀÌ ¹üÀ§¸¸ È®´ëÇØ¼ º¸¿©ÁØ´Ù. XÃàÀ» 50 ~ 70±îÁöÀÇ
¹üÀ§¸¸ º¸ÀδÙ.
¹üÀ§ ¹Ù±ùÀº Àß·Á¼ º¸ÀÌÁö ¾ÊÁö¸¸ ¾Æ·¡ÂÊ¿¡ ½ºÅ©·Ñ ¹Ù°¡ »ý°Ü À̵¿ÇÒ ¼ö ÀÖ´Ù.
YÃ൵ ¸¶Âù°¡Áö·Î ÀÏÁ¤ ¹üÀ§·Î Á¦ÇÑÇϸé Àüü Â÷Æ®ÀÇ ÇÑ ºÎºÐ¸¸ º¸°Ô µÈ´Ù.
¸Þ¼µå°¡ ¾Æ´Ñ ½ÇÇàÁß¿¡ »ç¿ëÀÚ°¡ ¼±ÅÃÇÑ ºÎºÐ¸¸ È®´ëÇØ¼ º¸·Á¸é Cursor,
ScaleView, ScrollBar ¼¼ °³ÀÇ °´Ã¼¸¦ ´Ù ¾Ë¾Æ¾ß ÇÑ´Ù. Çϳª¾¿ ¿¬±¸ÇØ º¸ÀÚ.
Cursor´Â ÃàÀÇ ÇöÀç À§Ä¡¸¦ ¾Ë·Á ÁÖ´Â ¼±ÀÌ´Ù. XÃàÀÇ Ä¿¼´Â ¼öÁ÷¼±À̰í YÃàÀÇ Ä¿¼´Â ¼öÆò¼±ÀÌ¸ç µÎ ¼±ÀÌ ¸¸³ª´Â
°÷ÀÌ »ç¿ëÀÚ°¡ °ü½ÉÀ» °¡Áö´Â ºÎºÐÀÌ´Ù. Ä¿¼´Â ChartAreaÀÇ
CursorX, CursorY ¼Ó¼ºÀ¸·Î Á¦¾îÇÏ¸ç µÑ ´Ù Cursor ŸÀÔÀÌ´Ù. ÁÖ¿ä ¼Ó¼ºÀº ´ÙÀ½°ú °°´Ù.
¼Ó¼º |
¼³¸í |
IsUserEnabled |
»ç¿ëÀÚ°¡ Ä¿¼¸¦ Á¦¾îÇÒ ¼ö ÀÖ´ÂÁö¸¦ ÁöÁ¤ÇÑ´Ù. µðÆúÆ®´Â false¿©¼ »ç¿ëÀÚ°¡ Ŭ¸¯Çؼ Ä¿¼¸¦ Ç¥½ÃÇÒ ¼ö ¾ø´Ù. ÀÌ ¼Ó¼º°ú
»ó°ü¾øÀÌ Äڵ忡¼ Position ¼Ó¼ºÀ» ÅëÇØ Ä¿½º¸¦ Ç¥½ÃÇÒ ¼ö´Â ÀÖ´Ù. |
Position |
Ä¿¼ÀÇ ÇöÀç À§Ä¡ÀÌ´Ù. Äڵ忡¼ ÀÌ ¼Ó¼ºÀ» º¯°æÇÒ ¼ö ÀÖÀ¸¸ç Ä¿¼¸¦ ¼û±æ ¶§´Â
ÀÌ ¼Ó¼ºÀ» NaNÀ¸·Î ÁöÁ¤ÇÑ´Ù. |
IsUserSelectionEnabled |
»ç¿ëÀÚ°¡ ¿µ¿ªÀ» µå·¡±×ÇÏ¿© ÀÏÁ¤ ¹üÀ§¸¦ ¼±ÅÃÇÒ ¼ö ÀÖ´ÂÁö¸¦ ÁöÁ¤ÇÑ´Ù. µðÆúÆ®´Â
falseÀÌ´Ù. |
AutoScroll |
¿µ¿ª ¼±ÅÃÁß¿¡ °æ°è ¹ÛÀ¸·Î Ä¿¼°¡ À̵¿Çϸé ÀÚµ¿À¸·Î ½ºÅ©·ÑÇÒ °ÍÀÎÁö¸¦ ÁöÁ¤ÇÑ´Ù. ÀÚµ¿
½ºÅ©·ÑÀÌ °¡´ÉÇÏ·Á¸é ½ºÅ©·ÑÇÏ´Â ¹æÇâÀ¸·Î µ¥ÀÌÅͰ¡ ´õ ÀÖ¾î¾ß ÇÑ´Ù. µðÆúÆ®´Â falseÀÌ´Ù. |
SelectionColor |
¼±Åà ¿µ¿ªÀÇ »ö»óÀÌ´Ù. µðÆúÆ®´Â ¾ËÆÄ°ªÀÌ 120ÀÎ
LightGrayÀÌ¸ç ¹ÝÅõ¸íÇÏ´Ù. ¾çÃàÀ» ´Ù ÁöÁ¤ÇÒ °æ¿ì
YÃà »ö»óÀ» »ç¿ëÇÑ´Ù. |
SelectionStart SelectionEnd |
¼±Åÿµ¿ªÀÇ ½ÃÀÛ°ú ³¡, Áï ¼±Åà ¹üÀ§ÀÌ´Ù. »ç¿ëÀÚ°¡
µå·¡±×ÇÏ¿© ¹üÀ§¸¦ ¼³Á¤Çϸé ÀÌ °ªÀÌ º¯°æµÇ¸ç Äڵ忡¼ SetSelectionPosition ¸Þ¼µå·Î ¼±Åà ¿µ¿ªÀ» ÁöÁ¤ÇÑ´Ù. ¼±ÅÃÀ» ÇØÁ¦ÇÏ·Á¸é µÑ ´Ù NaNÀ¸·Î ÁöÁ¤ÇÑ´Ù. |
LineColor LineDashStyle LineWidth |
¼±ÀÇ »ö»ó, ¸ð¾ç, ±½±âÀÌ´Ù. µðÆúÆ®´Â 1Çȼ¿ ±½±âÀÇ »¡°£ ½Ç¼±ÀÌ´Ù. |
Interval IntervalType IntervalOffset IntervalOffsetType |
Ä¿¼°¡ ³ªÅ¸³¯ ¼ö ÀÖ´Â °£°ÝÀÌ´Ù. µðÆúÆ®´Â 0À̸ç
Â÷Æ®ÀÇ ¾î´À À§Ä¡¿¡³ª Ä¿¼¸¦ ¹èÄ¡ÇÒ ¼ö ÀÖ´Ù. °£°ÝÀ» 5·Î
ÁöÁ¤Çϸé 5ÀÇ ¹è¼ö À§Ä¡¿¡¸¸ Ä¿¼°¡ Ç¥½ÃµÇ¸ç ¿µ¿ªÀ» ¼±ÅÃÇÒ ¶§µµ °°Àº ¹æ½ÄÀ¸·Î Àû¿ëµÈ´Ù. Position ¼Ó¼ºÀ» Á÷Á¢ ÁöÁ¤ÇÒ ¶§´Â ÀÌ °£°ÝÀ» ¹«½ÃÇÑ´Ù. |
AxisType |
Ä¿¼°¡ ºÎÂøµÈ ÃàÀÌ ÁÖÃàÀÎÁö, ºÎÃàÀÎÁö¸¦ ÁöÁ¤ÇÑ´Ù. |
Zoom ¸Þ¼µå È£Ãâ¹®Àº Á¦°ÅÇÏ°í ´ÙÀ½ Äڵ带 ÀÛ¼ºÇÑ´Ù. »ç¿ëÀÚ°¡ Ä¿¼¸¦ ´Ù·ê ¼ö ÀÖµµ·Ï ÇßÀ¸¸ç ¼±Àº 3Çȼ¿ µÎ²²·Î ÇÏ¿©
Àß º¸À̵µ·Ï Çß´Ù. °£°ÝÀº XÃàÀº 20, YÃàÀº 10À¸·Î ÁöÁ¤Çß´Ù.
chart1.ChartAreas[0].CursorX.IsUserEnabled =
Enabled;
chart1.ChartAreas[0].CursorY.IsUserEnabled =
Enabled;
chart1.ChartAreas[0].CursorX.LineWidth = 3;
chart1.ChartAreas[0].CursorY.LineWidth = 3;
chart1.ChartAreas[0].CursorX.Interval = 20;
chart1.ChartAreas[0].CursorY.Interval = 10;
½ÇÇà ÈÄ Â÷Æ®ÀÇ ÇÑ ÁöÁ¡À» Ŭ¸¯ÇÏ¸é »¡°£»ö ¼öÆò, ¼öÁ÷¼±ÀÌ ³ªÅ¸³ª¸ç
µÎ Á¡ÀÌ ¸¸³ª´Â °÷ÀÌ »ç¿ëÀÚ°¡ Ŭ¸¯ÇÑ °÷ÀÌ´Ù.
´Ü, °£°ÝÀ» ÁöÁ¤ÇØ ³õ¾Ò±â ¶§¹®¿¡ Á¤È®È÷ Ŭ¸¯ÇÑ °÷ÀÌ ¾Æ´Ñ °£°ÝÀÇ
¹è¼ö À§Ä¡¿¡¸¸ Ä¿¼°¡ ³ªÅ¸³´Ù. IntervalÀ» 0À¸·Î
ÁöÁ¤Çϸé ÀÓÀÇ À§Ä¡¿¡ Ä¿¼¸¦ ³õÀ» ¼ö ÀÖ´Ù. ´ÙÀ½ ÄÚµå´Â »ç¿ëÀÚ°¡ µå·¡±×ÇÏ¿© ¿µ¿ªÀ» ¼±ÅÃÇÑ´Ù.
chart1.ChartAreas[0].CursorX.IsUserSelectionEnabled
= Enabled;
chart1.ChartAreas[0].CursorX.AutoScroll = true;
chart1.ChartAreas[0].CursorY.IsUserSelectionEnabled
= Enabled;
XÃà¿¡ ´ëÇØ¼¸¸ ÀÚµ¿ ½ºÅ©·Ñ ±â´ÉÀ» Ä×´Ù. Â÷Æ®ÀÇ ÀÓÀÇ ¿µ¿ªÀ» µå·¡±×ÇÏ¸é ¹ÝÅõ¸íÇÑ È¸»ö ¿µ¿ªÀÌ ³ªÅ¸³´Ù.
ÀÌ »óÅ¿¡¼ ¸¶¿ì½º¸¦ ³õÀ¸¸é ¼±ÅÃÇÑ ¿µ¿ªÀÌ È®´ëµÇ¸ç ½ºÅ©·Ñ ¹Ù°¡ ³ªÅ¸³´Ù. ½ºÅ©·Ñ¹Ù¸¦
µå·¡±×Çϰųª ¾çÂÊÀÇ ¹öư ¶Ç´Â ¸öÅëÀ» Ŭ¸¯ÇÏ¿© ÀÓÀÇÀÇ À§Ä¡·Î À̵¿ÇÒ ¼ö ÀÖ´Ù.
È®´ëÇÑ »óÅ¿¡¼ ¼öÆòÀ¸·Î ¿µ¿ªÀ» È®ÀåÇÒ ¶§´Â ÀÚµ¿À¸·Î ½ºÅ©·ÑµÈ´Ù. ¼öÁ÷ÂÊÀ¸·Î´Â
AutoScroll ¼Ó¼ºÀ» ÁÖÁö ¾Ê¾Æ ÀÚµ¿ ½ºÅ©·ÑµÇÁö ¾Ê´Â´Ù. È®´ëÇÑ
»óÅ¿¡¼ ¿µ¿ªÀ» ´Ù½Ã ¼±ÅÃÇÏ¿© ´õ Á¼Àº ¹üÀ§¸¦ È®´ëÇÒ ¼ö ÀÖÀ¸¸ç Á¦ÇÑÀº ¾ø´Ù. ½ºÅ©·Ñ ¹Ù ¿ÞÂʰú À§ÀÇ
¸®¼Â ¹öưÀ» ´©¸£¸é Á÷Àü ÁÜ »óÅ·Πº¹±ÍÇÑ´Ù.
Â÷Æ®¸¦ È®ÀåÇϸé Àüü ¿µ¿ªÁß ÀϺθ¸ º¸À̴µ¥ ÀÌ ÀϺθ¸ Ç¥½ÃÇÏ´Â ÁÖü°¡ ½ºÄÉÀϺäÀÌ´Ù. ÃàÀÇ ScaleView ¼Ó¼ºÀ¸·Î µÇ¾î ÀÖÀ¸¸ç AxisScaleView Ŭ·¡½º ŸÀÔÀÇ °´Ã¼ÀÌ´Ù. ÀÌ °´Ã¼ÀÇ ¼Ó¼ºÀ»
ÅëÇØ È®´ë, ½ºÅ©·ÑÀÇ ¿©·¯ Á¤º¸¸¦ Á¶»çÇϰųª ¼³Á¤ÇÑ´Ù.
¼Ó¼º |
¼³¸í |
Zoomable |
»ç¿ëÀÚ¿¡ ÀÇÇØ ÁÜ °¡´ÉÇÑ »óÅÂÀÎÁö¸¦ Á¤ÀÇÇÑ´Ù. µðÆúÆ®´Â trueÀÌ´Ù. |
IsZoomed |
ÇöÀç ÁÜ »óÅÂÀΰ¡ ¾Æ´Ñ°¡¸¦ Á¶»çÇÏ´Â Àбâ Àü¿ë ¼Ó¼ºÀÌ´Ù. ÃÖÃÊ falseÀÌ´Ù°¡ »ç¿ëÀÚ°¡ ¿µ¿ªÀ» ¼±ÅÃÇØ È®´ëÇϸé true°¡ µÈ´Ù. |
MinSize MinSizeType |
½ºÄÉÀϺäÀÇ ÃÖ¼Ò Å©±â¸¦ ÁöÁ¤ÇÑ´Ù. ÀÌ Å©±â ÀÌ»óÀ¸·Î´Â ´õ È®´ëµÇÁö ¾Ê´Â´Ù. |
Position |
½ºÄÉÀϺäÀÇ ÇöÀç À§Ä¡ÀÌ´Ù. |
Size SizeType |
½ºÄÉÀϺäÀÇ ÇöÀç Å©±âÀÌ´Ù. |
ViewMinimum ViewMaximum |
ÃàÀÇ ÃÖ¼Ò°ª°ú ÃÖ´ë°ªÀÌ´Ù. ÇöÀç Ç¥½ÃÇÏ´Â ¹üÀ§¸¦ º¸¿© ÁÖ´Â Àбâ Àü¿ë ¼Ó¼ºÀÌ´Ù. |
SmallScrollSize SmallScrollSizeType |
½ºÅ©·Ñ ¹ÙÀÇ È»ìÇ¥ ¹öưÀ» Ŭ¸¯ÇÒ ¶§ ½ºÅ©·ÑµÉ ¾çÀÎ ÀÛÀº ½ºÅ©·Ñ°ªÀÌ´Ù. µðÆúÆ®´Â
NaNÀ̸ç ÀÚµ¿À¸·Î °áÁ¤ÇÑ´Ù. |
SmallScrollMinSize SmallScrollMinSizeType |
ÀÛÀº ½ºÅ©·ÑÀÇ ÃÖ¼Ò°ªÀÌ´Ù. ÀÛÀº ½ºÅ©·Ñ Å©±â¸¦ ÁöÁ¤ÇÏÁö ¾Ê¾ÒÀ» ¶§ ÀÌ °ªÀ»
»ç¿ëÇÑ´Ù. |
½ºÄÉÀϺ並 µðÆúÆ® ¼³Á¤´ë·Î µÎ¸é ¾ó¸¶µçÁö È®´ë °¡´ÉÇÏ´Ù. ±×·¯³ª MinSize¸¦ ÁöÁ¤Çϸé ÀÌ ÀÌ»óÀº È®´ëµÇÁö ¾Ê´Â´Ù. ´ÙÀ½°ú °°ÀÌ ¼³Á¤Çϸé
X, Y ¾çÂÊÀ¸·Î ÃÖ¼ÒÇÑ 50 ÀÌ»óÀÇ ºä¸¦ È®º¸ÇÑ´Ù. °ªÀÇ º¯È¸¦ ÃæºÐÈ÷ È®ÀÎÇÒ ¼ö ÀÖ´Ù¸é ±»ÀÌ ´õ È®´ëÇÒ ÇÊ¿ä´Â ¾ø´Ù.
ax.ScaleView.MinSize = 50;
ay.ScaleView.MinSize = 50;
³ª¸ÓÁö Á¤º¸´Â ½ºÄÉÀϺäÀÇ ÇöÀç »óŸ¦ Á¶»ç ¶Ç´Â ¼³Á¤ÇÏ´Â °ªÀÌ´Ù. ÁÜ
»óÅ º¯È¿¡ ÀÇÇØ ÀÌ °ªÀÌ ¾î¶»°Ô ¹Ù²î´ÂÁö Âï¾î º¸ÀÚ. Â÷Æ®ÀÇ Click
À̺¥Æ® Çڵ鷯¸¦ ÀÛ¼ºÇÏ°í ¼Ó¼º°ªÀ» Á¶»çÇÑ ÈÄ Å¸ÀÌÆ²¹Ù¿¡ Âï¾î º¸¸é µÈ´Ù.
private void chart1_Click(object sender, EventArgs
e)
{
Text
= String.Format("Pos = {0}, Size = {1}, Min = {2}, Max = {3}",
chart1.ChartAreas[0].AxisX.ScaleView.Position,
chart1.ChartAreas[0].AxisX.ScaleView.Size,
chart1.ChartAreas[0].AxisX.ScaleView.ViewMinimum,
chart1.ChartAreas[0].AxisX.ScaleView.ViewMaximum);
}
ÆíÀÇ»ó XÃุ Âï¾î ºÃ´Âµ¥ YÃ൵
¸¶Âù°¡ÁöÀÌ´Ù. ÃÖÃÊ ½ÇÇà½Ã, Áï È®´ëÇÏÁö ¾Ê¾ÒÀ» ¶§´Â Pos¿Í Size´Â NaNÀ̰í
Min = 0, Max = 201·Î Á¶»çµÈ´Ù. µå·¡±×ÇÏ¿©
¿µ¿ªÀ» Àû´çÈ÷ È®´ëÇØ º¸ÀÚ.
XÃàÀÇ ÇöÀç À§Ä¡°¡ 37À̰í
ÆøÀº 83À̸ç 36 ~ 121±îÁöÀÇ ¹üÀ§¸¦ º¸¿© ÁÖ°í ÀÖ´Ù´Â
¶æÀÌ´Ù. À§Ä¡´Â Zero Base¿©¼ 36¹øÂ° XÁÂÇ¥°¡ 37¹øÂ°
°ªÀε¥ ºñÇØ Min, Max´Â ÃàÀÇ X°ªÀ» ±×´ë·Î º¸¿©ÁØ´Ù. Position°ú Size´Â ¾²±âµµ °¡´ÉÇØ¼ ÀÌ °ªÀ» º¯°æÇϸé ÁÜ
À§Ä¡¿Í Å©±â°¡ Áï½Ã ¹Ù²ï´Ù. Ŭ¸¯ À̺¥Æ® ³¡¿¡ ´ÙÀ½ Äڵ带 ÀÛ¼ºÇØ º¸ÀÚ.
chart1.ChartAreas[0].AxisX.ScaleView.Position =
50;
chart1.ChartAreas[0].AxisX.ScaleView.Size = 80;
ÆøÀÌ 80ÀÌ µÇµµ·Ï Áï½Ã È®´ëµÇ¸ç ¿ÞÂÊ À§Ä¡´Â 50¿¡ ¸ÂÃß¾îÁø´Ù. Äڵ忡¼ È®´ë³ª ½ºÅ©·ÑÀ» ÇÒ ¶§´Â ¼Ó¼ºÀ» Á÷Á¢ º¯°æÇÏ´Â
°Íº¸´Ù´Â ¸Þ¼µå¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ´õ Æí¸®ÇÏ´Ù.
void Zoom (double viewStart, double viewEnd);
void Zoom (double viewPosition, double viewSize,
DateTimeIntervalType viewSizeType, bool saveState);
void Scroll (double newPosition);
void Scroll (DateTime newPosition);
void ZoomReset ();
void ZoomReset (int numberOfViews);
½ÃÀÛ°ú ³¡ ¹üÀ§¸¦ ÁöÁ¤Çϰųª À§Ä¡¿Í Å©±â¸¦ ÁöÁ¤ÇÏ´Â ¹æ½ÄÀ¸·Î È®´ëÇÑ´Ù. saveState
Àμö¸¦ true·Î ÁöÁ¤ÇÏ¸é °¢ È®´ë »óŸ¦ ³»ºÎÀûÀ¸·Î ÀúÀåÇØ µÐ´Ù. Scroll ¸Þ¼µå´Â À̵¿ÇÒ ÁöÁ¡À» ÁöÁ¤Ç쵂 double ŸÀÔ°ú
DateTimeÀ» µÑ ´Ù Áö¿øÇÑ´Ù. Click ¸Þ¼µåÀÇ ¾ÕÂÊ¿¡
´ÙÀ½ Äڵ带 ÀÛ¼ºÇØ º¸ÀÚ.
chart1.ChartAreas[0].AxisX.ScaleView.Zoom(50,
100);
chart1.ChartAreas[0].AxisX.ScaleView.Scroll(70);
50 ~ 100±îÁö¸¦ Ç¥½ÃÇÒ Å©±â·Î È®´ëÇÏ°í ½ºÅ©·Ñ À§Ä¡´Â 70¿¡ ¸ÂÃá´Ù. Â÷Æ®¸¦ Ŭ¸¯Çϸé Áï½Ã È®´ëÇϰí À§Ä¡ À̵¿±îÁö ¿Ï·áÇÑ´Ù.
ZoomReset ¸Þ¼µå´Â ÇÑ ´Ü°è¸¸ ÁÜÀ» ¸®¼ÂÇÑ´Ù. ¿©·¯ ´Ü°è·Î È®´ëÇß´Ù¸é ¹Ù·Î Á÷Àü ´Ü°è·Î µ¹¾Æ°¡´Â ½ÄÀÌ¾î¼ È®´ëÇÑ È½¼ö¸¸Å ZoomReset
¸Þ¼µå¸¦ È£ÃâÇØ¾ß ÇÑ´Ù. ZoomReset(0)´Â ¸ðµç ÁÜÀ» Áï½Ã Ãë¼ÒÇÑ´Ù. Æû¿¡ ¹öưÀ» Çϳª ¹èÄ¡ÇØ ³õ°í Ŭ¸¯ À̺¥Æ®¿¡¼ Zoom ¸Þ¼µå¸¦
È£ÃâÇØ º¸¸é ¾î¶² ½ÄÀ¸·Î µ¿ÀÛÇÏ´ÂÁö ±Ý¹æ ¾Ë ¼ö ÀÖ´Ù.
Â÷Æ®¸¦ È®´ëÇÏ¸é ½ºÅ©·Ñ ¹Ù°¡ ³ªÅ¸³ª¸ç »ç¿ëÀÚ´Â ½ºÅ©·Ñ ¹Ù¸¦ ÅëÇØ ¿øÇÏ´Â °÷À¸·Î Áï½Ã À̵¿ÇÒ ¼ö ÀÖ´Ù. ÀÌ ½ºÅ©·Ñ ¹Ù´Â ÃàÀÇ ScrollBar ¼Ó¼ºÀ¸·Î °ü¸®Çϸç AxisScrollBar Ŭ·¡½ºÀÇ °´Ã¼ÀÌ´Ù. ½ºÅ©·Ñ ¹Ù´Â »óŸ¦ º¸¿©
ÁÖ´Â °ÍÀÌ ÁÖ ÀÓ¹«¿©¼ ¼Ó¼ºÀº ÁÖ·Î ½ºÅ©·Ñ ¹ÙÀÇ ¸ð¾çÀ» Á¤ÀÇÇÒ »Ó µ¿ÀÛÀ» Á¦¾îÇÏ´Â ¼Ó¼ºÀº º°·Î ¾ø´Ù.
¼Ó¼º |
¼³¸í |
Enabled |
½ºÅ©·Ñ ¹ÙÀÇ Ç¥½Ã ¿©ºÎ¸¦ ÁöÁ¤ÇÑ´Ù. µðÆúÆ®´Â trueÀ̸ç È®´ëÇϸé ÀÚµ¿À¸·Î ³ªÅ¸³´Ù. |
IsVisible |
½ºÅ©·Ñ ¹Ù°¡ ÇöÀç º¸ÀÌ´Â »óÅÂÀΰ¡¸¦ Á¶»çÇÏ´Â Àбâ Àü¿ë ¼Ó¼ºÀÌ´Ù. |
BackColor |
½ºÅ©·Ñ ¹ÙÀÇ ¹è°æ »ö»óÀÌ´Ù. |
ButtonColor |
¹öưÀÇ »ö»óÀÌ´Ù. |
ButtonStyle |
¾î¶² ¹öưÀ» Ç¥½ÃÇÒ °ÍÀΰ¡¸¦ ÁöÁ¤ÇÑ´Ù. NoneÀº ¹öư ¾øÀ½, SmallScrollÀº ¾çÂÊ ¹öư, ResetZoomÀº ¸®¼Â
ÁÜ ¹öưÀ̸ç AllÀº ¸ðµç ¹öưÀ» ´Ù Ç¥½ÃÇÑ´Ù. |
IsPositionedInside |
½ºÅ©·Ñ ¹Ù¸¦ ¿¡¸®¾îÀÇ ¾È¿¡ µÑ °ÍÀÎÁö ¹Û¿¡ µÑ °ÍÀÎÁö¸¦ ÁöÁ¤ÇÑ´Ù. µðÆúÆ®´Â
true¿©¼ ¿¡¸®¾î ¾ÈÂÊ¿¡ Ç¥½ÃµÈ´Ù. |
LineColor |
¼±ÀÇ »ö»óÀÌ´Ù. |
Size |
½ºÅ©·Ñ ¹ÙÀÇ Å©±âÀÌ´Ù. 5~20±îÁö ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. |
µðÆúÆ®°¡ ¹«³ÇÏ°Ô µÇ¾î ÀÖÁö¸¸ ÇÊ¿äÇÏ´Ù¸é ¼Ó¼ºÀ» ÀÚÀ¯·Ó°Ô Á¶Á¤ÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½
Äڵ带 ÀÛ¼ºÇÏ¿© óÀ½ºÎÅÍ È®´ëÇØ ³õ°í YÃàÀº µðÆúÆ® ¼Ó¼º´ë·Î, XÃàÀº
µðÆúÆ®¿Í ´Ù¸¥ ¼Ó¼ºÀ» ÁÖ¾î º¸ÀÚ.
ax.ScaleView.Zoom(50, 100);
ay.ScaleView.Zoom(10, 50);
ax.ScrollBar.BackColor = Color.Red;
ax.ScrollBar.ButtonColor = Color.Green;
ax.ScrollBar.LineColor = Color.Blue;
ax.ScrollBar.ButtonStyle =
ScrollBarButtonStyles.SmallScroll;
ax.ScrollBar.IsPositionedInside = false;
ax.ScrollBar.Size = 20;
XÃà ½ºÅ©·Ñ¹Ù¸¦ º¸¸é ¾î¶² »ö»óÀÌ ¾îµð¿¡ Àû¿ëµÇ¾ú´ÂÁö ¾Ë ¼ö ÀÖ´Ù. ¼Ó¼ºÀ» ¿¬±¸ÇÒ ¶§´Â ÀÌ·± ½ÄÀ¸·Î °ªÀ» ÁöÁ¤ÇØ º¸°í ¾îµð°¡ ¾î¶»°Ô ¹Ù²î´ÂÁö °üÂûÇØ º¸¸é µÈ´Ù.
½ºÆ®¸³ ¶óÀÎÀº ¹è°æ¿¡ ÁÙ¹«´Ì¸¦ ±ò¾Æ Â÷Æ®¸¦ ºÐ¸íÈ÷ º¸À̵µ·Ï ÇÑ´Ù. ÃàÀÇ
IsInterlaced ¼Ó¼ºÀ» true·Î ¼³Á¤Çϰí InterlacedColor¿¡ ÁÙ¹«´ÌÀÇ »ö»óÀ» ÁöÁ¤ÇÑ´Ù.
ax.IsInterlaced = true;
ax.InterlacedColor = Color.Yellow;
XÃàÀ¸·Î ³ë¶õ»ö ÁÙ¹«´Ì¸¦ ±ò¾Ò´Ù. Áֱ׸®µå¿¡
´ëÇØ ÇÑľ¿ °Ç³Ê ¶ç¸ç ¹è°æ»öÀ» Ä¥ÇØ ÁÙ¹«´Ì¸¦ ¸¸µç´Ù. XÃà°ú YÃàÀ¸·Î
¸ðµÎ ½ºÆ®¸³¶óÀÎÀ» ¹èÄ¡ÇÏ¸é ¼¼·ÎÁÙÀÌ ´õ À§ÂÊ¿¡ ±×·ÁÁø´Ù.
IsInterlaced ¼Ó¼ºÀº »ç¿ëÇϱ⠽±Áö¸¸ ÁֱⰡ ±×¸®µå¿¡ ÀÇÇØ
°áÁ¤µÇ±â ¶§¹®¿¡ ÀÚÀ¯µµ°¡ ¶³¾îÁø´Ù. ¶ÇÇÑ »ö»ó¸¸ ÁöÁ¤ÇÒ ¼ö ÀÖÀ» »Ó ¹«´Ì¸¦ ¹èÄ¡Çϰųª ¹Ù±ù¿¡ °æ°è¼±À»
´Ù¸¥ »öÀ¸·Î ±×¸± ¼ö ¾ø´Ù.
´õ ´Ù¾çÇÑ ½ºÆ®¸³¶óÀÎÀ» ±×¸®·Á¸é ÃàÀÇ StripLines ¼Ó¼ºÀ¸·Î
Ä÷º¼ÇÀ» ¸¸µé¾î¾ß ÇÑ´Ù. ÀÌ Ä÷º¼ÇÀº StripLineÀÇ
ÁýÇÕÀ̸ç ÁÖ±â, »ö»ó, ¹®ÀÚ¿±îÁö ÈξÀ ´õ ´Ù¾çÇÑ ¸ð¾çÀÇ
½ºÆ®¸³¶óÀÎÀ» ±×¸± ¼ö ÀÖ´Ù.