Chartkick column charts multiple colors

前端 未结 3 1995
日久生厌
日久生厌 2021-01-05 19:13

I\'m using chartckick in my RoR project to generate charts, which works quite nice. (along with Google Charts).

I\'ve created a column chart with only 2 bars

相关标签:
3条回答
  • 2021-01-05 19:38

    From @buren's comment on GitHub it seems that using a different JSON structure will invoke different colors on the column_cart.


    I changed the output in the Helper:

    def parse_gender_data(data)
      gender_data = Hash.new
      gender_data[:male] = data[1]
      gender_data[:female] = data[2]
      [{"name" => "Male","data" => {"Gender" => gender_data[:male]}},{"name" => "Female","data" => {"Gender" => gender_data[:female]}}]
    end
    

    And created the chartkick.rb config file (config/initializers/chartkick.rb), adding some colors:

    Chartkick.options = {
      colors: ["#63b598", "#ce7d78", "#ea9e70", "#a48a9e", "#c6e1e8"]
    }
    


    Which outputs the desiring result:

    enter image description here

    0 讨论(0)
  • 2021-01-05 19:40

    The following also works. I didn't need any new files in initializers (no chartkick.rb file), this just worked by adding the following code to my helper file:

      def networth_data
        [
          {name: "Assets", data: {"NetWorth": 6979.53}}, 
          {name: "Liabilities", data: {"NetWorth": 10532.32}}
        ]
      end
    

    And then in my html.erb i specified the colors and other options I wanted:

    <%= column_chart networth_data, 
      colors: ["green", "#FF0000"], 
      library: {backgroundColor: "#FFF", height: 265} %>
    

    ...renders this chart:

    enter image description here

    0 讨论(0)
  • 2021-01-05 19:40

    Have you seen ColumnStyles

       function drawChart() {
          var data = google.visualization.arrayToDataTable([
            ['Year', 'Visitations', { role: 'style' } ],
            ['2010', 10, 'color: gray'],
            ['2010', 14, 'color: #76A7FA'],
            ['2020', 16, 'opacity: 0.2'],
            ['2040', 22, 'stroke-color: #703593; stroke-width: 4; fill-color: #C5A5CF'],
            ['2040', 28, 'stroke-color: #871B47; stroke-opacity: 0.6; stroke-width: 8; fill-color: #BC5679; fill-opacity: 0.2']
          ]);
    

    but take a look at the link there are some really cool stuff there

    0 讨论(0)
提交回复
热议问题