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

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

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

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

    推荐阅读
  • 宝宝学唱歌技巧(儿童学唱歌练声的技巧)

    跟着小编一起来看一看吧!宝宝学唱歌技巧根据先易后难的自然学习法则,练声可采用发声最自然的中声区为基础,逐步向上、然后向下做半音模进法移调进行训练。

  • 蒜苔怎么放冰箱保鲜(蒜苔放冰箱保鲜的方法)

    将未食用完的蒜苔置于充满气体的保鲜袋中将其置于冰箱中保存,这样保存的时间会很长。将未食用完的蒜苔置于保鲜袋中进行保存,但是食用的保鲜袋的话需要将其捆扎的比较严实,不能接触到空气,再将其至于冰箱中进行保存。

  • 九月份四人赛新题(四人赛52组读音正确题汇总再练习)

    四人赛至今已有52组读音正确选择题,有双字尾拼、双字中拼、双字双拼、成语等多种形式,这里按类别及拼图分了7个组,通过练习并附上截图比对更为直观更容易牢记。乐(1è)亭()乐(lào)亭()48.为"对簿公堂"的"簿"选择正确读音﹏﹏。bó()bù()49.为"掺和"的"和"选择正确读音﹏﹏。hé()huo()50.为“一刹那”的“刹”选择正确读音﹏﹏。shà()chà()shā()51.为"化纤"的"纤"选择正确读音﹏﹏。

  • 油焖大虾怎样做(如何做油闷大虾)

    切配将大虾洗净,从眼部剪去头须,剪去腿、爪及尾,取出沙包、沙线,每只大虾切成两段,今天小编就来聊一聊关于油焖大虾怎样做?接下来我们就一起去研究一下吧!油焖大虾怎样做切配。待虾肉焖至将要熟透,汁浓、色红时,将炒勺移至旺火上收汁,放入青蒜段,颠翻几下即可出勺装盘。

  • 走心牛年短信(正月初六送穷鬼的搞笑句子)

    一送晦气光,好运天天在身旁;二送穷气跑,喜事连连没烦恼;三送邪气消,福星高照祥云绕。

  • 车船税一年交多少 车船税一年交多少钱

    从2007年7月1日开始,有车族需要在投保交强险时缴纳车船税。汽车不交车船税会怎么样纳税人要是拒绝缴纳车船税,这是属于违法行为。对于以前年度没有缴纳车船税的,保险机构在代收代缴当年度应纳税款的同时,还应代收代缴以前年度的未缴税款,并从前次“交强险”保单到期日的次日起至购买本年度保险的当日止,按日加收应纳税款万分之五的滞纳金。

  • 开自动挡汽车一定要注意这几点(这4个坏习惯不应该有)

    而手动挡一般也被认为是廉价的代名词,当然除了跑车、性能车以外,自动挡则显得会更高档一些。第一个坏习惯,起步插入钥匙后直接打火。第三个坏习惯,车子出现故障直接拖车。所以,自动挡车型出事故不能前行,最好让牵引车“背”着到维修店,否则很容易伤车。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢。

  • 地机的准确位置图视频 地机的位置和视频

    地机的准确位置图科学定位:在小腿内侧,阴陵泉下3寸,胫骨内侧缘后际。地机的作用与好处地机是足太阴脾经的郄穴,是脾经的气血深聚之处,该穴位有活血祛瘀,调经止痛的作用,是治疗痛经的首选穴位;刺激地机还能促进胰岛素分泌,控制血糖平衡,改善糖尿病。长期坚持按摩地机穴,对男女生殖系统都具有保健作用。

  • 男女深爱对方的表现(有这四个方面错不了)

    所以,如果两人见过了对方的父母,基本上已经到达了深爱的程度,就是想公开了,让自己的父母见一下自己的另一半。未来对于每个人来说都是最美好的,每个人都希望自己的未来有自己最爱的人陪自己一起过,也只有自己深爱着对方,才会和对方一起畅想未来。结婚对于恋人来说是很重要的事情,它是一段感情的结束,另一段感情的开始。所以,男女之间一旦有了这种表现,就很难回头了。

  • 如何在做好一名好教师(需要怎么做)

    如何在做好一名好教师?既然做了这个行业,没有奉献精神,那你是不合格的教师,教师要做人梯,你要在你的岗位上奉献自己,要有把美好的青春奉献给教育的精神。不是每天讲你得到了多少,而是要看你奉献了多少,没有这种精神,那你最好别来当老师。教师要对自己的教学上不断专研,要对自己的教学手段不断的改进,如果教师不能更新自己的知识储备,那么你不是一名好教师。教师还有有爱心,要做学生的朋友。