إخفاء عطلة نهاية الأسبوع على أدوات الرسم البياني WPF
سؤال
وأنا على صنع التطبيق الصغير الذي المؤامرات بيانات الأسعار المالي وبما أن الأسواق المالية مغلقة في عطلة نهاية الأسبوع، ليس لدي أي بيانات لتلك الأيام. افتراضيا الرسم البياني، وجدت في WPF أدوات جديدة، ويظهر وجود فجوة كبيرة بين الجمعة ويوم الاثنين التالي، وهذا السلوك غير مقبول. أحاول أن يجدوا طريقة ل"إخفاء" الثغرات عطلة نهاية الأسبوع ولكن لا يمكن العثور على ما يبدو أي حلول جيدة. وحتى الآن، وأنا أحسب أنني يجب أن تفرط في البنية DateTime
القياسية (كيف؟) والتي سوف تكون قادرة على التعرف على وتخطي عطلة نهاية الأسبوع والأعياد. أنا أبحث عن اقتراحات و / أو مؤشرات قبل أن أبدأ السير في هذا منحدر زلق.
وبعض مزيد من التفاصيل:
وأنا أعطيت مجموعة واسعة من البيانات - حاليا أسعار الإغلاق اليومية في بورصة نيويورك. أنا باستخدام DayTimeAxis
لرسم المتغير المستقل من LineSeries
الذي هو من نوع DateTime
. انها حاليا ببساطة المؤامرات جميع الأسعار، يوم واحد في وقت واحد - وحيث ان الشيطان هو، لكنه يظهر فجوات واسعة نظرا لعدم وجود بيانات عن أيام السبت والأحد وبعض الأعياد الكبرى
وسوف يكون في نهاية المطاف لإظهار أكثر تفصيلا الرسم البياني (ساعة، دقيقة) مرة واحدة يصبح البيانات المتاحة، ولكن تبقى المشكلة إذا كان المستخدم يريد عرض البيانات كل ساعة لبعض الجمعة ويوم الاثنين التالي.
المحلول
وبعد ان لعب كثيرا حولها مع مختلف الخيارات، وانتهى بي الأمر باستخدام CategoryAxis بدلا من DateTimeAxis. فإنه يعامل كل يوم كفئة دون استنتاج العلاقة بين أيام.
لا يزال من الممكن الإبقاء على البيانات ككائنات التاريخ والوقت الضروري لأية حسابات وعليك أن تقلق على ToString (وهذا ما CategoryAxis لتسمية كل فئة). أو مجرد رمي كل منهم في كسلاسل - تتم تقنيا الحسابات على نقاط البيانات، وليس مجموعة من التمور لذلك ليس كثيرا من خسارة هنا ...
نصائح أخرى
إذا كنت سوف رسم الشموع أو OHLC لا يمكنك الذهاب مع مجموعة أدوات (يمكنك كنها ستكون غير سارة جدا) إذا كنت مفتوحة لاستخدام استخدام عنصر visifire هو واحد يمكنك الذهاب. إذا لم تتمكن من معرفة ذلك مع أن إرسال رمز عينة من فضلك.
وتماما من على قمة رأسي، لذلك لست متأكدا كيف أمكن هذا من شأنه أن يكون، ولكن هل يمكن أن ربما اقامة تحويل القيمة على خاصية عرض نقطة البيانات التي من شأنها أن تعود "تلقائي" على أيام الأسبوع و 0 لعطلة نهاية الاسبوع؟