挪威 / 诺瓦条形图度量
一个用于条形图指标和频率分布的Laravel Nova工具。
Requires
- php: >=7.1.0
README
此Nova工具允许您
- 创建条形图
- 创建频率分布图(使用饼图和/或条形图)
条形图指标截图
频率分布指标截图(条形图)
频率分布指标截图(饼图)
条形图指标
对于条形图指标,只需创建一个与通常为Partition
指标创建的指标类即可。所有在Partition
指标中可用的方法也都在BarChartMetric
中可用!您不需要扩展Partition
,只需像这样扩展BarChartMetric
use Insenseanalytics\NovaBarMetrics\BarChartMetric; class BrandsPerCategory extends BarChartMetric { public function calculate(Request $request) { return $this->count($request, BrandCategory::class, 'category_name'); } }
您还可以像在Laravel Nova中的TrendMetric
一样使用suffix
、prefix
、dollars
和euros
方法。除此之外,我们还有一个precision
方法来设置条形图右上角显示的avg
指标的精度。
条形图指标和分区指标的频率分布
要创建频率分布图,可以扩展BarChartMetric
类或扩展Partition
类并使用特性HasFrequencyDistributions
。您可以使用distributions
辅助方法创建频率分布图,如下所示
BarChartMetric示例
use Insenseanalytics\NovaBarMetrics\BarChartMetric; class BrandFacebookFollowers extends BarChartMetric { public function calculate(Request $request) { return $this->distributions($request, Brand::class, 'facebook_followers', 100000); } }
在上面的示例中,100000是频率分布中范围使用的步长大小
,facebook_followers是按范围分布的列
。
您可以通过使用distributionsWithSteps
方法而不是提供步长大小
,而是提供最大步数,该包将自动计算步长大小,如下所示
use Insenseanalytics\NovaBarMetrics\BarChartMetric; class BrandFacebookFollowers extends BarChartMetric { public function calculate(Request $request) { return $this->distributionsWithSteps($request, Brand::class, 'facebook_followers', 15); } }
对于友好的格式化范围(K表示千,M表示百万,B表示十亿),您可以使用withFormattedRangeLabels
方法,如下所示
public function calculate(Request $request) { return $this->distributions($request, Brand::class, 'facebook_followers', 100000) ->withFormattedRangeLabels(); }
分区指标示例
use Laravel\Nova\Metrics\Partition; use Insenseanalytics\NovaBarMetrics\HasFrequencyDistributions; class BrandFacebookFollowers extends Partition { use HasFrequencyDistributions; public function calculate(Request $request) { return $this->distributions($request, Brand::class, 'facebook_followers', 100000); } }
要求 & 依赖关系
除了Laravel Nova包外,没有PHP依赖项。在前端JS中,此包使用vue
、chartist
、chartist-plugin-tooltips
和laravel-nova
,这些都是Nova本身使用的。
安装
您可以通过composer将此工具安装到使用Nova的Laravel应用中
composer require insenseanalytics/nova-bar-metrics
接下来,如果您没有启用包发现,则需要将提供者在config/app.php
文件中注册。
'providers' => [ ..., Insenseanalytics\NovaBarMetrics\NovaBarMetricsServiceProvider::class, ]
用法
您可以使用控制台命令php artisan nova:barmetric <classname>
来创建新的BarMetric类
贡献
欢迎贡献,只要您使用PSR-2,解释您想解决的问题/功能,并用测试来支持您的代码,您的贡献将得到充分认可。祝您编码愉快!
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件