ÃàÀÇ ¹üÀ§

ÃàÀÌ Ç¥ÇöÇÏ´Â ¹üÀ§´Â µé¾î¿À´Â µ¥ÀÌÅÍ¿¡ µû¶ó ÀÚµ¿À¸·Î °áÁ¤ÇÏ¸ç ´ë°³ÀÇ °æ¿ì Â÷Æ®°¡ ¾Ë¾Æ¼­ ¼³Á¤Çϵµ·Ï ³»¹ö·Á µÎ´Â °ÍÀÌ ¹«³­ÇÏ´Ù. ¿ì¸®ÀÇ ¿¹¿¡¼­´Â 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ºÎÅÍ ½ÃÀÛÇϵµ·Ï µÇ¾î ÀÖ´Ù. °ª Áß¿¡ À½¼ö°¡ ÀÖ´Ù¸é °¡Àå ÀÛÀº °ªÀ» ½ÃÀÛ°ªÀ¸·Î Àâ´Â´Ù. ÀÌ·± µ¿ÀÛÀº Is​Started​From​Zero ¼Ó¼ºÀ¸·Î Á¦¾îÇϸç ÀÌ °ªÀÇ µðÆúÆ®°¡ 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Ãà°ú ¹æ¹ýÀº °°´Ù.