学习图表框架-uPlot(vue项目)第四篇 柱状图

项目中用到了分组柱状图,参考官方demo,图表样式如下:

 引入需要的文件

<script src="./uPlot.iife.js"></script>
<script src="./quadtree.js"></script>
<script src="./distr.js"></script>
<script src="./grouped-bars.js"></script>

准备需要的数据

const data = [
	["Group A", "Group B", "Group C"],
	[1, 2, 3],
	[3, 2, 1],
	[5, 9, 3],
];

准备series配置项,有几组数据,就需要几个

const series = [
	{},
	{
		label: "Metric 1",
		fill: "#33BB55",
	},
	{
		label: "Metric 2",
		fill: "#B56FAB",
	},
	{
		label:	"Metric 3",
		fill: "#BB1133",
	},
];

生成柱状图的方法

function makeChart(o, data, bands) {
	let ori = o.ori;
	let dir = o.dir;
	let stacked = o.stacked;

	const opts = {
	width:  ori == 0 ? 800 : 400,
					    height: ori == 0 ? 400 : 800,
					scales: {
						y: {
							range: [0, null],
							ori: ori == 0 ? 1 : 0,
						//	dir: ori == 0 ? 1 : -1,
						}
					},
					bands,
					axes: [
						{
						//	rotate: -45,
						},
						{
						//	show: false,
							side: ori == 0 ? 3 : 0,
						},
					],
					legend: {
						live: false,
						markers: {
							width: 0,
						}
					},
					padding: [null, 0, null, 0],
					series: JSON.parse(JSON.stringify(series)),
					plugins: [
						seriesBarsPlugin({
							ori,
							dir,
							stacked,
						}),
					],
				};

				let u = new uPlot(opts, data, document.body);
			}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值