C3 bar chart not rendering bars when title set to none

Created on 13 October 2023, over 1 year ago

Problem/Motivation

C3 bar chart not rendering bars when title set to none. Just shows an empty chart.
Behavior is the same with and without aggregation.

Steps to reproduce

Proposed resolution

Remaining tasks

User interface changes

API changes

Data model changes

πŸ› Bug report
Status

Active

Version

5.0

Component

C3.js integration

Created by

πŸ‡¦πŸ‡ΉAustria maxilein

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Merge Requests

Comments & Activities

  • Issue created by @maxilein
  • πŸ‡¦πŸ‡ΉAustria maxilein

    For now I just used title rewrite with " ".

  • First commit to issue fork.
  • πŸ‡ΊπŸ‡ΈUnited States andileco

    Can you add an image of your rendered chart? I'm trying to understand what you don't want to see on the generated chart.

    I will add at least a small commit to the issue fork that prevents an error from occurring.

  • Merge request !74Update C3.php β†’ (Open) created by andileco
  • Open in Jenkins β†’ Open on Drupal.org β†’
    Core: 10.1.x + Environment: PHP 8.1 & MySQL 5.7
    last update over 1 year ago
    11 pass
  • πŸ‡¦πŸ‡ΉAustria maxilein

    Some things must have changed in the latest dev version:
    Now it is not an empty graph (with only axes). Now there is an ajax error:

    XHRPOST
    https://myserver/admin/structure/views/view/chart_bmgl_entwicklung_im_wj...
    [HTTP/1.1 500 500 Service unavailable (with message) 179ms]

    Uncaught
    Object { message: "\nAn AJAX HTTP error occurred.\nHTTP Result Code: 500\nDebugging information follows.\nPath: /admin/structure/views/view/chart_bmgl_entwicklung_im_wj/preview/default\nStatusText: 500 Service unavailable (with message)\nResponseText: The website encountered an unexpected error. Please try again later.TypeError: Drupal\\charts_c3\\Plugin\\chart\\Library\\C3::stripLabelTags(): Argument #1 ($items) must be of type array, null given, called in /var/www/web/modules/contrib/charts/modules/charts_c3/src/Plugin/chart/Library/C3.php on line 271 in Drupal\\charts_c3\\Plugin\\chart\\Library\\C3->stripLabelTags() (line 413 of modules/contrib/charts/modules/charts_c3/src/Plugin/chart/Library/C3.php). Drupal\\charts_c3\\Plugin\\chart\\Library\\C3->populateAxes() (Line: 96)\nDrupal\\charts_c3\\Plugin\\chart\\Library\\C3->preRender() (Line: 213)\nDrupal\\charts\\Element\\Chart->preRender()\ncall_user_func_array() (Line: 111)\nDrupal\\Core\\Render\\Renderer->doTrustedCallback() (Line: 797)\nDrupal\\Core\\Render\\Renderer->doCallback() (Line: 386)\nDrupal\\Core\\Render\\Renderer->doRender() (Line: 204)\nDrupal\\Core\\Render\\Renderer->render() (Line: 474)\nDrupal\\Core\\Template\\TwigExtension->escapeFilter() (Line: 53)\n__TwigTemplate_4bebe2bf3ca6985fc270a75b6ffb16f8->doDisplay() (Line: 394)\nTwig\\Template->displayWithErrorHandling() (Line: 367)\nTwig\\Template->display() (Line: 379)\nTwig\\Template->render() (Line: 40)\nTwig\\TemplateWrapper->render() (Line: 53)\ntwig_render_template() (Line: 372)\nDrupal\\Core\\Theme\\ThemeManager->render() (Line: 445)\nDrupal\\Core\\Render\\Renderer->doRender() (Line: 204)\nDrupal\\Core\\Render\\Renderer->render() (Line: 474)\nDrupal\\Core\\Template\\TwigExtension->escapeFilter() (Line: 110)\n__TwigTemplate_8c2763fed73f62834a9d921e08ccd97a->doDisplay() (Line: 394)\nTwig\\Template->displayWithErrorHandling() (Line: 367)\nTwig\\Template->display() (Line: 379)\nTwig\\Template->render() (Line: 40)\nTwig\\TemplateWrapper->render() (Line: 53)\ntwig_render_template() (Line: 372)\nDrupal\\Core\\Theme\\ThemeManager->render() (Line: 445)\nDrupal\\Core\\Render\\Renderer->doRender() (Line: 458)\nDrupal\\Core\\Render\\Renderer->doRender() (Line: 458)\nDrupal\\Core\\Render\\Renderer->doRender() (Line: 458)\nDrupal\\Core\\Render\\Renderer->doRender() (Line: 204)\nDrupal\\Core\\Render\\Renderer->render() (Line: 148)\nDrupal\\Core\\Render\\Renderer->Drupal\\Core\\Render\\{closure}() (Line: 592)\nDrupal\\Core\\Render\\Renderer->executeInRenderContext() (Line: 149)\nDrupal\\Core\\Render\\Renderer->renderRoot() (Line: 66)\nDrupal\\Core\\Render\\MainContent\\AjaxRenderer->renderResponse() (Line: 90)\nDrupal\\Core\\EventSubscriber\\MainContentViewSubscriber->onViewRenderArray()\ncall_user_func() (Line: 111)\nDrupal\\Component\\EventDispatcher\\ContainerAwareEventDispatcher->dispatch() (Line: 186)\nSymfony\\Component\\HttpKernel\\HttpKernel->handleRaw() (Line: 76)\nSymfony\\Component\\HttpKernel\\HttpKernel->handle() (Line: 58)\nDrupal\\Core\\StackMiddleware\\Session->handle() (Line: 48)\nDrupal\\Core\\StackMiddleware\\KernelPreHandle->handle() (Line: 106)\nDrupal\\page_cache\\StackMiddleware\\PageCache->pass() (Line: 85)\nDrupal\\page_cache\\StackMiddleware\\PageCache->handle() (Line: 48)\nDrupal\\Core\\StackMiddleware\\ReverseProxyMiddleware->handle() (Line: 51)\nDrupal\\Core\\StackMiddleware\\NegotiationMiddleware->handle() (Line: 51)\nDrupal\\Core\\StackMiddleware\\StackedHttpKernel->handle() (Line: 704)\nDrupal\\Core\\DrupalKernel->handle() (Line: 19)\n", name: "AjaxError", stack: "@https://myserver/core/misc/ajax.js?v=10.1.6:196:32\n@https://myserver/core/misc/ajax.js?v=10.1.6:1889:3\n" }
    ajax.js:196:32
    error ajax.js:1194
    complete ajax.js:597
    jQuery 8
    eventResponse ajax.js:785
    Ajax ajax.js:635
    jQuery 8
    Ajax ajax.js:624
    ajax ajax.js:267
    loadAjaxBehavior ajax.js:47
    forEach self-hosted:203
    loadAjaxBehavior ajax.js:44
    forEach self-hosted:203
    attach ajax.js:52
    attachBehaviors drupal.js:166
    forEach self-hosted:203
    attachBehaviors drupal.js:162
    big_pipe.js:138
    big_pipe.js:169

    If you tell me what to look for I can look for that in firefox console.

  • πŸ‡¦πŸ‡ΉAustria maxilein

    That is what is logged by Drupal:

    The last entry is a php error:

    TypeError: Drupal\charts_c3\Plugin\chart\Library\C3::stripLabelTags(): Argument #1 ($items) must be of type array, null given, called in /var/www/web/modules/contrib/charts/modules/charts_c3/src/Plugin/chart/Library/C3.php on line 271 in Drupal\charts_c3\Plugin\chart\Library\C3->stripLabelTags() (line 413 of /var/www/web/modules/contrib/charts/modules/charts_c3/src/Plugin/chart/Library/C3.php).

    And before that a warning:

    Warning: Undefined array key "#labels" in Drupal\charts_c3\Plugin\chart\Library\C3->populateAxes() (line 271 of /var/www/web/modules/contrib/charts/modules/charts_c3/src/Plugin/chart/Library/C3.php)

    #0 /var/www/web/core/includes/bootstrap.inc(164): _drupal_error_handler_real()
    #1 /var/www/web/modules/contrib/charts/modules/charts_c3/src/Plugin/chart/Library/C3.php(271): _drupal_error_handler()
    #2 /var/www/web/modules/contrib/charts/modules/charts_c3/src/Plugin/chart/Library/C3.php(96): Drupal\charts_c3\Plugin\chart\Library\C3->populateAxes()
    #3 /var/www/web/modules/contrib/charts/src/Element/Chart.php(213): Drupal\charts_c3\Plugin\chart\Library\C3->preRender()
    #4 [internal function]: Drupal\charts\Element\Chart->preRender()
    #5 /var/www/web/core/lib/Drupal/Core/Security/DoTrustedCallbackTrait.php(111): call_user_func_array()
    #6 /var/www/web/core/lib/Drupal/Core/Render/Renderer.php(797): Drupal\Core\Render\Renderer->doTrustedCallback()
    #7 /var/www/web/core/lib/Drupal/Core/Render/Renderer.php(386): Drupal\Core\Render\Renderer->doCallback()
    #8 /var/www/web/core/lib/Drupal/Core/Render/Renderer.php(204): Drupal\Core\Render\Renderer->doRender()
    #9 /var/www/web/core/lib/Drupal/Core/Template/TwigExtension.php(474): Drupal\Core\Render\Renderer->render()
    #10 /var/www/web/sites/default/files/php/twig/656b28a43f783_views-ui-view-preview-sec_QqrDZ1ouayskJwvNgwsFo4H_o/qJeZdp0BN9gKWB2RzakK8NriAcYijQ-BkkfYeOWKYJM.php(53): Drupal\Core\Template\TwigExtension->escapeFilter()
    #11 /var/www/vendor/twig/twig/src/Template.php(394): __TwigTemplate_4bebe2bf3ca6985fc270a75b6ffb16f8->doDisplay()
    #12 /var/www/vendor/twig/twig/src/Template.php(367): Twig\Template->displayWithErrorHandling()
    #13 /var/www/vendor/twig/twig/src/Template.php(379): Twig\Template->display()
    #14 /var/www/vendor/twig/twig/src/TemplateWrapper.php(40): Twig\Template->render()
    #15 /var/www/web/core/themes/engines/twig/twig.engine(53): Twig\TemplateWrapper->render()
    #16 /var/www/web/core/lib/Drupal/Core/Theme/ThemeManager.php(372): twig_render_template()
    #17 /var/www/web/core/lib/Drupal/Core/Render/Renderer.php(445): Drupal\Core\Theme\ThemeManager->render()
    #18 /var/www/web/core/lib/Drupal/Core/Render/Renderer.php(204): Drupal\Core\Render\Renderer->doRender()
    #19 /var/www/web/core/lib/Drupal/Core/Template/TwigExtension.php(474): Drupal\Core\Render\Renderer->render()
    #20 /var/www/web/sites/default/files/php/twig/656b28a43f783_views-view.html.twig_n7dITis8Df0prBw4FrEt5b-1p/SvMQ801z9ea0oAcV6iqRfYbNymVTFahn_Lr2YqWax4w.php(110): Drupal\Core\Template\TwigExtension->escapeFilter()
    #21 /var/www/vendor/twig/twig/src/Template.php(394): __TwigTemplate_8c2763fed73f62834a9d921e08ccd97a->doDisplay()
    #22 /var/www/vendor/twig/twig/src/Template.php(367): Twig\Template->displayWithErrorHandling()
    #23 /var/www/vendor/twig/twig/src/Template.php(379): Twig\Template->display()
    #24 /var/www/vendor/twig/twig/src/TemplateWrapper.php(40): Twig\Template->render()
    #25 /var/www/web/core/themes/engines/twig/twig.engine(53): Twig\TemplateWrapper->render()
    #26 /var/www/web/core/lib/Drupal/Core/Theme/ThemeManager.php(372): twig_render_template()
    #27 /var/www/web/core/lib/Drupal/Core/Render/Renderer.php(445): Drupal\Core\Theme\ThemeManager->render()
    #28 /var/www/web/core/lib/Drupal/Core/Render/Renderer.php(458): Drupal\Core\Render\Renderer->doRender()
    #29 /var/www/web/core/lib/Drupal/Core/Render/Renderer.php(458): Drupal\Core\Render\Renderer->doRender()
    #30 /var/www/web/core/lib/Drupal/Core/Render/Renderer.php(458): Drupal\Core\Render\Renderer->doRender()
    #31 /var/www/web/core/lib/Drupal/Core/Render/Renderer.php(204): Drupal\Core\Render\Renderer->doRender()
    #32 /var/www/web/core/lib/Drupal/Core/Render/Renderer.php(148): Drupal\Core\Render\Renderer->render()
    #33 /var/www/web/core/lib/Drupal/Core/Render/Renderer.php(592): Drupal\Core\Render\Renderer->Drupal\Core\Render\{closure}()
    #34 /var/www/web/core/lib/Drupal/Core/Render/Renderer.php(149): Drupal\Core\Render\Renderer->executeInRenderContext()
    #35 /var/www/web/core/lib/Drupal/Core/Render/MainContent/AjaxRenderer.php(66): Drupal\Core\Render\Renderer->renderRoot()
    #36 /var/www/web/core/lib/Drupal/Core/EventSubscriber/MainContentViewSubscriber.php(90): Drupal\Core\Render\MainContent\AjaxRenderer->renderResponse()
    #37 [internal function]: Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray()
    #38 /var/www/web/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php(111): call_user_func()
    #39 /var/www/vendor/symfony/http-kernel/HttpKernel.php(186): Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch()
    #40 /var/www/vendor/symfony/http-kernel/HttpKernel.php(76): Symfony\Component\HttpKernel\HttpKernel->handleRaw()
    #41 /var/www/web/core/lib/Drupal/Core/StackMiddleware/Session.php(58): Symfony\Component\HttpKernel\HttpKernel->handle()
    #42 /var/www/web/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(48): Drupal\Core\StackMiddleware\Session->handle()
    #43 /var/www/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(106): Drupal\Core\StackMiddleware\KernelPreHandle->handle()
    #44 /var/www/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(85): Drupal\page_cache\StackMiddleware\PageCache->pass()
    #45 /var/www/web/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(48): Drupal\page_cache\StackMiddleware\PageCache->handle()
    #46 /var/www/web/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(51): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle()
    #47 /var/www/web/core/lib/Drupal/Core/StackMiddleware/StackedHttpKernel.php(51): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle()
    #48 /var/www/web/core/lib/Drupal/Core/DrupalKernel.php(704): Drupal\Core\StackMiddleware\StackedHttpKernel->handle()
    #49 /var/www/web/index.php(19): Drupal\Core\DrupalKernel->handle()
    #50 {main}

  • πŸ‡ΊπŸ‡ΈUnited States andileco

    Please apply the change I made in the issue branch to prevent the PHP error. I guess what I'm looking for is your completed chart when you were OK with using '' for the label field.

  • πŸ‡¦πŸ‡ΉAustria maxilein

    Hi,

    as you can see the grouping of data follows the title. That's why in this example overwritten multiple bars get combined.
    (That was not an issue in the original graph I tried)

    Shouldn't the graphing follow the data rows - and then apply the title - and not vise versa like it is now?

    R

  • πŸ‡¦πŸ‡ΉAustria maxilein

    You can see in the sample data that the labeling of the columns is also different...
    It is not clear to me how to get the value into the label and when to get a title string.

  • πŸ‡ΊπŸ‡ΈUnited States andileco

    So the label field is reserved for the category (x-axis), and I think what you want is the series title. You can do that as you did either by grouping, or by using the Chart Attachment display option, then rewrite the label in each display. Can also be achieved with a hook.

  • Status changed to Closed: duplicate 1 day ago
  • πŸ‡ΊπŸ‡ΈUnited States andileco

    Closing in favor of: https://www.drupal.org/project/charts/issues/3524784 πŸ› Error if stripLabelTags passed NULL in C3/Billboard Active

Production build 0.71.5 2024