pyecharts基本绘图(封装-简单实现)

导入各个图形用到的库:

from pyecharts.faker import Faker
from pyecharts import options as opts
from pyecharts.charts import Scatter # 导入散点图绘制模块
from pyecharts.charts import Line # 导入折线图绘制模块
from pyecharts.charts import Bar # 导入柱状图绘制模块
from pyecharts.charts import Pie # 导入饼状图绘制模块
from pyecharts.charts import Scatter # 导入散点图绘制模块
from pyecharts.charts import WordCloud # 导入词云图绘制模块
from pyecharts.commons.utils import JsCode

#charts.render('name.html')保存图片至html格式

定义基础数据:

x=['星期一','星期二','星期三','星期四','星期五','星期七','星期日']
y1=[100,200,300,400,300,400,300]
y2=[200,300,400,300,400,300,600]

折线图:

def line(titlename,x,y1,y2):
    line=(
        Line()
        .add_xaxis(xaxis_data=x)
        .add_yaxis("数据1",y1)
        .add_yaxis("数据2",y2)
        .set_global_opts(title_opts=opts.TitleOpts(title=f"{titlename}"))
    )
    return line.render_notebook()
line("Line",x,y1,y2)


 柱状图:

def bar(titlename,x,y1,y2):
    bar = (
        Bar()
        .add_xaxis(x)
        .add_yaxis("数据1", y1)
        .add_yaxis("数据2", y2)
        .set_global_opts(title_opts=opts.TitleOpts(title=f"{titlename}"),
                        toolbox_opts=opts.BrushOpts(),)
    )
    return bar.render_notebook()
bar("柱状图",x,y1,y2)


 饼状图:

def pie(titlename,x,y):#传入x,y
    pie = (
        Pie()
        .add(
            series_name="数据",#鼠标放置显示类别标签
            data_pair=[list(z) for z in zip(x, y)],
            radius=["15%", "50%"],   # 饼图内圈和外圈的大小比例
            center=["50%", "50%"],   # 饼图的位置:左边距和上边距
            label_opts=opts.LabelOpts(is_show=True),   # 显示数据和百分比  
        )
        .set_global_opts(title_opts=opts.TitleOpts(title=f"{titlename}"),legend_opts=opts.LegendOpts(orient="horizontal"))   # 图例在左边和垂直显示
        .set_series_opts(
            tooltip_opts=opts.TooltipOpts(
                trigger="item", formatter="{a} <br/>{b}: {c} ({d}%)"#鼠标放置显示格式
            ),
        )
    )
    return pie.render_notebook()
pie('饼状图',x,y1)

 


散点图:

def scatter(titlename,x,y1,y2):
    scatter=(
        Scatter()
        .add_xaxis(x)
        .add_yaxis('数据1',y1)
        .add_yaxis('数据2',y2)
        .set_global_opts(
            title_opts=opts.TitleOpts(title=f'{titlename}'),
            xaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True)),# 显示x轴分割线
            yaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True))# 显示y轴分割线
        )
    )
    return scatter.render_notebook()
scatter('散点图',x,y1,y2)


面积图:

def square(titlename,x,y1,y2):
    square = (
    Line()
    .add_xaxis(x)
    .add_yaxis('数据1', y1, areastyle_opts=opts.AreaStyleOpts(opacity=0.5))
    .add_yaxis('数据2', y2, areastyle_opts=opts.AreaStyleOpts(opacity=0.5))
    .set_global_opts(
        title_opts=opts.TitleOpts(title=f'{titlename}')
    )
    )
    return square.render_notebook()
square("面积图",x,y1,y2)


词云图:

def wordcloud(name,x,y):
    words = [list(z) for z in zip(x, y)]
    wordcloud = (
        WordCloud()
        .add("", words, word_size_range=[6,60],textstyle_opts=opts.TextStyleOpts(font_family='Microsoft YaHei',font_weight='bold'))
        .set_global_opts(title_opts=opts.TitleOpts(title=f"{name}",title_textstyle_opts = opts.TextStyleOpts(font_size = 25,color="midnightblue")))
    )
    return wordcloud.render_notebook()
wordcloud('词云图',x,y1)

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lyc_QAQ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值