pyecharts重整理未完待续

本文通过实例展示了如何使用Pyecharts创建柱状图来呈现周一至周五的人民币收入变化,并对比了基础饼图展示日常用品消费分布。同时介绍了如何从CSV文件读取数据动态生成饼图,涵盖了数据处理、可视化和编码技巧。
摘要由CSDN通过智能技术生成

柱状图

     究极无敌 原始的柱状图
   
from pyecharts.charts import Bar  导入柱状图
                                
#要处理的数据
province = ["周一","周二","周三","周四","周五"]
data1 = [30,45,27,33,27,33,33,27]

创建柱状图图像
bar = Bar()

创建x轴内容
			 #二维列表中数据
bar.add_xaxis(province)

创建y轴内容   填充数据
 					#数据必须是二维列表中数据			  字符串
bar.add_yaxis("人民币",data1)

以下为扩充内容可选添加

#系统设置
bar.set_series_opts(

    #是否显示数值  默认是True 即显示数字
    label_opts=options.LabelOpts(is_show=False),

    #添加一个标记点
    markpoint_opts=options.MarkPointOpts(
        data = [


            options.MarkPointItem(type_="min",name="最小值"),
            options.MarkPointItem(type_="max",name="最大值")
                ]
            )
)



保存文件
bar.render("2.html")



基础饼图

from pyecharts.charts import Pie
from pyecharts import options


commodity= [("鱼香肉丝包",2),("黑米粥",3.5),("SODA白桃风味苏打水",4)]



#实例化饼图对象
food_pie = Pie()

food_pie.add(
    #数据显示
    data_pair=commodity,

    #名称显示(所有数据项都会显示的共同 名称)
    series_name= "固定日用品",

    #饼图空心部分和实心补分的比例 ,可以是百分比也可以是树脂
    radius=["30%","70%"],

    #不规则饼图
    # rosetype="redius"



)

#额外系列设置
food_pie.set_global_opts(
    title_opts=options.TitleOpts(title="的日用品",subtitle="GG")
)



food_pie.set_series_opts(
    # 用于设置显示百分比
    label_opts=options.LabelOpts(formatter="{b}%:{d}%")
)



#打印图表
food_pie.render("快乐饼图.html")
with open("csv_code/饼图.csv","w",encoding="utf-8",newline="") as fp:
    writer = csv.writer(fp)

    #数据项头
    headers = ["受欢迎狗种类统计"]

    values = [
        ("狗A",20),
        ("狗B",15),
        ("狗C",25),
        ("狗D",40),
        ("狗E",30),
        ("狗F",40),
        ("狗G",40),
              ]

    writer.writerow(headers)
    writer.writerows(values)

from pyecharts.charts import Pie
from pyecharts import options
import csv



with open("csv_code/饼图.csv","r",encoding="utf-8") as fp:
    # 读取数据用于生成饼图
    csv_text_obj = csv.reader(fp)



    #获取数据头用于之后的饼图    标题
    dog_title = (next(csv_text_obj)[0])

    #
    value = list(csv_text_obj)

#实例化饼图对象
pie_dog = Pie()

pie_dog.add(
    #饼图数据
    data_pair=value,

    # 鼠标放到数据上显示的文字
    series_name="评选最受欢迎的狗狗",


    #设置   圆空心部分  ,圆实心部分默认实心圆
    radius=[99,117],

    #不规则显示
    rosetype="redius"
)

# 狗饼图的全局设置
pie_dog.set_global_opts(
    title_opts=options.TitleOpts(title=dog_title),

    # pyecharts 自带的工具箱是否显示
    toolbox_opts=options.ToolboxOpts(is_show=True)
)



pie_dog.set_series_opts(
        #显示数据的占比
    label_opts=options.LabelOpts(formatter="{b}:{d}%")
)

# 保存到文件夹
pie_dog.render("html/饼图.html")



import json
import random
with open("csv_code/猪壮图.json","w",encoding="utf-8") as fp:
    json.dump([
        ["湖北","北京","新疆","山东","安徽","云南","上海","光荣"],
        [random.randint(13000,32000),random.randint(13000,32000),random.randint(13000,32000),random.randint(13000,32000),random.randint(13000,32000),random.randint(13000,32000),random.randint(13000,32000),random.randint(13000,32000)],
        [random.randint(13000,32000),random.randint(13000,32000),random.randint(13000,32000),random.randint(13000,32000),random.randint(13000,32000),random.randint(13000,32000),random.randint(13000,32000),random.randint(13000,32000)],
        [random.randint(13000,32000),random.randint(13000,32000),random.randint(13000,32000),random.randint(13000,32000),random.randint(13000,32000),random.randint(13000,32000),random.randint(13000,32000),random.randint(13000,32000)],
    ],fp)






from pyecharts.charts import Bar
from pyecharts import options
import json

with open("csv_code/猪壮图.json","r",encoding="utf-8")as fp:
    res = iter(json.load(fp))

    income_title = next(res)




bar_income = Bar()

#柱状图横坐标 一般是数据描述
bar_income.add_xaxis(income_title)


bar_income.add_yaxis("2018年月收入",next(res))
bar_income.add_yaxis("2019",next(res))
bar_income.add_yaxis("2020",next(res))


#设置图标
bar_income.set_global_opts(
    title_opts=options.TitleOpts(title="个地区月收入详情",subtitle="本人虚构的数据"),

    toolbox_opts=options.ToolboxOpts()
)

bar_income.set_series_opts(
    #是否显示数值 默认是True
    label_opts=options.LabelOpts(is_show=False),

    #添加标记线
    markline_opts=options.MarkPointOpts(
        data=[
            options.MarkLineItem(type_="min",name="最小值"),
            options.MarkLineItem(type_="max",name="最大值"),
        ]
    )
)



bar_income.render("html/柱状图.html")



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值