pyecharts显示所有x轴_基于Pyecharts可视化大屏案例一(1)

这篇博客介绍了如何使用Pyecharts库创建一个销售数据分析的可视化大屏,展示了如何绘制柱状图和折线图,并通过设置坐标轴、标签、提示框等功能,实现美观的可视化效果。文章详细讲解了每一步的操作,包括数据生成、坐标轴配置、图例布局以及背景主题的选择。
摘要由CSDN通过智能技术生成

前  言

      Pyecharts是一个用于生成Echarts图表的类库,可以通过python import方法加载使用,没有安装的需要pip install pyecharts安装一下;Pyecharts的图表非常精美,功能较为强大,且对于有一定python基础来说很容易上手.

目  录

第一部分:效果图展示

        1.1 最终效果图展示

        1.2 本文效果图展示

第二部分:绘制精美图形

实  操

第一部分:效果图展示

        1.1 最终效果图展示

        本案例是基于pyecharts制作了一块常见的销售数据分析可视化大屏,大致的效果图如下(因数据来源的问题,最终效果会有一丝偏差,但是基本不影响):

e6d9c65c764aa9d2944ffbb762d8bbb2.png

        1.2 本文效果图展示

        由于图形有六个,故分成六篇文章来呈现。本文是第一篇,描绘的是中间第一张图表,最后的静态效果如下:

6f88bc17025b5e27d479ff42fc9b55bf.png

        动态渲染效果也非常不错:

第二部分:绘图

        接下来,开始我们的表演......

2.1 加载库

        我们先把整个大屏需要的所有库都加载上:

from pyecharts.charts import Page,Bar,Line,Grid,Pieimport pyecharts.options as optsfrom pyecharts.globals import ThemeTypefrom pyecharts.faker import Fakerfrom pyecharts.commons.utils import JsCodeimport pandas as pdimport numpy as npimport randomfrom bs4 import BeautifulSoup

2.2 生成本文所需要的随机数据,都是list形式

year = list(range(2004,2021)) #年份random_data_1 = [random.randint(1000,10000) for _ in range(17) ] #生成17个随机整数random_data_2 = [random.randint(100,1000) for _ in range(17) ] #生成17个随机整数r1 = [round((random_data_1[i]-random_data_1[i-1])/random_data_1[i],2) for i in range(len(random_data_1))[1:]] #计算增长率,并取2位小数点r2 = [round((random_data_2[i]-random_data_2[i-1])/random_data_2[i],2) for i in range(len(random_data_2))[1:]] #计算增长率,并取2位小数点

2.3 不加任何参数绘制柱形图

        因为销售额与订单量数值有差别,且共用一个y轴,所以会绘制的柱子高度相差较大。

bar = (    Bar()    .add_xaxis(year)     .add_yaxis('销售额',random_data_1)     .add_yaxis('订单量',random_data_2)).render('my_first_pycharts.html')

3030b3b320f72aa31758addedf7f6354.png

2.4 将坐标轴右移,并设置Y轴刻度范围,此处是在全局变量下设置。

bar = (    Bar()    .add_xaxis(year)    .add_yaxis('销售额',random_data_1)    .add_yaxis('订单量',random_data_2)    .set_global_opts(        yaxis_opts=opts.AxisOpts(            position="right", #设置坐标轴在画布右侧            min_ = 0, #设置y刻度的最小值            max_ = 13000, #设置y刻度的最小值        )    )).render('my_first_pycharts.html')

acc092cbd8cd5c6f0ace67de3cb0adaf.png

2.5 添加一个描绘订单量的坐标轴

        为了解决销售额与订单量共用一个坐标轴的问题,本文利用yaxis_index将其与销售额坐标轴分开来,再利用offset设置Y 轴相对于默认位置的偏移(一般在多Y轴上使用),并设置在右侧、刻度范围(注意代码添加的位置)

bar = (    Bar()    .add_xaxis(year)    .add_yaxis('销售额',random_data_1,yaxis_index=0,)    .add_yaxis('订单量',random_data_2,yaxis_index=1,)    .extend_axis(              #添加一个描绘订单量的坐标轴        yaxis=opts.AxisOpts(            position = 'right', #设置坐标轴在画布右侧            min_ = 0, #设置y刻度的最小值            max_ = 1300, #设置y刻度的最小值            offset = 60, #设置Y轴偏移        )    )    .set_global_opts(        yaxis_opts=opts.AxisOpts(            position="right", #设置描绘销售额的坐标轴在画布右侧            min_ = 0, #设置y刻度的最小值            max_ = 13000, #设置y刻度的最小值        )    )).render('my_first_pycharts.html')

4650927d196508f3d1db19e3cd0723b3.png

2.6 引入描绘增长率的坐标轴,并设置在左侧、刻度范围

bar = (    Bar()    .add_xaxis(year)    .add_yaxis('销售额',random_data_1,yaxis_index=0,)    .add_yaxis('订单量',random_data_2,yaxis_in
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值