赞
踩
官网:pyecharts - A Python Echarts Plotting Library built with love.
社区:Document
- #导入模块
- from pyecharts import options as opts
- from pyecharts.charts import Bar
- from pyecharts.faker import Faker
-
- c = (
- Bar()
- .add_xaxis(Faker.days_attrs)
- .add_yaxis("超市A", Faker.days_values, color=Faker.rand_color())
- .set_global_opts(
- title_opts=opts.TitleOpts(title="带有滑动条的柱形图"),
- datazoom_opts=opts.DataZoomOpts(),
- )
-
- .render("带有滑动条的柱形图.html")
- )
- #导入模块
- from pyecharts import options as opts
- from pyecharts.charts import Pie, Timeline
- from pyecharts.faker import Faker
-
- attr = Faker.choose()
- tl = Timeline()
- for i in range(2015, 2020):
-
- pie= ( ##饼图
- Pie()
- .add(
- "某某",
- [list(z) for z in zip(attr, Faker.values())],
- rosetype="radius",
- radius=["30%", "55%"],
- )
- .set_global_opts(title_opts=opts.TitleOpts("某某{}年".format(i)))
- )
- tl.add(pie, "{}年".format(i))
- tl.render("带有时间轴的饼图.html")
- #导入模块
- from pyecharts import options as opts
- from pyecharts.charts import Geo
- from pyecharts.faker import Faker
- from pyecharts.globals import ChartType
-
- c = ( //热力图
- Geo()
- .add_schema(maptype="广东")
- .add(
- "geo",
- [list(z) for z in zip(Faker.guangdong_city, Faker.values())],
- type_=ChartType.HEATMAP,
- )
- .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
- .set_global_opts(
- visualmap_opts=opts.VisualMapOpts(), title_opts=opts.TitleOpts(title="Geo-广东地图")
- )
- .render("geo_guangdong.html")
- )
c=(
Bar()
#每个图形由相应的类构成。
.add_xaxis(Faker.choose())
#图形对象的各种方法(如添加x轴数据)均可以采用换行链式编程方法。
.add_yaxis("A家店铺",Faker.values())
.add_yaxis("B家店铺",Faker.values())
#
.set_global_opts(title_opts=opts.TitleOpts(title="Bark-Mark(指定类型)"))
#全局配置项set_global_ops可以配置标题、坐标轴等通用的图形模块。
.set_series_opts(
#系列配置项set_series_opts可以配置和数据及图形相关的图表样式、文本样式、线条样式、标签样式。
label_opts=opts.LabelOpts(is_show=False),
#各子配置项中传入的对象均由Pyecharts中options包里定义好的类生成。
markpoint_opts=opts.MarkPointOpts(
data=[
opts.MarkPointItem(type_="max",name="最大值"),
opts.MarkPointItem(type_="min",name="最小值"),
opts.MarkPointItem(type_="avg",name="平均值"),
]
)
)
.render("bar_markpoint_tpye.html")
#代码的最后是图形渲染的方法,可以生成html文件,或是直接在jupyter中展示。
)
在做的事情就是将 Echarts 的配置项由 Python dict 序列化为 JSON 格式,所以 pyecharts 支持什么格式的数据类型取决于 JSON 支持什么数据类型。这也就意味着在你将数据传入到 pyecharts 的时候,需要自行将数据格式转换成上述 Python 原生的数据格式。
大都需要使用 numpy/pandas,但是 numpy 的 numpy.int64/numpy.int32/... 等数据类型并不继承自 Python.int。这就需要我们在使用Pyecharts画图之前要将数据类型转化为【int\float】类型。
有两种将numpy.int64/numpy.int32/... 等数据类型转换为【int\float】类型数据的方法:
【不建议使用python自带的list函数来将序列转化成列表,这可能会无法实现元素数据类型的转换】
- # for int
- [int(x)for x in your_numpy_array_or_something_else]
- # for float
- [float(x) for x in your_numpy_array_or_something_else]
- # for str
- [str(x) for x in your_numpy_array_or_something_else]
- from pyecharts.charts import Bar
- from pyecharts.faker import Faker
- from pyecharts.globals import ThemeType
-
- c = (
- Bar({"theme": ThemeType.MACARONS})
- .add_xaxis(Faker.choose())
- .add_yaxis("超市A", Faker.values())
- .add_yaxis("超市B", Faker.values())
-
- .set_global_opts(
- title_opts={"text": "Bar-通过 dict 进行配置", "subtext": "举例结果图"}
- )
- .render("bar_dict.html")
- )
Bar - Bar_base_dict_config - Document (pyecharts.org)
- from pyecharts import options as opts
- from pyecharts.charts import Bar
- from pyecharts.faker import Faker
-
- c = (
- Bar()
- .add_xaxis(Faker.choose())
- .add_yaxis("商家A", Faker.values(), stack="stack1")
- .add_yaxis("商家B", Faker.values(), stack="stack1")
- .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
- .set_global_opts(title_opts=opts.TitleOpts(title="Bar-堆叠数据(全部)"))
- .render("bar_stack0.html")
- )
- from pyecharts import options as opts
- from pyecharts.charts import Bar
- from pyecharts.faker import Faker
-
- c = (
- Bar()
- .add_xaxis(Faker.choose())
- .add_yaxis("商家A", Faker.values())
- .add_yaxis("商家B", Faker.values())
- .reversal_axis()
- .set_series_opts(label_opts=opts.LabelOpts(position="right"))
- .set_global_opts(title_opts=opts.TitleOpts(title="Bar-翻转 XY 轴"))
- .render("bar_reversal_axis.html")
- )
Bar3D类创建3D柱形图对象
add方法添加数据:
(1)data参数中输入z轴数据(需要一个n*3形状的二维列表,n是柱体的个数)
(2)xaxis3d_opts 和 yaxis3d_opts分别输入x轴和y轴刻度值
Bar3d - Bar3d_punch_card - Document (pyecharts.org)
- from pyecharts import options as opts
- from pyecharts.charts import Pie
- from pyecharts.faker import Faker
-
- c = (
- Pie()
- .add(
- "",
- [list(z) for z in zip(Faker.choose(), Faker.values())],
- radius=["40%", "75%"],
- )
- .set_global_opts(
- title_opts=opts.TitleOpts(title="Pie-Radius"),
- legend_opts=opts.LegendOpts(orient="vertical", pos_top="15%", pos_left="2%"),
- )
- .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
- .render("pie_radius.html")
- )
Pie - Pie_radius - Document (pyecharts.org)
- from pyecharts import options as opts
- from pyecharts.charts import Pie
- from pyecharts.faker import Faker
-
-
- v = Faker.choose()
- c = (
- Pie()
- .add(
- "",
- [list(z) for z in zip(v, Faker.values())],
- radius=["30%", "75%"],
- center=["25%", "50%"],
- rosetype="radius",
- label_opts=opts.LabelOpts(is_show=False),
- )
- .add(
- "",
- [list(z) for z in zip(v, Faker.values())],
- radius=["30%", "75%"],
- center=["75%", "50%"],
- rosetype="area",
- )
- .set_global_opts(title_opts=opts.TitleOpts(title="Pie-玫瑰图示例"))
- .render("pie_rosetype.html")
- )
Pie - Pie_rosetype - Document (pyecharts.org)
雷达图在显示各维度数据的对比情况的同时,还可以对全部维度的整体情况有一个直观的展示。
- import pyecharts.options as opts
- from pyecharts.charts import Radar
-
- """
- Gallery 使用 pyecharts 1.1.0
- 参考地址: https://echarts.apache.org/examples/editor.html?c=radar
- 目前无法实现的功能:
- 1、雷达图周围的图例的 textStyle 暂时无法设置背景颜色
- """
- v1 = [[4300, 10000, 28000, 35000, 50000, 19000]]
- v2 = [[5000, 14000, 28000, 31000, 42000, 21000]]
-
- (
- Radar(init_opts=opts.InitOpts(bg_color="#CCCCCC"))
- .add_schema(
- schema=[
- opts.RadarIndicatorItem(name="销售(sales)", max_=6500),
- opts.RadarIndicatorItem(name="管理(Administration)", max_=16000),
- opts.RadarIndicatorItem(name="信息技术(Information Technology)", max_=30000),
- opts.RadarIndicatorItem(name="客服(Customer Support)", max_=38000),
- opts.RadarIndicatorItem(name="研发(Development)", max_=52000),
- opts.RadarIndicatorItem(name="市场(Marketing)", max_=25000),
- ],
- splitarea_opt=opts.SplitAreaOpts(
- is_show=True, areastyle_opts=opts.AreaStyleOpts(opacity=1)
- ),
- textstyle_opts=opts.TextStyleOpts(color="#fff"),
- )
- .add(
- series_name="预算分配(Allocated Budget)",
- data=v1,
- linestyle_opts=opts.LineStyleOpts(color="#CD0000"),
- )
- .add(
- series_name="实际开销(Actual Spending)",
- data=v2,
- linestyle_opts=opts.LineStyleOpts(color="#5CACEE"),
- )
- .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
- .set_global_opts(
- title_opts=opts.TitleOpts(title="基础雷达图"), legend_opts=opts.LegendOpts()
- )
- .render("basic_radar_chart.html")
- )
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。