Ãà

4°³ÀÇ Ãà

ÃàÀº Â÷Æ®ÀÇ °¡ÀåÀÚ¸®¿¡ Ç¥½ÃµÇ´Â ´«±ÝÀÌ´Ù. 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ÀÇ ÁýÇÕÀ̸ç ÁÖ±â, »ö»ó, ¹®ÀÚ¿­±îÁö ÈξÀ ´õ ´Ù¾çÇÑ ¸ð¾çÀÇ ½ºÆ®¸³¶óÀÎÀ» ±×¸± ¼ö ÀÖ´Ù.