百摩网
当前位置: 首页 生活百科

pyecharts教程pdf(硬核干货分享几个Pyecharts技巧)

时间:2023-05-22 作者: 小编 阅读量: 7 栏目名: 生活百科

以上都是通过JS代码来实现然后再添加到Pyecharts代码当中象形柱状图象形柱状图是普通柱状图的一种衍生,普通的柱状图是由一根一根的柱子形成的,而象形柱状图则是对这个柱子的形状又做了进一步的优化,显得更加的可爱代码如下c=(PictorialBar().add_xaxis(location).add_yaxis("",values,label_opts

作者:俊欣

来源:关于数据分析与可视化

想必大家应该也已经看到很多关于数据分析的内容了,今天小编就为大家来分享一下国产可视化库pyecharts在绘制图表时一些的技巧,帮助读者画出更加酷炫以及可读性更高的图,当然在这之前呢,我们首先需要导入相应的所要用到的模块

from pyecharts import options as optsfrom pyecharts.charts import Bar, Timeline, Map, Pie, Linefrom pyecharts.faker import Fakerfrom pyecharts.globals import ThemeTypefrom pyecharts.commons.utils import JsCode

不一样的柱状图

我们先从柱状图着手,来绘制一张瀑布形状的柱状图,代码如下

x_data = [f"12月{str(i)}日" for i in range(1, 12)]y_total = [0, 900, 1245, 1530, 1376, 1376, 1511, 1689, 1856, 1495, 1292]y_in = [900, 345, 393, "-", "-", 135, 178, 286, "-", "-", "-"]y_out = ["-", "-", "-", 108, 154, "-", "-", "-", 119, 361, 203]bar = (Bar().add_xaxis(x_data).add_yaxis(series_name="",y_axis=y_total,stack="总量",itemstyle_opts=opts.ItemStyleOpts(),).add_yaxis(series_name="上升", y_axis=y_in, stack="总量").add_yaxis(series_name="下降", y_axis=y_out, stack="总量").set_global_opts(yaxis_opts=opts.AxisOpts(type_="value")).render("bar_waterfall_plot.html"))

output

从上面绘制出来的图表中可以看出,红色代表的是上升而藏青色代表的是下降,在前三天上升的趋势之后便迎来了两天的下降走势,然后又是连续三天的上升与下降,这张图我们可以直观的看出随着时间的推移数据总体是呈现上升还是下降,用处非常的大哦!

柱状图Y轴上面的个性化标记

我们还可以自己设定Y轴上面的标记,代码如下

c = (Bar().add_xaxis(['小米', '三星', '华为', '苹果', '魅族', 'VIVO', 'OPPO']).add_yaxis("商家A", Faker.values()).add_yaxis("商家B", Faker.values()).set_global_opts(title_opts=opts.TitleOpts(),yaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(formatter="{value} 万台/月")),).render("bar_yaxis_formatter.html"))

output

上图当中的Y轴上的标记后面添加了万台/月的注释,这样就可以更加地让人明白图中数据的深意了

柱状图中做出标记

我们还能够对柱状图中的某些特殊的值做出标记,例如是最大/最小值、平均值等等,代码如下

c = (Bar().add_xaxis(Faker.choose()).add_yaxis("商家A", Faker.values()).add_yaxis("商家B", Faker.values()).set_global_opts(title_opts=opts.TitleOpts()).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="最小值"),opts.MarkPointItem(type_="average", name="平均值"),]),).render("bar_markpoint_type.html"))

output

我们可以看到直方图当中的指定的数值被标了出来,变得更加的直观,可读性更高。

对X轴和Y轴标上名字

同时我们还可以对X轴和Y轴标上名字,告诉用户X轴以及Y轴代表的是什么数据,具备更强的可读性和直观性,代码如下

c = (Bar().add_xaxis(Faker.choose()).add_yaxis("商家A", Faker.values()).add_yaxis("商家B", Faker.values()).set_global_opts(title_opts=opts.TitleOpts(),yaxis_opts=opts.AxisOpts(name="我是 Y 轴"),xaxis_opts=opts.AxisOpts(name="我是 X 轴"),).render("bar_xyaxis_name.html"))

output

Pyecharts和JavaScript的联用

在Pyecharts代码当中加入JS代码,倒是并不少见,例如我们可以在当中添加JS代码来改变可视化图表的颜色,代码如下

color_function = """function (params) {if (params.value > 0 && params.value < 30) {return 'red';} else if (params.value > 30 && params.value < 80) {return 'blue';}return 'purple';}"""c = (Bar().add_xaxis(Faker.choose()).add_yaxis("商家A",Faker.values(),itemstyle_opts=opts.ItemStyleOpts(color=JsCode(color_function)),).add_yaxis("商家B",Faker.values(),itemstyle_opts=opts.ItemStyleOpts(color=JsCode(color_function)),).set_global_opts(title_opts=opts.TitleOpts()).render("bar_custom_bar_color.html"))

output

我们在对于不同数值进行了不同的处理方式,0-30这个范围的是红色、30-80的是蓝色,而其余数值的则是紫色。以上都是通过JS代码来实现然后再添加到Pyecharts代码当中

象形柱状图

象形柱状图是普通柱状图的一种衍生,普通的柱状图是由一根一根的柱子形成的,而象形柱状图则是对这个柱子的形状又做了进一步的优化,显得更加的可爱

代码如下

c = (PictorialBar().add_xaxis(location).add_yaxis("",values,label_opts=opts.LabelOpts(is_show=False),symbol_size=18,symbol_repeat="fixed",symbol_offset=[0, 0],is_symbol_clip=True,symbol=SymbolType.ROUND_RECT,).reversal_axis().set_global_opts(title_opts=opts.TitleOpts(),xaxis_opts=opts.AxisOpts(is_show=False),yaxis_opts=opts.AxisOpts(axistick_opts=opts.AxisTickOpts(is_show=False),axisline_opts=opts.AxisLineOpts(linestyle_opts=opts.LineStyleOpts(opacity=0)),),).render("pictorialbar_base.html"))

output

当然我们还能够对样式自定义,如下图所示,

整个代码的实现和上面的基本一致,这些自定义样式的数据放置在json文件当中,然后从该文件中读取里面的内容

with open("symbol.json", "r", encoding="utf-8") as f:symbols = json.load(f).add_yaxis("2015",[{"value": 157, "symbol": symbols["reindeer"]},{"value": 21, "symbol": symbols["ship"]},{"value": 66, "symbol": symbols["plane"]},{"value": 78, "symbol": symbols["train"]},{"value": 123, "symbol": symbols["car"]},],label_opts=opts.LabelOpts(is_show=False),symbol_size=22,symbol_repeat="fixed",symbol_offset=[0, 5],is_symbol_clip=True,)

    推荐阅读
  • 宿迁纳豆做法(如何做宿迁纳豆)

    宿迁纳豆做法主料:黄豆5000G,食盐500G,花椒100G,百里香100G。挑选粒大饱满的黄豆洗净泡胀,用柴火煮制至变软。黄豆用手指能捏碎时捞起沥干水份备用。将煮好的黄豆放均匀的铺在上面至放凉。经过两三天的发酵,拿起黄豆能拔起长长的丝。将拌好的纳豆装入坛中。用干净的塑料袋将坛口密封紧。用绳系好,让空气不能进入,盖上盖子。外面再接着套袋,然后放在太阳下晒上十天半个月的,然后放在通风阴凉的地方储藏。

  • 琉璃苣种植时间和方法(琉璃苣如何种植)

    琉璃苣种植时间和方法定植:育苗移植在3~5片真叶时定植,株距20~30厘米,行距30~40厘米,种植后浇透水。琉璃苣的繁殖可采用直播和育苗移栽的方法,露地栽培一般宜春季播种,保护地栽培可根据需要全年进行。然后将处理过的种子采取穴播,播于整好的苗床中。每穴播种3~4粒,每平方需种0.5~0.7克,播后覆细土,厚度为2~3厘米。

  • 碓怎么读音(碓的音节)

    下面希望有你要的答案,我们一起来看看吧!碓怎么读音碓字只有一个读音,拼音是duì,是第四声。简单的碓只是一个石臼,用杵捣米。碓字结构是左右结构,偏旁部首是石,总笔画是13画

  • 美国绿卡申请条件大全(美国绿卡办理条件是什么)

    先移民后留学的家庭成为近几年的主流,得到一张美国绿卡,为孩子创建良好的教育条件成为中国家长们的梦想!想要取得美国绿卡,针对绝大多数家庭来说,最合适的就是EB-5投资移民。

  • 上派镇执法分局全员参与(渝北回兴联合执法)

    7月8日上午,在位于渝北区回兴街道的建捷物流公司,街道正与区级部门一起开展“18”综合执法,对涉及安全隐患、无证经营、环保等问题的企业进行依法查处,对存在安全隐患较大的租赁户整改不到位或拒绝整改的,坚决予以搬离。当日上午,烈日炎炎,回兴街道“18”综合执法人员联合渝北区生态环境局、回兴市政执法大队、回兴派出所、回兴市场监督管理所等部门工作人员在建捷物流公司空地开展综合执法。回兴街道相关负责人表示。

  • 雅诗兰黛和雅顿精华哪个好(适合30岁的精华盘点)

    抗老功效成分乙酰基六肽-8复合物,作为神经肽有抑制面部肌肉收缩的功效,以此来减淡,预防皱纹问题。它相比于A醇而言,温和度更高一些,在对抗肌肤静态纹路方面发挥作用。这款精华以强韧肌肤屏障结构为主,以此改善皮肤出现的衰老问题。内含功效成分神经酰胺,复配角鲨烷和胆固醇,注重修护皮肤屏障,强效保湿缓解皮肤干燥问题。A醇衍生物,作用皮肤提高肌肤代谢,刺激皮肤胶原蛋白合成,淡化抚平面部细纹。

  • 拐骗儿童涉嫌构成犯罪要怎么样追究责任

    拐骗不满十四周岁的未成年人,脱离家庭或者监护人的,处五年以下有期徒刑或者拘役。

  • 杜淳有几段感情史(杜淳对婚姻恐惧)

    凭《51号兵站》荣获南方影视盛典“年度最佳男主角奖”。2009年在电视剧《走西口》饰演男一号田青,以平均收视率9.60%创下2002年以来央视一套开年戏的收视纪录。在25岁时与舞蹈演员杨丽结婚,婚后育有一子,就是现在的当红小生杜淳。两人结婚后,杜志国因演艺事业的忙碌与妻子开始有了感情上的裂痕,矛盾激化到最后两人选择了离婚。目前是第三段婚姻,和气质美女郑卫莉结婚。或许是受父母离婚影响,杜淳对婚姻有恐惧,只谈恋爱,至今未娶。

  • 情人节女生微信说说大全 情人节女生微信说说大全霸气

    听闻银铃笑,绕耳两三年。10、每天早上睁开眼睛,看到你和阳光都在,这就是我想要的未来。

  • 2023穗岁康可以为亲戚购买吗? 穗岁康可以帮家人买吗

    穗岁康不能为亲戚购买。为他人投保仅限于直系亲属,不含亲戚。