C3: توافق D3 4.0

تم إنشاؤها على ١٢ أبريل ٢٠١٦  ·  30تعليقات  ·  مصدر: c3js/c3

هل هناك توافق مع D3 4.0؟

C-feature-request question

التعليق الأكثر فائدة

هل هناك أي تحديثات لهذه القضايا؟

ال 30 كومينتر

لقد قمت للتو بتثبيت C3 على الإصدار 0.4.11-rc4 و D3 على الإصدار 4.0.0-alpha.29 ويبدو أنه لا يعمل. :(

لا ، لا يعمل ، فهناك بعض التغييرات الفاصلة في D3 4.0 وعلى هذا النحو سيتطلب تحديث مكالمات c3.js أيضًا.

انظر هنا للرجوع اليها:

الإصدار 4.0 يعني أنه إصدار رئيسي وغير متوافق مع الإصدارات السابقة.

https://github.com/visfest/topics2015/blob/master/d3-v4.md

مثير للإعجاب. ربما تكون هذه فرصة جيدة لإعادة كتابة الكثير من التعليمات البرمجية لتكون أكثر نمطية ، مثل البحث في Webpack fork . نظرًا لأن كل شيء يستخدم الآن استيراد ES6 مع Rollup في D3 ، فقد يكون من الذكاء حقًا تمكين أشياء مثل اهتزاز الشجرة باستخدام C3 من خلال الاستخدام الأفضل للوحدات.

ومع ذلك ، فأنا لست قريبًا من أحد نماذج تصميم JS - إذا نظرت إلى مفترقتي ، فقد استوردت للتو كل ملف باسم CommonJS ، مع الحفاظ على كيفية بناء عملية التسلسل للمكتبة. أي اقتراحات حول كيفية إعادة البناء لتكون أكثر نموذجية سيكون موضع تقدير كبير.

لقد كنت أفكر في تفرع c3 ، وأنا أستخدمه بكثافة للأدوات الداخلية وحافظت بنشاط على نسختي الخاصة منه. اضطررت إلى إصلاح العديد من الأخطاء فيه ولسوء الحظ ، علمت أن أي التزامات بهذا الريبو لن يتم قبولها.

بعض الأشياء التي أضفتها هي التخزين المؤقت للسمات والمحددات ، وهذا الأداء محسّن بمقدار ضعفين في طرق إعادة رسم الرسم البياني والعرض الأولي. اضطررت أيضًا إلى إضافة ميزات مثل القدرة على عرض مخططات متدرجة وتلميحات أدوات أفضل. إصلاحات أخرى لا حصر لها غير موثقة كان عليّ تنفيذها أثناء استخدام هذه المكتبة.

سيكون من المنطقي أن يكون لديك c3.core ومن ثم يمكن تضمين جميع المخططات لإنتاج بنية فائقة النعومة ، بشكل أساسي فقط وجود المستخدم ليطلب lib الأساسي والمخططات التي يحتاجونها ، في حالتي أنا فقط أستخدم 4 من الرسوم البيانية في c3.

ناهيك عن تحسينات D3-4.0 التي يمكن تضمينها في c3. على أي حال ، يمكنني التحدث عن هذه المكتبة ، لكنها واحدة من أفضل المكتبات الموجودة هناك ، ولكن من المؤسف أننا لا نستطيع المساهمة في هذه المكتبة.

لقد لعبت مع c3 و d3 @ v4. لم تعد بعض مساحات أسماء d3 الأساسية موجودة (على سبيل المثال d3.behavior) لذلك لم أستطع تجاوز ذلك.

ومع ذلك ، أدير للحصول على بعض حلاوة التراكمية عن طريق استبدال مهام concat و d3 smash c3 لاستخدام واردات وصادرات ES6. هذا لا يترك مساحة كبيرة لثلاثة اهتزازات ، لكنني لم أنتهي من الترقيع.

abacaj ما فعلته في الماضي كان https://github.com/huaofoundrie. إذا كنت مهتمًا ، فأخبرني وسأمنحك أذونات المسؤول حتى نتمكن من الاحتفاظ بـ c3 nextgen من هناك

abacaj و @ amenadiel مرحبًا! من فضلك لا تستسلم تمامًا بعد - أخطط للقيام بجزء كبير من العمل في قائمة انتظار المشكلة وفي أماكن أخرى لمحاولة دفع 0.4.11 في أسرع وقت ممكن.

بعد ذلك ، سنتطلع حقًا إلى الحصول على الكثير مما ذكرته في المكتبة لإصدار ميزة جديدة ، ونأمل أن يتم التكرار بشكل أسرع في المستقبل. أود أن أشرككما بطريقة ما (

شكر! 😄

aendrew بالتأكيد ، إذا كنت على استعداد لتحريك هذا المشروع مرة أخرى ، فبالطبع سيكون خياري الأول هو المساهمة في الريبو الرئيسي.

amenadiel @ هذا رائع - هل تمانع في دفع

سأجعل POC أحد هذه الأيام

يبدو أنه تم إصدار v4

أتفق مع travi ، وأنا أؤكد أن أول مثال على الأقل

alundiak وآخرون ، بالتأكيد لن يعمل كما هو مع 4.0. يحتوي D3 v4 على مساحة اسم مختلفة تمامًا ولا يتوافق بأي حال من الأحوال مع الإصدارات السابقة. يعد التحديث إلى الإصدار 4 مهمة بسيطة للغاية.

أنا أبدأ أساليب أخرى. قد يساعد فصل c3 إلى وحدات es6.

نهجي الأول ، باستخدام رقاقة ES6 لـ d3 ، هو اجتياز معظم الاختبار ، ولكن هناك الكثير من العمل حتى نجعل بنية المجلد متسقة مع بنية الوحدة.

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

لقد قمت بعمل علاقات عامة بنتيجة تجاربي حتى الآن: https://github.com/c3js/c3/pull/1765

هذا لا يشمل أي تغيير في d3. هذا التغيير ، الذي يعني استخدام الحد الأدنى من d3 @ 3 skeleton و monkey patch مع الوحدات الفرعية d3 @ 4 ، سيتم بناؤه على أساس # 1765.

هل هناك أي تحديثات لهذه القضايا؟

بدون التحديث إلى الإصدار 4 من D4 ، لا يمكنني استخدام هذا lib بعد الآن: /

Niondir بدافع الفضول ، لماذا هذا هو الحال؟ لا يُحدث V4 أي تغييرات كبيرة في الوظائف أو الاستقرار في D3. ما لم تكن ترغب في استخدام D3 v4 في أي مكان آخر في مشروعك (وإصدار C3 يسبب تعارضًا) ، فإن إصدار D3 الذي تستخدمه C3 لا يجب أن يكون مهمًا تمامًا ... صحيح ، إذا كنت مخطئًا في هذا الافتراض ، يرجى إعلامي لأنه قد يزيد الضغط لتحريك ترقية الإصدار 4 إلى الأمام.

بغض النظر ، أنا أنظر إلى العلاقات العامة الشاملة amenadiel في # 1765 هذا الأسبوع ، وقد تستخدم ذلك في النهاية كأساس للترقية إلى V4 لـ C3 v1. يُرجى التحلي بالصبر جميعًا ، فربما تكون هذه هي المشكلة الأقل أهمية في قائمة الانتظار بأكملها الآن. 😄

أتذكر فقط بعض المشكلات المتعلقة بوظيفة الدمج () المفقودة في المحدد.

Niondir حسنًا ، selection.merge ، بينما v3 لا - ولكن كيف يؤثر ذلك على استخدامك اليومي للمكتبة؟ إذا كنت لا تستخدم D3 خارج C3 ، فلا فائدة ملموسة لاستخدام الإصدار 4 حتى نقوم بتحديث المكتبة. لا تفهموني خطأ ، فهناك الكثير من الأسباب الوجيهة التي تدفعنا للتحديث إلى الإصدار 4 في سياق تطوير C3 (إنشاءات مخصصة وتقليل حجم المكتبة فيما بينها) ، ولكن من منظور المستخدم النهائي لا أفهم الرغبة في الوقت الحاضر. أي مزيد من المعلومات حول حالة الاستخدام الخاصة بك سيكون موضع ترحيب كبير! 😄

إحدى المشكلات التي كنا نرغب في الاستفادة منها هي تحليل التاريخ والوقت في الإصدار 4. الإصدار 3 لا يدعم المللي ثانية مع دقة تعويض TZ لتواريخ ISO-8601 ، لكن الإصدار 4 يدعم. نحن نستخدم مُنسِّقات d3 خارج c3 ، لكن لا يمكننا الاستفادة من التحليل المحسّن بدون تحميل كلا الإصدارين.

هتاف travi ، هذا مفيد. : +1:

إذا قمت بتثبيت d3-time-format كمكتبة منفصلة وقمت بمعالجة البيانات بذلك ، وتمريرها إلى C3 ، فهل سينجح ذلك؟ إذا لم يكن الأمر كذلك ، فهذه قصة مستخدم أولية جيدة لنا لكي نبدأ بها.

سأعترف أنه قد مر بعض الوقت منذ أن كنت عميقًا بما يكفي في هذا الجزء من نظامنا ، لذلك لم يعد لدي رأسي حوله جيدًا بعد الآن ، ولكن يبدو أن هذا سيقربنا.

أنا متأكد تمامًا من أن السبب الذي دفعني بعيدًا عن تحديث المنسقات الأخرى هو أنه لا يبدو أن هناك طريقة لمبادلة المحلل اللغوي الذي كان c3 يستخدمه للتحليل data.json مرت إلى .generate() . إذا كانت هناك طريقة للحصول على هذا القدر من استخدام المحلل اللغوي v4 ، أعتقد أن ذلك سيكون خطوة جيدة في الاتجاه الصحيح لحالة الاستخدام الخاصة بنا.

مجرد رمي حالة الاستخدام الخاصة بي في هذا المزيج.

يتطلب تنفيذنا تخطيط حزمة D3 الذي تم تحديثه للعمل بشكل أفضل في الإصدار 4.

من سجل التغيير:

تمت إعادة كتابة مخطط التعبئة الدائري ، d3.pack ، بالكامل لتطبيق خوارزمية Wang et al بشكل أفضل ، وإصلاح الأخطاء الرئيسية وتحسين النتائج! تُستخدم خوارزمية Welzl الآن لحساب الدائرة المغلقة الأصغر بدقة لكل من الوالدين ، بدلاً من الإجابة التقريبية التي استخدمها Wang et al.

إنني أتطلع إلى تنفيذ C3.js بدلاً من محاولة كتابة المخططات يدويًا. هذا هو كسر صفقة لهذا التبديل بالرغم من ذلك.

لا أحاول أن أنتقد C3.js على الإطلاق ، فأنا أدرك تمامًا المهمة التي ستكون عليها الترقية إلى D3 V4. مجرد تقديم السيناريو الخاص بنا في حال كان يساعد في اتخاذ قرار بشأن هذه المشكلة بالذات.

شكرا يارجل!

beaudesigns في صحتك ، هذا مفيد للغاية.

سأقوم بإنشاء طلب سحب ويب مع ما فعلته حتى الآن مع الإصدار 1 ، ويمكننا العمل على ذلك حتى يصبح جاهزًا للدمج. من المسلم به أنني مشغول بكل من الانتخابات والكتاب الذي أعمل عليه ، لكنني سأحب ذلك إذا كان الأشخاص الذين هم على استعداد للمساعدة في دفع هذا إلى الأمام قادرين على المساهمة.

هل هناك أي تحديث على ذلك؟ يبدو أن العمل على جعل C3 متوافقًا مع D3 v4 قد توقف قليلاً.

ما هو وضع هذه القضية؟ لدي خطأ Cannot read property 'format' لـ D3 4.x

نفس الشيء هنا ، لكننا على استعداد للمساعدة في الترحيل إذا أخبرنا المشرفون ما هو الأكثر قيمة بالنسبة لهم في الترحيل. شكرا مرة أخرى على العمل العظيم!
في صحتك،

أنا أعمل على هذا في # 2246. لا تزال هناك حاجة إلى بعض الإصلاحات ، ولكن يبدو أنها تعمل بشكل جيد بشكل أساسي.

تمت إضافة دعم D3 v4 بواسطة https://github.com/c3js/c3/commit/ccff119809de05a68ff3e33521a79566bf12b903 ويجب أن يكون متاحًا في الإصدار 0.5.0 .

وجدت مشكلة واحدة في Gauge عندما قمت بتحديث C3JS إلى الأحدث. ها هو https://github.com/c3js/c3/issues/2390

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات