pyecharts 数据可视化 Bar柱状图生成和颜色优化

基本的柱形图

最基本的使用pyecharts包绘制柱形图

#需要加载的包
#柱形图的包
from pyecharts.charts import Bar  
#pyecharts配置项的包
from pyecharts import options as opts
#pyecharts中使用js的包
from pyecharts.commons.utils import JsCode
#Pyecharts图表生成需要一些静态资源文件,通过下面代码更改为kesci提供的资源,提高加载速度
from pyecharts.globals import CurrentConfig
CurrentConfig.ONLINE_HOST = "https://cdn.kesci.com/lib/pyecharts_assets/"
'''
需要加载的数据
x 轴和y轴数据
'''
x_data = ['Apple', 'Huawei', 'Xiaomi', 'Oppo', 'Vivo', 'Meizu']
y_data1 = [123, 153, 89, 107, 98, 23]
y_data2 = [44,55,66,77,888,99]
y_data3 = [173, 103, 989, 607, 98, 10]
bar=(Bar()
    .add_xaxis(x_data)
    .add_yaxis('数据集1',y_data1)
    .add_yaxis('数据集2',y_data2)
    .add_yaxis('数据集3',y_data3)
)     #这里通过柱状图的方法来绘制图表
bar.render(r'D:/柱形图基础示例.html')

在这里插入图片描述
这里可以点击数据集来选中或者取消 ,也可以从代码把设置y轴数据给注释掉或删除

通过循环将数据添加y轴上

'''
需要加载的数据
x 轴和y轴数据
'''
x_data = ['Apple', 'Huawei', 'Xiaomi', 'Oppo', 'Vivo', 'Meizu']
y_data1 = [123, 153, 89, 107, 98, 23]
y_data2 = [44,55,66,77,888,99]
y_data3 = [173, 103, 989, 607, 98, 10]
需要加载的数据
x 轴和y轴数据

x_data = ['Apple', 'Huawei', 'Xiaomi', 'Oppo', 'Vivo', 'Meizu']
y_data1 = [123, 153, 89, 107, 98, 23]
y_data2 = [44,55,66,77,888,99]
y_data3 = [173, 103, 989, 607, 98, 10]

#将数据做一个处理方便循环写入柱形图中
data=[y_data1,y_data2,y_data3]
y_name=['数据1','数据2','数据3']
bar=Bar()     #这里通过柱状图的方法来绘制图表
bar.add_xaxis(x_data)     #设置x轴数据    
for i in range(len(data)):
    bar.add_yaxis(y_name[i],data[i])
bar.render(r'D:/柱形图循环示例.html') 
```python
在这里插入代码片

在这里插入图片描述

生成的图跟上面的差不多
也可以使用函数将生成图的代码进行封装,后面需要生成多个图的时候,可以循环使用函数方法去生成就方便很多这边我就不细说了

Jscode包 对pyecharts包中使用js代码的集成,对于会js的,可太友好了,也很实用

一般像同一个数组的柱形图是不可以改变其中某个颜色的,这边在配置项中就可以单独调用js代码中对应需要生成颜色的柱形图

原始图、、配置项中使用js生成的颜色

'''
需要加载的数据
x 轴和y轴数据
'''
#颜色的js代码   这边可以把js代码写好,用的时候直接调用就好,也可以写到JsCode里面,一般不建议,
#不好维护和可读性差,推荐在外面生成js函数直接调用   
color_function="""
    function(params){
        if(params.value>=120){
            return 'red';
        }
        return 'blue';
    }


"""
x_data = ['Apple', 'Huawei', 'Xiaomi', 'Oppo', 'Vivo', 'Meizu']
y_data1 = [123, 153, 89, 107, 98, 23]
y_data2 = [44,55,66,77,888,99]
y_data3 = [173, 103, 989, 607, 98, 10]

#将数据做一个处理方便循环写入柱形图中
color1=['red','red','blue','blue','blue']
bar=Bar()     #这里通过柱状图的方法来绘制图表
bar.add_xaxis(x_data)     #设置x轴数据    
bar.add_xaxis(x_data)
#数据集中添加itemstyle_opts配置项,这是基本常用的配置项
bar.add_yaxis('数据集1',y_data1,itemstyle_opts=opts.ItemStyleOpts(color=JsCode(color_function)))
bar.add_yaxis('数据集2',y_data2,itemstyle_opts=opts.ItemStyleOpts(color='green'))
bar.render(r'D:/柱形图配置项js示例.html') 

原始图这绿色够丑的,凑合用用吧
在这里插入图片描述
数据集1就是用js代码换的颜色对每一个主子的颜色都是可控的,用的还是js,挺好用的,推荐使用。
在这里插入图片描述

可视化的前提还是数据要清洗成自己想要的样子,不过把图片美化成自己或者客户想要的样子真的很不错,希望大家可以积极探索,我自己也是个新人,目前做的是数据分析,大家有问题可以在评论下留言,要是懂得我会给个建议。

  • 8
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值