Pyecharts绘图02

本文详细介绍如何使用Pycharts库创建各种图表,包括更换主题风格、绘制日历图、漏斗图、仪表盘和水球图等。通过具体实例代码展示,帮助读者快速掌握Pycharts的基本操作。

首先我们来了解一下Pycharts的主题风格更换。

使用主题pyecharts.globals.ThemeType

准备工作

import pyecharts.charts as pyec
import pyecharts.options as opts
from pyecharts.globals import ThemeType

输入简单数据


x = ["A","B","C","D","E","F"]
y1 = [5,20,30,18,9,19]
y2 = [15,6,67,28,18,29]
y3 = [19,19,13,4,26,22]
y4 = [18,23,44,55,17,24]

先来看看默认主题效果。


bar = pyec.Bar()
bar.add_xaxis(x)
bar.add_yaxis(series_name='A',yaxis_data=y1)
bar.add_yaxis(series_name='B',yaxis_data=y2)
bar.add_yaxis(series_name='C',yaxis_data=y3)
bar.add_yaxis(series_name='D',yaxis_data=y4)

bar.set_global_opts(title_opts=opts.TitleOpts(title="默认主题类型",subtitle="副标题"))
bar.render_notebook()

更换主题

接下来更换主题类型。
更换为SHINE类型


bar=pyec.Bar(init_opts=opts.InitOpts(theme=ThemeType.SHINE))#设置主题类型

bar.add_xaxis(x)
bar.add_yaxis(series_name='A',yaxis_data=y1)
bar.add_yaxis(series_name='B',yaxis_data=y2)
bar.add_yaxis(series_name='C',yaxis_data=y3)
bar.add_yaxis(series_name='D',yaxis_data=y4)

bar.set_global_opts(title_opts=opts.TitleOpts(title="SHINE",subtitle="副标题"))
bar.render_notebook()

还有很多不同主题。可以咨询查阅。

其他基本图表

本次汇总所有举例均来自pyecharts网站:
https://pyecharts.org/#/zh-cn/basic_charts

绘制日历图

import datetime
import random

from pyecharts import options as opts
from pyecharts.charts import Calendar


def calendar_base() -> Calendar:
    begin = datetime.date(2017, 1, 1)
    end = datetime.date(2017, 12, 31)
    data = [
        [str(begin + datetime.timedelta(days=i)), random.randint(1000, 25000)]
        for i in range((end - begin).days + 1)
    ]

    c = (
        Calendar()
        .add("", data, calendar_opts=opts.CalendarOpts(range_="2017"))
        .set_global_opts(
            title_opts=opts.TitleOpts(title="Calendar-2017年微信步数情况"),
            visualmap_opts=opts.VisualMapOpts(
                max_=20000,
                min_=500,
                orient="horizontal",
                is_piecewise=True,
                pos_top="230px",
                pos_left="100px",
            ),
        )
    )
    return c
calendar_base().render_notebook()

from pyecharts.faker import Faker
from pyecharts import options as opts
from pyecharts.charts import Funnel, Page

绘制漏斗图


def funnel_base() -> Funnel:
    c = (
        Funnel()
        .add("商品", [list(z) for z in zip(Faker.choose(), Faker.values())])
        .set_global_opts(title_opts=opts.TitleOpts(title="Funnel-基本示例"))
    )
    return c
funnel_base().render_notebook()

绘制仪表盘


from pyecharts import options as opts
from pyecharts.charts import Gauge, Page


def gauge_base() -> Gauge:
    c = (
        Gauge()
        .add("", [("完成率", 66.6)])
        .set_global_opts(title_opts=opts.TitleOpts(title="Gauge-基本示例"))
    )
    return c
gauge_base().render_notebook()

我们可以将60以下与60以上数据用不同颜色区分出来。

def gauge_color() -> Gauge:
    c = (
        Gauge()
        .add(
            "业务指标",
            [("完成率", 55.5)],
            axisline_opts=opts.AxisLineOpts(
                linestyle_opts=opts.LineStyleOpts(
                    color=[(0.6, "#67e0e3"),(1, "#fd666d")], width=30
                )
            ),
        )
        .set_global_opts(
            title_opts=opts.TitleOpts(title="Gauge-不同颜色"),
            legend_opts=opts.LegendOpts(is_show=False),
        )
    )
    return c
gauge_color().render_notebook()

绘制水球图

from pyecharts import options as opts
from pyecharts.charts import Liquid, Page
from pyecharts.globals import SymbolType


def liquid_base() -> Liquid:
    c = (
        Liquid()
        .add("lq", [0.6, 0.7])
        .set_global_opts(title_opts=opts.TitleOpts(title="Liquid-基本示例"))
    )
    return c
liquid_base().render_notebook()

另外还可以去掉边框。

def liquid_without_outline() -> Liquid:
    c = (
        Liquid()
        .add("lq", [0.6, 0.7, 0.8], is_outline_show=False)
        .set_global_opts(title_opts=opts.TitleOpts(title="Liquid-无边框"))
    )
    return c
liquid_without_outline().render_notebook()

图标举例代码来源:
https://pyecharts.org/#/zh-cn/basic_charts

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值