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

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

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

以上都是通过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,)

    推荐阅读
  • 完美关系在那个台几点播出(你知道吗)

    接下来我们就一起去研究一下吧!完美关系在那个台几点播出当代都市题材电视剧《完美关系》的播出时间:2020年2月18日,首播平台:湖南卫视、爱奇艺、腾讯视频。若是VIP会员24点更新,非会员次日24点观看,2018年7月拍摄,由浙江金溪影视有限公司制作,制作周期12个月,该剧由安建导演,主演:黄轩,佟丽娅,陈数。

  • 堂哥的儿子是我的外甥还是侄子(堂哥的儿子是我的外甥还是侄子呢)

    亦称朋友的儿子,属于客套话,而哥哥的小孩其实就是弟兄的孩子,所以叫“侄子”最恰当不过。姑侄对称,与亲兄弟之子无关。在此之前,兄弟之子称为兄子和弟子,多用作亲属的“转述叙称”称谓。

  • 晨跑和夜跑哪个更减肥瘦身(晨跑和夜跑哪个减肥更快)

    但是对于减肥的人而言,还是要有所限制。

  • 施瓦辛格成功绝非偶然(从穷小子到国际巨星)

    在加入美国国籍后,他就报名参加了美国举办的国际健美比赛,而在本场比赛上,施瓦辛格凭借着接近完美的男性身材而获得了比赛冠军,也因此得到了健美先生的称号。施瓦辛格心里一直有一个梦想——成为美国总统。施瓦辛格弃影从政,成功当选州长施瓦辛格在健美界和影坛所取得的成就也使得他闻名世界,他所积攒下的财富也使得他跻身亿万富翁。另外施瓦辛格还提出了使用清洁能源等政策,为此他还放弃

  • 汉服简介(汉服的介绍)

    与汉人一词类似,汉服中的“汉”字的词义外延亦存在着由汉朝扩大为整个民族指称的过程。汉服“始于黄帝,备于尧舜”,源自黄帝制冕服。定型于周朝,并通过汉朝依据四书五经形成完备的冠服体系,成为神道设教的一部分。汉服还通过华夏法系影响了整个汉文化圈,亚洲各国的部分民族如日本、朝鲜、越南、蒙古、不丹等等服饰均具有或借鉴汉服特征。

  • 山楂的保存方法(山楂的保存方法简述)

    下面内容希望能帮助到你,我们来一起看看吧!山楂的保存方法对于已经切开的山楂,想要保存可以放进盐水中,也可放在阳光下晾晒,让水分尽快蒸发掉。完整的山楂保存可以装入塑料袋中,扎紧袋口放进冰箱冷藏。在容器底部放一层细沙将山楂装入,再放一层细沙密封保存。最简单的方法是放入保鲜膜中,把里面空气放干净,密封袋口保存。

  • 象棋中的马怎么算撇脚(撇脚的具体情况如下)

    以下内容大家不妨参考一二希望能帮到您!象棋中的马怎么算撇脚比如马要向前跳!那马前面也就是马头上如果有棋子就是挡马脚!无论马往哪边跳!马前面有一颗棋子挡着,比如想向前跳,紧挨着马的正前方有一颗棋子,都叫撇脚马,同理,你想向左跳,紧挨着马的左方有一颗棋子也叫撇脚马。

  • 赘婿楼舒婉为什么要杀死家人 赘婿楼舒婉报仇了吗

    在对方强占檀儿时,被宁毅给撞见了,一向有仇必报的他,自然要将楼家给灭掉。之前宣威营的小头目绑走了苏檀儿,最终卖给了楼书恒。之后楼舒婉制作了防水衣送给了刘西瓜,刘西瓜又给了宁毅。之后宁毅发现了防水衣的秘密,急冲冲的跑到了楼家的布店,刚好撞见楼书恒在欺负苏檀儿。如此看来,这一切都是楼舒婉布下的局,就是为了弄死自己的哥哥和父亲。之后他的所作所为,都是为了报复自己之前遭遇的不公。

  • 自制瓷砖胶(瓷砖胶配方及制作方法)

    接下来我们就一起去研究一下吧!自制瓷砖胶先将冷水按比例加入到容器内,开启搅拌机再将胶粉徐徐撒入,高速搅拌10-15分钟即为胶水。批重钙、滑石粉,每1000公斤水加107胶粉13-14公斤、杀菌防腐剂3公斤,或加入甲醛2.5-3公斤,制成胶水。批硅酸盐灰白水泥:每1000公斤水直接加入107胶粉10-11公斤,制成胶水。

  • 研教学评一体化(备教学)

    只有经历这一大循环的教学,才能呈现一种持续评价教与学的目标达成度、教与学的进步度、决定教与学的需求,并实现螺旋上升的态势,使教与学和质量评价更有意义。所以,在“备、教、学、评一体化”教学指导下的教学新格局,应该是一个高效的课堂。