如何在Bootstrap中实现图表?

Dar*_*tos 17 css ruby-on-rails twitter-bootstrap

我指的是这里的存储库背景中的条形图(它们实际上非常微妙):例如:https://github.com/search? l =ruby&q=stars%3A%3E1&s=forks&type= Repositories

我所拥有的是一个表格,我希望表格单元格的背景是用户进度的条形图.关于我如何完成这件事的任何指示?

ron*_*y36 26

我建议你使用HighCharts.它非常棒且易于集成.

例:

HTML:

<script src="http://code.highcharts.com/highcharts.js"></script>
<script src="http://code.highcharts.com/modules/exporting.js"></script>

<div id="container" style="min-width: 310px; height: 400px; margin: 0 auto"></div>
Run Code Online (Sandbox Code Playgroud)

脚本:

$(function () {
        $('#container').highcharts({
            chart: {
                type: 'column'
            },
            title: {
                text: 'Monthly Average Rainfall'
            },
            subtitle: {
                text: 'Source: WorldClimate.com'
            },
            xAxis: {
                categories: [
                    'Jan',
                    'Feb',
                    'Mar',
                    'Apr',
                    'May',
                    'Jun',
                    'Jul',
                    'Aug',
                    'Sep',
                    'Oct',
                    'Nov',
                    'Dec'
                ]
            },
            yAxis: {
                min: 0,
                title: {
                    text: 'Rainfall (mm)'
                }
            },
            tooltip: {
                headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
                pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
                    '<td style="padding:0"><b>{point.y:.1f} mm</b></td></tr>',
                footerFormat: '</table>',
                shared: true,
                useHTML: true
            },
            plotOptions: {
                column: {
                    pointPadding: 0.2,
                    borderWidth: 0
                }
            },
            series: [{
                name: 'Tokyo',
                data: [49.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]

            }, {
                name: 'New York',
                data: [83.6, 78.8, 98.5, 93.4, 106.0, 84.5, 105.0, 104.3, 91.2, 83.5, 106.6, 92.3]

            }, {
                name: 'London',
                data: [48.9, 38.8, 39.3, 41.4, 47.0, 48.3, 59.0, 59.6, 52.4, 65.2, 59.3, 51.2]

            }, {
                name: 'Berlin',
                data: [42.4, 33.2, 34.5, 39.7, 52.6, 75.5, 57.4, 60.4, 47.6, 39.1, 46.8, 51.1]

            }]
        });
    });
Run Code Online (Sandbox Code Playgroud)

这是小提琴.

  • @bgs恐怕它不是免费用于商业用途。您可以免费将其免费用于非商业用途http://www.highcharts.com/products/highcharts (2认同)

Ale*_*iol 5

比我之前的答案晚,但无论如何可能有用;虽然 gRaphaël Charting 可能是一个过时的替代方案,但更新和更好的选择可能是http://chartjs.org - 仍然没有任何 Flash,具有 MIT 许可证和最近更新的 GitHub。

自从我上次回答以来,我自己一直在使用它,所以现在我有一些网络应用程序和另一个网络应用程序。

如果您要重新开始一个项目,请先尝试使用 Chart.js。


Lan*_*Lan 4

Github 使用 HTML canvas元素做到了这一点。

该规范定义了 HTML canvas 元素的 2D 上下文。2D 上下文提供了在画布绘图表面上绘制和操作图形的对象、方法和属性。

如果您使用浏览器检查器,您会在每个列表元素内看到一个带有canvas元素的 div。

<div class="participation-graph">
   <canvas class="bars" data-color-all="#F5F5F5" data-color-owner="#F5F5F5" data-source="/mxcl/homebrew/graphs/owner_participation" height="80" width="640"></canvas>
</div>
Run Code Online (Sandbox Code Playgroud)

使用 CSS(z-index、位置...),您可以根据您的情况将该画布放在 li 元素或表格的背景中。

搜索适合您需求的 jquery 插件。

希望这些指示可以帮助您实现这一目标。