使用C3在x轴上使用单独的列制作简单的条形图

布雷特东

我正在尝试使用C3和D3创建条形图,但是除了使它们在Y轴上使用相同的比例外,我很难使各列彼此无关。

我提供了图片以更好地说明。

var chart = c3.generate({
    bindto: '#designerChart',
    data: {

      columns: [
        ['MA', 6],
        ['ME', 8],
        ['NY', 6],
        ['CN', 5],
        ['TX', 2]
      ],
      type: 'bar',

    },
    axis: {
        y: {
            max: 10,
            min: 0,
            padding: { top: 0, bottom: 0 }
        }
    }
});

结果是一组条形图,当我将它们悬停在它们上时,会得到所有条形图的详细信息,而不是我想要的。

条形图,但像阶梯形的列一样分组

我可以更改数据,以使其显示单独的列,但是它们具有相同的颜色,并且当我要将其转换为饼图时,无法区分状态。

var chart = c3.generate({
    bindto: '#designerChart',
    data: {
      x: 'x',
      columns: [
        ['x','MA', 'ME', 'NY', 'CN', 'TX'],
        ['rainfall', 6, 8, 6, 5, 4 ]
      ],
      type: 'bar',

    },
    axis: {
        x: {
            type: 'category'
        },
        y: {
            max: 10,
            min: 0,
            padding: { top: 0, bottom: 0 }
        }
    }
});

图表,但颜色不同 无意义的饼图

这就是我要的:

在此处输入图片说明

用户名

条形图解决方案:

<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>
<link href="https://rawgit.com/masayuki0812/c3/master/c3.css" rel="stylesheet" />
<script src="https://rawgit.com/masayuki0812/c3/master/c3.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8">
  <title>C3 Bar Chart</title>
</head>

<body>
  <div id="designerChart"></div>

  <script type="text/javascript" charset="utf-8">
    $(document).ready(function() {

      columnColors = ['#9a4d6f', '#c76c47', '#f85115', '#d9b099', '#d4ba2f'];

      function setColumnBarColors(colors, chartContainer) {

        $('#' + chartContainer + ' .c3-chart-bars .c3-shape').each(function(index) {
          this.style.cssText += 'fill: ' + colors[index] + ' !important; stroke: ' + colors[index] + '; !important';
        });

        $('#' + chartContainer + ' .c3-chart-texts .c3-text').each(function(index) {
          this.style.cssText += 'fill: ' + colors[index] + ' !important;';
        });
      }

      var chart = c3.generate({
        bindto: '#designerChart',
        data: {
          columns: [
            ['rainfall', 6, 8, 6, 5, 4]
          ],
          type: 'bar'
        },
        axis: {
          x: {
            label: {
              text: 'States',
              position: 'outer-center',
            },
            type: 'category',
            categories: ['MA', 'ME', 'NY', 'CN', 'TX'],
            tick: {
              centered: true
            }
          },
          y: {
            label: {
              text: 'Rainfall (inches)',
              position: 'outer-middle'
            },
            max: 10,
            min: 0,
            padding: {
              top: 0,
              bottom: 0
            }
          }
        },
        legend: {
          show: false
        }
      });

      setColumnBarColors(columnColors, 'designerChart');

      // Color turns to original when window is resized
      // To handle that
      $(window).resize(function() {
        setColumnBarColors(columnColors, 'designerChart');
      });
    });
  </script>

</body>

</html>

颜色在此小提琴中变为原始(整页)。但是它会根据工作的本地文件以及c3,d3和jquery的本地引用改变颜色。

参考文献:

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在c3.js中在x轴上制作倒置条形图

C3条形图-自定义X轴标签

使用Coreplot布置条形图,并使用labelFormatter在X轴上显示日期。但是条形图没有显示

如何通过在 x 轴上使用两个变量和在 y 轴上使用分组变量来制作条形图?

C3使用分类JSON数据创建条形图

如何使用C3创建字符串数据的堆积条形图?

c3条形图具有固定值的Y轴值

如何使用matplotlib.pyplot在x轴上创建分组的条形图(按月和年),在y轴上创建值的条形图?

如何使用非数字X轴创建条形图?

使用条形图对x轴进行分组

使用分箱 X 值 Python 制作条形图

Python:使用给定列用x轴绘制熊猫数据框的条形图

离线打印:生成条形图,在(y轴)上2列,在(x轴)上1列

使用d3.js制作分组条形图

使用 d3.js 制作条形图

如何在 R 中使用布尔类别表作为 x 轴标签制作条形图?

如何制作X轴包含间隙的条形图

在不使用秩和点图的情况下在 x 轴上对齐条形图和线图

C3 条形图宽度无法正常工作

在普通数据集中的Highcharts中在单独的x轴上绘制条形图和折线系列图

Python使用辅助y轴制作条形图和折线图

使用plottable.js在时间轴上的条形图-条形位置

x轴上的BIRT极限条形图

堆叠条形图,在 x 轴上放置良好的日期

在X轴Altair上翻转垂直条形图

在 x 轴上具有不同列的 R 条形图

x轴上的自定义D3`tickValue`-水平条形图

使用mpld3保存为html文件的条形图在顶部显示x轴刻度

以日期为x轴的C3.js条形图