| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340 | <template>	<view>		<cu-custom bgColor="bg-gradual-blue" :isBack="true">			<block slot="backText">返回</block>			<block slot="content">图表示例</block>		</cu-custom>		<!-- Number柱状图Compent1 -->		<view class="cu-bar bg-white solid-bottom margin-top">			<histogram-chart ref="histogramData0" :dataAs="histogramData" canvasId="ht0" />			<view style="text-align: center;line-height: 40px;">柱状图histogram Number</view>			<button @click="changeHistogramData">改变柱状图数据</button>		</view>  		<!-- 百分比柱状图Compent2 -->		<view class="cu-bar bg-white solid-bottom margin-top">			<histogram-chart				:dataAs="histogramData2"				ref="histogramData1"				canvasId="ht1"				labelKey="label"				valueKey="value"				:yAxisAs="{					formatter: {						type: 'percent' //type:number percent String,额外参数:fixed:NUmber,name:String					}				}"			/>			<view style="text-align: center;line-height: 40px;">柱状图histogram percent</view>		</view>		<!-- 柱状图Compent extra拓展 -->		<view class="cu-bar bg-white solid-bottom margin-top">			<histogram-chart				:dataAs="histogramData3"				ref="histogramData2"				canvasId="ht3"				:extraAs="{					extra: {						column: {							type: 'stack',							width: 20						}					}				}"			/>			<view style="text-align: center;line-height: 40px;">柱状图histogram extra拓展</view>		</view>		<!-- 圆环arcbar -->		<view class="cu-bar bg-white solid-bottom margin-top">			<view class="arcbar">				<block v-for="(item, index) in arcbarList" :key="index">					<arcbar-chart						:canvasId="`index_arcbar_${index}`"						:ref="`arcbar${index}`"						:dataAs="item"						:basicAs="{							colors: ['#ff7600']						}"					/>				</block>			</view>			<view style="text-align: center;line-height: 40px;">圆环arcbar</view>		</view>		<!-- 折线Line带百分比 -->		<view class="cu-bar bg-white solid-bottom margin-top line">			<line-chart				canvasId="index_line_1"				ref="lineData1"				:dataAs="lineData"				:yAxisAs="{					formatter: {						type: 'percent', //type:number percent String,额外参数:fixed:NUmber,name:String						fixed: 2					}				}"			/>			<view style="text-align: center;line-height: 40px;">折线LineChart percent</view>			<button @click="changeLineData">改变折线图数据</button>		</view>		<!-- 折线Line纯数字-->		<view class="cu-bar bg-white solid-bottom margin-top line">			<line-chart ref="lineData2" canvasId="index_line_2" :dataAs="lineData2" />			<view style="text-align: center;line-height: 40px;">折线LineChart Number</view>		</view>		<!-- 饼状图 -->		<view <view class="cu-bar bg-white solid-bottom margin-top pie_chart">			<pie-chart ref="pieChart0" :dataAs="pieData" canvasId="index_pie_1" />			<view style="text-align: center;line-height: 40px;">饼状图PieChart</view>			<button @click="changePieData">改变饼状图数据</button>		</view>   		<!-- 环状图 -->		<view  class="cu-bar bg-white solid-bottom margin-top ring_chart">			<ring-chart				:dataAs="pieData"				ref="ringChart0"				canvasId="index_ring_1"							/>			<view style="text-align: center;line-height: 40px;">环状图 RingChart</view>			<button @click="changeRingData">改变环状图数据</button>		</view>	</view></template><script> import HistogramChart from '@/components/stan-ucharts/HistogramChart.vue';import ArcbarChart from '@/components/stan-ucharts/ArcbarChart.vue';import LineChart from '@/components/stan-ucharts/LineChart.vue';import PieChart from '@/components/stan-ucharts/PieChart.vue';import RingChart from '@/components/stan-ucharts/RingChart.vue';export default {	name: 'Index',	components: {		HistogramChart,		ArcbarChart,		LineChart,		PieChart,		RingChart	},	data() {		return {			histogramData: {				//总模板				categories: ['2042', '2013', '2014', '2015', '2016', '2017', '2018'],				series: [					{						name: '成交量1', //数据名称						data: [							15,							{								//(饼图、圆环图、玫瑰图为Number) 数据,如果传入null图表该处出现断点								value: 20, //	仅针对柱状图有效,主要作用为柱状图显示数值								color: '#f04864' //仅针对柱状图有效,主要作用为柱状图自定义颜色,可覆盖外框定义主题颜色							},							45,							37,							43,							34,							45						],						show: true, //图形显示状态,配合点击图例显示状态,也可默认指定是否显示						color: '#FF7600', //	图形颜色 不传入则使用系统默认配色方案 即统一柱状图颜色						textSize: 12 //图形上方标注文字的字体大小						//如涉及混合图表请看 http://doc.ucharts.cn/1172126					},					{						name: '成交量2',						data: [							30,							{								value: 40,								color: '#facc14'							},							25,							14,							34,							18,							20						]					}				]			},			histogramData2: {				//柱状图Compent  //label应为series value 应为				label: ['2052', '2013', '2014', '2015', '2016', '2017', '2018'],				value: [					{						name: 'labelKey改变',						data: [0.3, 0.2, 0.5, 0.4, 0.3, 0.1, 0.2]					}				]			},			histogramData3: {				//柱状标准图				categories: ['2013', '2014', '2015', '2016', '2017', '2018'],				series: [					{						name: '类别一',						data: [35, 36, 31, 33, 13, 34]					},					{						name: '类别二',						data: [18, 27, 21, 24, 6, 28]					},					{						name: '类别三',						data: [18, 27, 21, 24, 6, 28]					}				]			},			arcbarList: [				//圆环				{					series: [						{							name: '正确率',							data: 0.2912						}					]				},				{					series: [						{							name: '错误率',							data: 0.6921						}					]				},				{					series: [						{							name: '失误率',							data: 0.8232						}					]				}			],			lineData: {				//带百分比的图--折线图数据				categories: ['20111', '2013', '2014', '2015', '2016', '2017'],				series: [{ name: '成交量B', data: [0.7, 0.4, 0.65, 0.1, 0.44, 0.68] }, { name: '成交量C', data: [0.1, 0.8, 0.95, 0.15, 0.112, 0.132] }]			},			lineData2: {				//数字的图--折线图数据				categories: ['2012', '2013', '2014', '2015', '2016', '2017'],				series: [					{ name: '成交量A', data: [35, 8, 25, 37, 4, 20] },					{ name: '成交量B', data: [70, 40, 65, 100, 44, 68] },					{ name: '成交量C', data: [100, 80, 95, 150, 112, 132] }				]			},			pieData: {				//饼状图数据				series: [					{						name: '一班',						data: 50					},					{						name: '二班',						data: 30					},					{						name: '三班',						data: 20					},					{						name: '四班',						data: 18					},					{						name: '五班',						data: 8					}				]			}		};	},	methods: {		//改变柱状图数据		changeHistogramData() {			let categories = ['20111', '2013', '2014', '2015', '2016', '2017'];			let series = [{ name: '成交量A', data: [200, 233, 25, 370, 400, 200] }];			this.$refs['histogramData0'].changeData({ series, categories });		},		//改变折线图数据		changeLineData() {			let categories = ['20111', '2013', '2014', '2015', '2016', '2017'];			let series = [{ name: '成交量A', data: [0.3511, 0.8233, 0.25, 0.37, 0.4, 0.2] }];			this.$refs['lineData1'].changeData({ series, categories });		},		//改变饼状图数据		changePieData() {			let series = [{ name: '一班', data: 150 }, { name: '二班', data: 130 }, { name: '三班', data: 120 }, { name: '四班', data: 182 }, { name: '五班', data: 83 }];			this.$refs['pieChart0'].changeData(series);		},		//改变环状图数据		changeRingData() {			let series = [{ name: '一班', data: 150 }, { name: '二班', data: 130 }, { name: '三班', data: 120 }, { name: '四班', data: 182 }, { name: '五班', data: 83 }];			this.$refs['ringChart0'].changeData(series);		},		getServerData() {			//模拟ajax调用			// uni.request({			// 	url: 'https://www.easy-mock.com/mock/5cc586b64fc5576cba3d647b/uni-wx-charts/chartsdata2',			// 	data: {},			// 	success: function(res) {			// 		console.log(res.data.data);			// 		let serverData = res.data.data;			// 		this.$set(this.lineData, 'categories', serverData.Column.categories);			// 		this.$set(this.lineData, 'series', serverData.Column.series);			// 		this.$refs['lineData1'].showCharts();			// 	},			// 	fail: () => {			// 		console.log('网络错误');			// 	}			// });			setTimeout(() => {				//延迟模拟ajax嗲用后台数据				let categories = ['20111', '2013', '2014', '2015', '2016', '2017'];				let series = [{ name: '成交量A', data: [0.8511, 0.233, 0.125, 0.437, 0.48, 0.1234] }];				this.$set(this.lineData, 'categories', categories);				this.$set(this.lineData, 'series', series);				this.$refs['lineData1'].showCharts();			}, 1000);		}	},	created() {		this.$nextTick(() => {			//柱状图			this.$refs['histogramData0'].showCharts();			this.$refs['histogramData1'].showCharts();			this.$refs['histogramData2'].showCharts();			//圆环(注意循环可能会导致出现下面情况,请更具实际情况作出判断// console.log(this.$refs);)			this.$refs['arcbar0'][0].showCharts();			this.$refs['arcbar1'][0].showCharts();			this.$refs['arcbar2'][0].showCharts();			// 饼状图			this.$refs['pieChart0'].showCharts();			// 环状图			this.$refs['ringChart0'].showCharts();			//折线图			this.$refs['lineData2'].showCharts();		});		//ajax调用		this.getServerData();	}};</script><style scoped>.arcbar {	display: flex;}</style>
 |