radar pyecharts_Pyecharts新版本食用指南


pyecharts是我们用来做数据可视化,且非常实用的Python的第三方库。

Echarts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而 Python 是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,pyecharts 诞生了。

版本 0.5 已经不再维护,而新版本 V1 是不向下兼容的。

代码风格完全不同,在 V1 版本中,一切皆Options。配置项种类更多,可操作性更强,可以画出更加丰富的图表。

因此,我们完全可以将新版本当作一个新库来学习使用。

312c9e2af098a4182303ce0899fd02fd.png

一个非常经典的?,绘制条形图

from pyecharts.charts import Barbar = Bar()bar.add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])bar.add_yaxis("商家A", [5, 20, 36, 10, 75, 90])bar.render()

导入包的方式也发生了变化,各种图表类型集成在 charts 中。同时 V1 也支持链式调用如下,

from pyecharts.charts import Barfrom pyecharts import options as optsbar = (     Bar()     .add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])     .add_yaxis("商家A", [5, 20, 36, 10, 75, 90])     .set_global_opts(title_opts=opts.TitleOpts(title="主标题", subtitle="副标题")))bar.render()

通过使用options配置项,可以修改各种配置项参数,还可以使用渲染成图片文件。

from pyecharts.render import make_snapshotfrom snapshot_selenium import snapshotmake_snapshot(snapshot, bar.render(), "bar.png")

另外,需要特别强调的一点是「数据格式」的问题。pyecharts 本质上在做的事情就是将 Echarts 的配置项由 Python dict 序列化为 JSON 格式,所以 pyecharts 支持什么格式的数据类型取决于 JSON 支持什么数据类型。

简单来说,我们需要自己将绘制成图像的数据的格式转换成Python原生的数据格式。我们可以利用Series.tolist()来转换,或者利用列表生成式来转换。

# for int[int(x) for x in your_numpy_array_or_something_else]# for str[str(x) for x in your_numpy_array_or_something_else]

经典图表示例

折线图Demo

利用了 Faker 生成假的数据

import pyecharts.options as optsfrom pyecharts.faker import  Fakerfrom pyecharts.charts import Linec=(   Line()   .add_xaxis(Faker.choose())   .add_yaxis("商家A", Faker.values())   .add_yaxis("商家B", Faker.values())   .set_global_opts(title_opts=opts.TitleOpts(title="Line-基本示例"))   )c.render()

ee52fc8f2e9c5eca2dd513062accb05d.png

雷达图Demo

from pyecharts import options as optsfrom pyecharts.charts import Page, Radarv1 = [[4300, 10000, 28000, 35000, 50000, 19000]]v2 = [[5000, 14000, 28000, 31000, 42000, 21000]]def radar_base() -> Radar:    c = (        Radar()        .add_schema(            schema=[                opts.RadarIndicatorItem(name="销售", max_=6500),                opts.RadarIndicatorItem(name="管理", max_=16000),                opts.RadarIndicatorItem(name="信息技术", max_=30000),                opts.RadarIndicatorItem(name="客服", max_=38000),                opts.RadarIndicatorItem(name="研发", max_=52000),                opts.RadarIndicatorItem(name="市场", max_=25000),            ]        )        .add("预算分配", v1)        .add("实际开销", v2)        .set_series_opts(label_opts=opts.LabelOpts(is_show=False))        .set_global_opts(title_opts=opts.TitleOpts(title="Radar-基本示例"))    )    return c    c=radar_base()c.render()

0501cfb470aca7683ce7fb1339336344.png

词云Demo

from pyecharts import options as optsfrom pyecharts.charts import Page, WordCloudfrom pyecharts.globals import SymbolTypewords = [    ("Sam S Club", 10000),    ("Macys", 6181),    ("Amy Schumer", 4386),    ("Jurassic World", 4055),    ("Charter Communications", 2467),    ("Chick Fil A", 2244),    ("Planet Fitness", 1868),    ("Pitch Perfect", 1484),    ("Express", 1112),    ("Home", 865),    ("Johnny Depp", 847),    ("Lena Dunham", 582),]def wordcloud_base() -> WordCloud:    c = (        WordCloud()        .add("", words, word_size_range=[20, 100])        .set_global_opts(title_opts=opts.TitleOpts(title="WordCloud-基本示例"))    )    return cc=wordcloud_base()c.render()

909aab4cc87edba5c912642016d39d65.png

酷炫图表示例

百度地图Demo

结合百度地图,绘制杭州热门步行路线

660be07b51c6b56093602f531d02329f.png

桑基图Demo

桑基能量分流图,也叫桑基能量平衡图。它是一种特定类型的流程图,图中延伸的分支的宽度对应数据流量的大小。

3b02259c7f443703f7e66e7dc43d7ee2.gif

地理坐标线Demo

可以绘制出路线图,并动态展示

bb17ffdeae4fc6c6c06ad646715b7a07.gif

文章素材来自于pyecharts官方文档,更多精彩内容可以点击 「阅读原文

a64d7b15778c2c57f3741d9b00543a4a.png

往期精彩

学习资料免费分享

你朋友圈发的假图被我发现了!

Python抓取海量面经,直面秋招

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值