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

Issue fork charts-3394026

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

maxilein created an issue. See original summary.

maxilein’s picture

For now I just used title rewrite with " ".

andileco made their first commit to this issue’s fork.

andileco’s picture

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.

maxilein’s picture

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.

maxilein’s picture

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}

andileco’s picture

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.

maxilein’s picture

StatusFileSize
new34.22 KB
new43.46 KB

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

maxilein’s picture

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.

andileco’s picture

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.

andileco’s picture

Status: Active » Closed (duplicate)