20200903(pyecharts进阶)

以下代码均在jupyter notebook 中运行。

一、全局配置

参照:https://pyecharts.org/#/zh-cn/global_options,所需功能可在该网站查找,参照下面代码格式举一反三实现所需。

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

x = ["哈士奇", "泰迪", "金毛", "柯基", "吉娃娃", "牧羊犬"]
y1 = [140, 136, 144, 120, 119, 150]
y2 = [130, 146, 24, 110, 79, 110]

bar = Bar()
bar.add_xaxis(x)
bar.add_yaxis("商家A", y1)
bar.add_yaxis("商家B", y2)

#全局配置:标题,坐标轴,图例
bar.set_global_opts(title_opts=opts.TitleOpts(title="宠物狗的销售价格", subtitle="两个商家的对比", 
                                              title_link = "https://www.baidu.com",
                                             pos_left = 'center'), 
                    xaxis_opts=opts.AxisOpts( name_rotate = 90),
                   datazoom_opts = opts.DataZoomOpts(is_show = True),
                   legend_opts = opts.LegendOpts(pos_left = "right"))


bar.render_notebook()

图:

20200903(pyecharts进阶)

 

 二、系列配置项

  • set_series_opts
from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.faker import Faker

x = ["哈士奇", "泰迪", "金毛", "柯基", "吉娃娃", "牧羊犬"]
y1 = [140, 136, 144, 120, 119, 150]
y2 = [130, 146, 24, 110, 79, 110]

bar = Bar()
bar.add_xaxis(x)
bar.add_yaxis("商家A", y1)
bar.add_yaxis("商家B", y2)

#全局配置:标题,坐标轴,图例
bar.set_global_opts(title_opts=opts.TitleOpts(title="宠物狗的销售价格", subtitle="两个商家的对比", 
                                              title_link = "https://www.baidu.com",
                                             pos_left = 'center'), 
                    xaxis_opts=opts.AxisOpts( name_rotate = 90),
                   datazoom_opts = opts.DataZoomOpts(is_show = True),
                   legend_opts = opts.LegendOpts(pos_left = "right"))
#系列配置项;
bar.set_series_opts(label_opts = opts.LabelOpts(is_show = False),
                   markpoint_opts = opts.MarkPointOpts(
                       data = [
                           opts.MarkPointItem(type_ = "max", name = "最大值"),
                           opts.MarkPointItem(type_ = "min", name = "最小值"),  #
                   ]))

bar.render_notebook()

20200903(pyecharts进阶)

 

 

 三、除了上面两种方式之外,还可以直接放在x 轴或者y 轴上进行修饰

 

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

x = ["哈士奇", "泰迪", "金毛", "柯基", "吉娃娃", "牧羊犬"]
y1 = [140, 136, 144, 120, 119, 150]
y2 = [130, 146, 24, 110, 79, 110]

bar = Bar()
bar.add_xaxis(x)
bar.add_yaxis("商家A", y1,itemstyle_opts = opts.ItemStyleOpts(color = "blue"))
bar.add_yaxis("商家B", y2)

#全局配置:标题,坐标轴,图例
bar.set_global_opts(title_opts=opts.TitleOpts(title="宠物狗的销售价格", subtitle="两个商家的对比", 
                                              title_link = "https://www.baidu.com",
                                             pos_left = 'center'), 
                    xaxis_opts=opts.AxisOpts( name_rotate = 90),
                   datazoom_opts = opts.DataZoomOpts(is_show = True),
                   legend_opts = opts.LegendOpts(pos_left = "right"))
#系列配置项;
bar.set_series_opts(label_opts = opts.LabelOpts(is_show = False),
                   markpoint_opts = opts.MarkPointOpts(
                       data = [
                           opts.MarkPointItem(type_ = "max", name = "最大值"),
                           opts.MarkPointItem(type_ = "min", name = "最小值"),  #
                   ]))

bar.render_notebook()

 

20200903(pyecharts进阶)

 

 

 四、我们再来看一些其他的具体示例

1.主题(全局,InitOpts)

pyecharts内置提供了10+种不同的风格,另外也提供了便捷的定制主题的方法

 

from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.globals import ThemeType

x = ["哈士奇", "泰迪", "金毛", "柯基", "吉娃娃", "牧羊犬"]
y1 = [140, 136, 144, 120, 119, 150]
y2 = [130, 146, 24, 110, 79, 110]

bar = Bar(init_opts = opts.InitOpts(theme=ThemeType.WALDEN))
bar.add_xaxis(x)
bar.add_yaxis("商家A", y1)
bar.add_yaxis("商家B", y2)

#全局配置:标题,坐标轴,图例
bar.set_global_opts(title_opts=opts.TitleOpts(title="宠物狗的销售价格", subtitle="两个商家的对比", 
                                              title_link = "https://www.baidu.com",
                                             pos_left = 'center'), 
                    xaxis_opts=opts.AxisOpts( name_rotate = 90),
                   datazoom_opts = opts.DataZoomOpts(is_show = True),
                   legend_opts = opts.LegendOpts(pos_left = "right"))
#系列配置项;
bar.set_series_opts(label_opts = opts.LabelOpts(is_show = False),
                   markpoint_opts = opts.MarkPointOpts(
                       data = [
                           opts.MarkPointItem(type_ = "max", name = "最大值"),
                           opts.MarkPointItem(type_ = "min", name = "最小值"),  #
                   ]))

bar.render_notebook()

 

20200903(pyecharts进阶)

 

上一篇:利用 Django 动态展示 Pyecharts 图表数据的几种方法


下一篇:consul实现分布式锁