PyEcharts | 认识图形--饼图和玫瑰图

饼图和玫瑰图

饼图

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

from pyecharts.globals import CurrentConfig,NotebookType
CurrentConfig.NOTEBOOK_TYPE = NotebookType.JUPYTER_LAB
CurrentConfig.ONLINE_HOST = OnlineHostType.NOTEBOOK_HOST
list(zip(Faker.choose(),Faker.values()))

在这里插入图片描述

c = Pie()
c.add('',[list(x)for x in zip(Faker.choose(),Faker.values())])
# c.load_javascript()
c.render_notebook()

在这里插入图片描述

  • 链式编写
c=(
    Pie()
    .add('',[list(x)for x in zip(Faker.choose(),Faker.values())])
    .set_colors(['red','green','orange','yellow','pink','black','blue'])
    .set_global_opts(
        title_opts=opts.TitleOpts(title='设置颜色'),
        legend_opts=opts.LegendOpts(type_='scroll',pos_left='90%',orient='vertical')
    )
    .set_series_opts(
        label_opts=opts.LabelOpts(formatter='{b}:{c}')
    )
)
c.render_notebook()

在这里插入图片描述

玫瑰图

v = Faker.choose()
v

[‘河马’, ‘蟒蛇’, ‘老虎’, ‘大象’, ‘兔子’, ‘熊猫’, ‘狮子’]

c = (
    Pie(
        init_opts=opts.InitOpts(
        # 图表的画布大小  使用的是css格式   px是像素大小
        width='800px',
        height='400px',
        renderer=RenderType.CANVAS,# 渲染风格 可选CANVAS 默认 ,SVG
        theme=ThemeType.LIGHT,# 图表颜色
        bg_color='white',# 背景颜色
        )
    )
    .add(
        '',
        [list(x)for x in zip(v,Faker.values())],
        radius=['20%','60%'],
        center=['25%','50%'],
        rosetype='radius',
        label_opts=opts.LabelOpts(is_show=False) # 不显示标签
        
    )
    .add(
        '',
        [list(x)for x in zip(v,Faker.values())],
        radius=['20%','60%'],# 内半径  外半径
        center=['75%','50%'],# 圆心位置
        rosetype='area',
        label_opts=opts.LabelOpts(is_show=True) # 显示标签
        
    )
    .set_global_opts(
        title_opts=opts.TitleOpts(title='玫瑰图'),
        legend_opts=opts.LegendOpts(type_='scroll',pos_left='20%',pos_right='20%') # 分类标题居中

    )
    # .set_series_opts(
    #     label_opts=opts.LabelOpts(formatter='{b}:{c}')
    # )
    
)
c.render_notebook()

在这里插入图片描述

rosetype 参数

pyecharts 中,rosetype 参数用于设置玫瑰图(或称南丁格尔图)的展示类型。这个参数通常与饼图(Pie)一起使用,以创建不同类型的玫瑰图。rosetype 参数接受两个值:radiusarea

  • rosetype='radius':表示玫瑰图的半径(半径模式),即每个扇区的大小不仅取决于数据值,还取决于半径。
  • rosetype='area':表示玫瑰图的面积(面积模式),即每个扇区的大小仅取决于数据值,而半径固定。

以下是使用 rosetype='radius' 的一个示例代码:

from pyecharts import options as opts
from pyecharts.charts import Pie
from pyecharts.faker import Faker

# 创建 Pie 实例
pie = (
    Pie()
    .add(
        series_name="访问来源",
        data_pair=[("直接访问", 335), ("邮件营销", 310), ("联盟广告", 274), ("视频广告", 235), ("搜索引擎", 400)],
        rosetype="radius",  # 设置为半径模式
    )
    .set_global_opts(
        title_opts=opts.TitleOpts(title="Pie-玫瑰图(半径模式)"),
        legend_opts=opts.LegendOpts(orient="vertical", pos_top="15%", pos_left="2%"),
    )
    .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
)

# 渲染图表到 HTML 文件
pie.render("pie_rose_radius.html")

在这个示例中,我们创建了一个玫瑰图,并设置了 rosetype='radius',这意味着每个扇区的大小将根据数据值和半径来确定。

要查看生成的图表,你可以打开生成的 HTML 文件(例如 pie_rose_radius.html)在浏览器中查看效果。这样,你就可以直观地看到不同访问来源的数据分布情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

胜天半月子

打不打商的无所谓,能帮到你就好

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

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

打赏作者

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

抵扣说明:

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

余额充值