سؤال

لذلك أقوم بسحب بعض البيانات من قاعدة بيانات والحصول على طابع زمني UNIX ورقم. لذلك دعنا نقول n (الرقم) تم بيعه في D (التاريخ).

هناك أيام مفقودة ، مثل عطلة نهاية الأسبوع. أحتاج إلى عرض اليوم ، ولكن لا أتطلب أي بيانات. إنه مخطط خط.

1 أبريل 2010 ، 50 بيعت
2 أبريل 2010 ، 53 بيعت
7 أبريل 2010 ، 10 بيعت
(لدي أكثر من 1000 سجل يمتد لعدة سنوات - لذلك سأضيف تكبير أيضًا)

لذلك يجب أن يظهر الرسم البياني من 1 إلى 7 أبريل ولكن ليس لديه بيانات عن 3-6. (الخط سيذهب فقط من 2-7).

أي أفكار حول كيفية القيام بذلك؟

شكرا جوش

هل كانت مفيدة؟

المحلول

ألقِ نظرة هنا: http://highcharts.com/ref/#series المثال الثاني لخاصية "البيانات".

عليك فقط تحويل تاريخ MySQL ، وتحويله إلى Unix Timestamp (UNIX_TIMESTAMP ()) ، ثم اضربه بمقدار 1000 (يحتاج JS إلى وقت في microseconds) ...

نصائح أخرى

قم بتوسيع نطاق محور X لبياناتك عند إنشاء الرسم البياني لحساب الأيام التي يكون لديك فيها عملية بيع واحدة على الأقل ، وتأكد من وصف محورك بشكل معقول.

هذا يعني أن يتجول في مجموعة البيانات بأكملها وتأكد من أن لديها أرقام متتابعة. لذلك قد لا تكون فعالة بشكل رهيب ويمكن أن تستفيد بالتأكيد من المعالجة المسبقة (مفتاح آخر في قاعدة البيانات الخاصة بك لـ "يوم البيع" أو شيء من هذا القبيل).

إذا كان ذلك ممكنًا ، فهل يمكنك أن تريني رمزك.

قد يكون هذا الرابط سيعطيك بعض المساعدة.العرض التوضيحي لتحديد NULL للتاريخ المحدد: http: //jsfiddle.net/highcharts/fgrtd/

يمكنك رسم بياناتك كبيانات Y العادية واستخدام التنسيق على المحور السيني

dates = ['April 1 2010', 'April 2 2010', 'April 7 2010'];
numSold = [50, 53, 10];

chart = new Highcharts.Chart({
    series: [{
        type: 'line',
        data: numSold
    }],
    xAxis: {
        labels: {
            formatter: function() {
                var dateStr = dates[this.value];
                return dateStr;
            }
        }
    }
});
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top