# import sys
# sys.path.append("../")
import pandas as pd
from pyecharts.faker import Faker
from pandasecharts import echart
products = Faker.choose()
dfs = []
for year in (2012, 2013, 2014, 2015):
dfs.append(
pd.DataFrame(
zip(products, Faker.values(), Faker.values(), [year]*len(products)),
columns=["商品", "商家A", "商家B", "年份"]
)
)
df = pd.concat(dfs, axis=0)
df.head()
| 商品 | 商家A | 商家B | 年份 | |
|---|---|---|---|---|
| 0 | 小米 | 71 | 63 | 2012 |
| 1 | 三星 | 72 | 85 | 2012 |
| 2 | 华为 | 76 | 65 | 2012 |
| 3 | 苹果 | 93 | 42 | 2012 |
| 4 | 魅族 | 122 | 51 | 2012 |
显示2012年商家A的商品销量分布
df.query("年份==2012").echart.pie("商品", "商家A").render_notebook()
label设置
df.query("年份==2012").echart.pie("商品", "商家A", label_opts={"position": "outer"}).render_notebook()
pie样式之半径设置
df.query("年份==2012").echart.pie("商品", "商家A",
label_opts={"position": "outer"},
radius = ["50%", "70%"],
).render_notebook()
pie样式之rosetype设置
df.query("年份==2012").echart.pie("商品", "商家A",
label_show=False,
rosetype = "radius"
).render_notebook()
legend设置
df.query("年份==2012").echart.pie("商品", "商家A", label_show=False,
legend_opts={"orient": "vertical", "pos_left": "80%"}
).render_notebook()
主题设置
df.query("年份==2012").echart.pie("商品", "商家A", theme="light", label_show=False).render_notebook()
所有年份总销量分布
df.echart.pie("商品", "商家A", label_show=False, agg_func="sum").render_notebook()
按照年份显示多张图表
df.echart.pie("商品", "商家A", label_show=False, by="年份").render_notebook()
以时间轴显示多个年份
df.echart.pie("商品", "商家A",
timeline="年份",
label_show=False,
).render_notebook()