本文适用于刚接触学习overlap、grid、tab三种组合图形的粗浅的使用方式(ps:如果写的不好请各位大佬无视,请务必不要开口训斥)
思路:
overlap组件,组合组件grid和分页组件tab都是复合组件,需要两个图以上,所以先准备两个不同的图(例子中用的是增长率图和柱形图),然后根据自己的数据选出想要的数据,用这三个组件载入图形。
目录
overlap组件,组合组件grid和分页组件tab都是复合组件,需要两个图以上,所以先准备两个不同的图(例子中用的是增长率图和柱形图),然后根据自己的数据选出想要的数据,用这三个组件载入图形。
首先要做的事数据预处理,将要用到的数据处理成自己需要的数据还有关键的pycharts库和pandas库,载入数据提取自己需要的日期和任意的数据(ps:这里选择的是日期和面包)
然后添加数据在.add——xaxis()中添加x轴要用的数据,在.add_yaxis()中添加标题和想要构建的属性等效果和文字提示
ps:可以选择自己想要用的颜色color=???和柱子间的间距category_gap=???
层叠组件overlap能够实现在一个坐标系中同时显示多个x轴相同,但y轴不同的图形。
ps:用bar.overlap(line)调用overlap组件(方法)实现层叠
用markline_opts=opts.MarkLineOpts()标记副y轴0刻度线,突出增长率的正负属性
ps:这里的grid属性pos_bottom和pos_top是设置两个图形的位置的代码
ps:在代码的最后用tab = Tab()创建分页组合图的对象
总结:overlap、grud、tab可以非常方便的将一些繁杂的数据弄得一目了然,让人们更好的看出数据的曲线
举例子:
首先要做的事数据预处理,将要用到的数据处理成自己需要的数据还有关键的pycharts库和pandas库,载入数据提取自己需要的日期和任意的数据(ps:这里选择的是日期和面包)
提前准备两个表格
构建两个不同的图形,比如增长率和柱形图
1.增长率
# 构造增长率数据
rate_of_rise = []
for i in range(len(data)):
if i==0:
rate_of_rise.append(0)
else:
rate = dist[i]/dist[i-1]-1 # 计算增长率
rate_of_rise.append((round(rate,3))) # 保留小数点后3位,添加到列表中
rate_of_rise
c = (
Line()
.add_xaxis(xaxis_data=x)
.add_yaxis(
series_name="面包销量日增长率折线图",
y_axis=rate_of_rise,
symbol="garden",
symbol_size=1,
itemstyle_opts=opts.ItemStyleOpts(border_width=3, border_color="red", color="purple"), # 设置点的样式
linestyle_opts=opts.LineStyleOpts(color="purple", width=4, type_="dashed"), # 设置线条的样式
label_opts=opts.LabelOpts(is_show=True),
)
)
c.render_notebook()
ps:首先构建增长率数据,计算增长率是可以选择保留增长率小数点后几位,这里选择的是后三位,大家可以自行根据自己所想保留(如果想要构建增长率的话)
然后添加数据在.add——xaxis()中添加x轴要用的数据,在.add_yaxis()中添加标题和想要构建的属性等效果和文字提示
运行效果1:
2.柱形图
from pyecharts import options as opts
from pyecharts.charts import Bar
x = [i for i in dist.index]
y = dist.tolist()
c = (
Bar()
.add_xaxis(x)
.add_yaxis("面包", y,
category_gap=5,
color='#8A2BE2')
.set_global_opts(title_o