pyecharts x轴字体大小调整_pyecharts 柱状图基础篇#学习笔记#

2020年初,很久没有用过pyecharts的我由于工作原因,安装了新版pyecharts之后,以前的pyecharts代码报错了。搜索之后才发现,我安装的是不兼容旧版本的新版。

空闲的时间,把新版echart当作新的模块梳理了一下,整理为便于理解的形式。

参考网址:A Python Echarts Plotting Library

这里描述了设置柱状图6大元素、柱状图转置XY轴、堆叠柱状图的方法。

了解清楚了柱状图,其他图形应该就无师自通啦,框架结构都是一样的,参数不同而已,看一下文档就行啦~

一、设置柱状图6大元素的方式

6大元素为:标题、图例、X轴、Y轴、Y轴区域分隔线、数据标签

6c6dfab1a49e6b45edde9940a70f914b.png

首先导入需要的模块

from 

由于新版参数设置均已经选项配置化,需要配置的选项都放在了配置项(options)里面,因此需要导入options及使用到的图表。

然后,以下是基础代码框架

bar1=(Bar() ##定义为柱状图.add_xaxis([1,2,3]) ##X轴的值.add_yaxis('y值',[4,5,6],其他参数) ##y的值和y的一些数据配置项.set_global_opts(这里面配置一些 全局参数).set_series_opts(这里面配一些 系列参数)      )bar1.render('bar1.html') ###输出html文件

新版pyecharts可以采用以上的链式调用方式,也可以采用bar1.add_xaxis()分开调用的方式。为了代码清晰并且看上去高大上一点(哈哈~~),建议采用链式调用。

这6大元素参数在代码中,分别进行配置的地方如下:

标题、图例、X轴、Y轴、Y轴区域分隔线为全局参数 ,在set_global_opts后面设置。

数据标签为系列参数,在set_series_opts后面设置。

c275b5a8f35cc3ca17e4b1a930557f58.png

具体的简单示例为:

1.设置标题

格式为:.set_global_opts(title_opts=opts.TitleOpts(具体参数))

具体参数细则参考TitleOpts的参数详情,以下代码没有配置完所有参数,网址直达:A Python Echarts Plotting Library

bar1=(Bar( ).add_xaxis(['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月']).add_yaxis('数量'##系列的名称,[1000,2000,3000,5000,8000,3700,5800,7900,12000,10000,9000,8000] ##系列的数值).set_global_opts(title_opts=opts.TitleOpts(title='我是大标题',subtitle='我是副标题',pos_left='20%'  #标题的位置 距离左边20%距离。,item_gap=10#主副标题之间的距离,title_textstyle_opts=opts.TextStyleOpts(color='red'#,font_size=12,font_weight='bold'  )  #大标题文字的格式配置,,subtitle_textstyle_opts=opts.TextStyleOpts(color='blue',font_style='normal'## 可选:'normal','italic','oblique',font_weight='normal'    #粗细 'normal','bold','bolder','lighter'                                                                       ,font_family= 'monospace'# 还可以是 'serif' , 'monospace', 'Arial', 'Courier New', 'Microsoft YaHei', ...,font_size=12,background_color='grey'#文字背景颜色,border_color='black' #文字块边框颜色)###小标题文字的格式配置)))bar1.render('bar1.html') ###输出html文件

输出的格式为:

0cc0dfc74a1c2c747a05054443f221f1.png

2.设置图例

格式为:.set_global_opts(legend_opts=opts.LegendOpts(具体参数))

具体参数细则参考LegendOpts的参数详情,以下代码没有配置完所有参数,网址直达:A Python Echarts Plotting Library

bar1=(Bar( ).add_xaxis(['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月']).add_yaxis('数量'##系列的名称,[1000,2000,3000,5000,8000,3700,5800,7900,12000,10000,9000,8000] ##系列的数值).set_global_opts(legend_opts=opts.LegendOpts(type_=None # 'plain':普通图例。缺省就是普通图例。 # 'scroll':可滚动翻页的图例。当图例数量较多时可以使用。                                                     ,pos_left='right' #图例横向的位置,right表示在右侧,也可以为百分比,pos_top='middle'#图例纵向的位置,middle表示中间,也可以为百分比,orient='vertical'#horizontal #图例方式的方式)))bar1.render('bar1.html') ###输出html文件

输出的格式为:

032d8a8c1dfbd38c8e6012b96717b33a.png

3.X轴设置

格式为:.set_global_opts(xaxis_opts=opts.AxisOpts(具体参数))

具体参数细则参考AxisOpts的参数详情,以下代码没有配置完所有参数,网址直达:

A Python Echarts Plotting Library

bar1=(Bar( ).add_xaxis(['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月']).add_yaxis('数量'##系列的名称,[1000,2000,3000,5000,8000,3700,5800,7900,12000,10000,9000,8000] ##系列的数值).set_global_opts(xaxis_opts=opts.AxisOpts(name='X轴名称',name_location='middle' #坐标轴名字所在的位置,name_gap=25#坐标轴名字与坐标轴之间的距离,name_rotate=15 #坐标轴名字旋转角度,offset=5 #坐标轴X的值距离X轴的距离,name_textstyle_opts=opts.TextStyleOpts(color='black',font_style='italic'## 可选:'normal','italic','oblique',font_weight='bolder'    #粗细 'normal','bold','bolder','lighter'                                                                       ,font_family= 'monospace'# 还可以是 'serif' , 'monospace', 'Arial', 'Courier New', 'Microsoft YaHei', ...,font_size=14,background_color='grey'#文字背景颜色,border_color='black' #文字块边框颜色)##X轴名称的格式配置,axistick_opts=opts.AxisTickOpts(is_inside=True #刻度线是否在内侧) #坐标轴刻度配置项,axisline_opts=opts.AxisLineOpts(linestyle_opts=opts.LineStyleOpts(width=3 ##设置宽度,opacity=0 #设置透明度,type_='dashed'  # 'solid', 'dashed', 'dotted',color='black') )#坐标轴线的配置项,axislabel_opts=opts.LabelOpts(font_size=13#字的大小,rotate=15 #字旋转的角度)##坐标轴标签的格式配置)))bar1.render('bar1.html') ###输出html文件

输出格式为:

39209e06bd0731bbeea554cc7c3925be.png

4.Y轴、Y轴分割线的设置

y轴配置和X轴的类似。

格式为:.set_global_opts(yaxis_opts=opts.AxisOpts(具体参数))

bar1=(Bar( ).add_xaxis(['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月']).add_yaxis('数量'##系列的名称,[1000,2000,3000,5000,8000,3700,5800,7900,12000,10000,9000,8000] ##系列的数值).set_global_opts(yaxis_opts=opts.AxisOpts(name='Y轴名称',name_location='middle' #坐标轴名字所在的位置,name_gap=25#坐标轴名字与坐标轴之间的距离,name_rotate=60 #坐标轴名字旋转角度,name_textstyle_opts=opts.TextStyleOpts(color='black',font_style='italic'## 可选:'normal','italic','oblique',font_weight='bolder'    #粗细 'normal','bold','bolder','lighter'                                                                       ,font_family= 'monospace'# 还可以是 'serif' , 'monospace', 'Arial', 'Courier New', 'Microsoft YaHei', ...,font_size=14,background_color='grey'#文字背景颜色,border_color='black' #文字块边框颜色),offset=5 #y轴相对于默认位置偏移的距离,相同位置有多个y轴时可以用到,split_number=5 #坐标轴分割的段数,默认为5,只是预估,不是实际展示的段数,min_=0  #最小时候,max_=20000 #最大值,splitline_opts=opts.SplitLineOpts(is_show=True # 是否展示Y轴分割线,linestyle_opts=opts.LineStyleOpts(width=1 ##设置宽度,opacity=0.5 #设置透明度,type_='dotted'  # 'solid', 'dashed', 'dotted',color='grey'   )     )# y轴分割线显示的相关设置,X轴和y轴都有, axisline_opts=opts.AxisLineOpts(linestyle_opts=opts.LineStyleOpts(width=3 ##设置宽度# ,opacity=0 #设置透明度,type_='dashed'  # 'solid', 'dashed', 'dotted',color='red'   ) )###坐标轴线的配置项# ,splitarea_opts  ##分割区域配置项))
)bar1.render('bar1.html') ###输出html文件

输出格式为:

0d6999881af3719e9bd08655ed016529.png

5.数据标签

格式为:.set_series_opts(label_opts=opts.LabelOpts(具体参数))

具体参数细则参考LabelOpts的参数详情,以下代码没有配置完所有参数,网址直达:A Python Echarts Plotting Library

bar1=(Bar( ).add_xaxis(['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月']).add_yaxis('数量'##系列的名称,[1000,2000,3000,5000,8000,3700,5800,7900,12000,10000,9000,8000] ##系列的数值).set_series_opts(label_opts=opts.LabelOpts(position='insideTop' #设置数据标签所在的位置 'top','left','right','bottom','inside','insideLeft','insideRight'# 'insideTop','insideBottom', 'insideTopLeft','insideBottomLeft'# 'insideTopRight','insideBottomRight',color='white'#数据标签的颜色,font_size=12                                              # ,formatter #数据标签显示格式)##设置数据标签的格式s)
)bar1.render('bar1.html') ###输出html文件

输出格式为:

fd23bb3066c9c7a8f58ca62c44a0c209.png

opts.LabelOpts()在代码中都有重复出现,这个配置项可以使用来设置标签格式的,包括X轴的标签、Y轴的标签、数据标签。配置逻辑有差异,如下:

x和y轴配置标签的逻辑为:设置全局配置项→设置x轴/y轴的配置项→设置轴标签的配置项→使用opts.LabelOpts()进行配置。

数据标签配置标签的逻辑为:设置系列配置项→设置标签配置项→使用opts.LabelOpts()进行配置

总结:将以上的代码汇总在一起,得到以下的图形:

a9fdec15741d6329bf5e0fcdd0cab29d.png

代码奉上:

bar1=(Bar( ).add_xaxis(['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月']).add_yaxis('数量'##系列的名称,[1000,2000,3000,5000,8000,3700,5800,7900,12000,10000,9000,8000] ##系列的数值).set_global_opts(title_opts=opts.TitleOpts(title='我是大标题',subtitle='我是副标题',pos_left='45%'  #标题的位置 距离左边20%距离。,item_gap=15#主副标题之间的距离,title_textstyle_opts=opts.TextStyleOpts(color='red',font_size=17,font_weight='bold'  )  #大标题的格式配置,,subtitle_textstyle_opts=opts.TextStyleOpts(color='blue',font_style='normal'## 可选:'normal','italic','oblique',font_weight='normal'    #粗细 'normal','bold','bolder','lighter'                                                                       ,font_family= 'monospace'# 还可以是 'serif' , 'monospace', 'Arial', 'Courier New', 'Microsoft YaHei', ...,font_size=12,background_color='grey'#文字背景颜色,border_color='black' #文字块边框颜色)),legend_opts=opts.LegendOpts(type_=None # 'plain':普通图例。缺省就是普通图例。 # 'scroll':可滚动翻页的图例。当图例数量较多时可以使用。                                                     ,pos_left='right' #图例横向的位置,pos_top='middle'#图例纵向的位置,orient='vertical'#horizontal #图例方式的方式), xaxis_opts=opts.AxisOpts(name='X轴名称',name_location='middle' #坐标轴名字所在的位置,name_gap=25#坐标轴名字与坐标轴之间的距离,name_rotate=15 #坐标轴名字旋转角度,offset=5 #坐标轴X的值距离X轴的距离,name_textstyle_opts=opts.TextStyleOpts(color='black',font_style='italic'## 可选:'normal','italic','oblique',font_weight='bolder'    #粗细 'normal','bold','bolder','lighter'                                                                       ,font_family= 'monospace'# 还可以是 'serif' , 'monospace', 'Arial', 'Courier New', 'Microsoft YaHei', ...,font_size=14,background_color='grey'#文字背景颜色,border_color='black' #文字块边框颜色),axistick_opts=opts.AxisTickOpts(is_inside=True #刻度线是否在内侧) #坐标轴刻度配置项,axisline_opts=opts.AxisLineOpts(linestyle_opts=opts.LineStyleOpts(width=3 ##设置宽度#,opacity=0 #设置透明度,type_='dashed'  # 'solid', 'dashed', 'dotted',color='black'   ) )###坐标轴线的配置项,axislabel_opts=opts.LabelOpts(font_size=13,rotate=15)##坐标轴标签的配置项),yaxis_opts=opts.AxisOpts(name='Y轴名称',name_location='middle' #坐标轴名字所在的位置,name_gap=25#坐标轴名字与坐标轴之间的距离,name_rotate=60 #坐标轴名字旋转角度,name_textstyle_opts=opts.TextStyleOpts(color='black',font_style='italic'## 可选:'normal','italic','oblique',font_weight='bolder'    #粗细 'normal','bold','bolder','lighter'                                                                       ,font_family= 'monospace'# 还可以是 'serif' , 'monospace', 'Arial', 'Courier New', 'Microsoft YaHei', ...,font_size=14,background_color='grey'#文字背景颜色,border_color='black' #文字块边框颜色),offset=5 #y轴相对于默认位置偏移的距离,相同位置有多个y轴时可以用到,split_number=5 #坐标轴分割的段数,默认为5,只是预估,不是实际展示的段数,min_=0  #最小时候,max_=20000 #最大值,splitline_opts=opts.SplitLineOpts(is_show=True # 是否展示Y轴分割线,linestyle_opts=opts.LineStyleOpts(width=1 ##设置宽度,opacity=0.5 #设置透明度,type_='dotted'  # 'solid', 'dashed', 'dotted',color='grey'   )     )# y轴分割线显示的相关设置,X轴和y轴都有, axisline_opts=opts.AxisLineOpts(linestyle_opts=opts.LineStyleOpts(width=3 ##设置宽度# ,opacity=0 #设置透明度,type_='dashed'  # 'solid', 'dashed', 'dotted',color='red'   ) )###坐标轴线的配置项# ,splitarea_opts  ##分割区域配置项)).set_series_opts(label_opts=opts.LabelOpts(position='insideTop' #设置数据标签所在的位置 'top','left','right','bottom','inside','insideLeft','insideRight'# 'insideTop','insideBottom', 'insideTopLeft','insideBottomLeft'# 'insideTopRight','insideBottomRight',color='white'#数据标签的颜色,font_size=12                                              # ,formatter #数据标签显示格式)##设置数据标签的格式s))bar1.render('bar1.html') ###输出html文件

二、转置XY轴

调用方式很简单,为: .reversal_axis()

bar1=(Bar( ).add_xaxis(['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月']).add_yaxis('数量'##系列的名称,[1000,2000,3000,5000,8000,3700,5800,7900,12000,10000,9000,8000] ##系列的数值).set_series_opts(label_opts=opts.LabelOpts(position='right' #设置数据标签所在的位置'top','left','right','bottom','inside','insideLeft','insideRight'# 'insideTop','insideBottom', 'insideTopLeft','insideBottomLeft'# 'insideTopRight','insideBottomRight',font_size=12                                              # ,formatter #数据标签显示格式)##设置数据标签的格式s).reversal_axis())bar1.render('bar1.html') ###输出html文件

输出格式为:

595c15ec2d2ec8a711bb86ec52337533.png

三、堆叠柱状图

格式为:.add_yaxis(具体参数),具体参数中,stack参数设置一个字符串。多个.add_yaxis()时,stack的值为一样的y值就会叠加在一起。

代码示例如下:两个.add_yaxis()的stack值都为“stack1”,所以就堆叠在一起了。

bar1=(Bar( ).add_xaxis(['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月']).add_yaxis('甲的数量'##系列的名称,[1000,2000,3000,5000,8000,3700,5800,7900,12000,10000,9000,8000] ##系列的数值,stack='stack1').add_yaxis('已的数量'##系列的名称,[500,1000,588,5788,6000,5677,3467,4444,3333,6666,7777,8888] ##系列的数值,stack='stack1').set_global_opts(title_opts=opts.TitleOpts(title='堆叠的柱状图',pos_left='45%'),legend_opts=opts.LegendOpts(type_=None # 'plain':普通图例。缺省就是普通图例。 # 'scroll':可滚动翻页的图例。当图例数量较多时可以使用。                                                     ,pos_left='right' #图例横向的位置,pos_top='middle'#图例纵向的位置,orient='vertical'#horizontal #图例方式的方式)).set_series_opts(label_opts=opts.LabelOpts(is_show=False  ##不显示数据标签))
)bar1.render('bar1.html') ###输出html文件

输出格式为:

58ba532a5b252c055764467ab1195e8c.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/575238.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JAVA语言运算符(算数运算符、赋值运算符、比较运算符、逻辑运算符、三元运算)

运算符 JAVA语言中将运算符分为:算数运算符、赋值运算符、比较运算符、逻辑运算符、三元运算符。 算数运算符:算数运算符是对数字进行一系列的加减乘除等的计算,常见的算数运算符如: public class Operation{public static vo…

真彩色图像数据量 计算_军职在线大学计算机基础(自主模式)

第一章单选题电子计算机的发展已经经过了4代,4代计算机的主要元器件分别是(b)a.电子管,晶体管,中小规模集成电路,激光器件b.电子管,晶体管,中小规模集成电路,大规模或超大规模集成电路 c.晶体管…

JAVA语言中流程控制(顺序结构、判断语句、循环语句)

流程控制: 程序在执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的,所以,我们必须清楚每条语句的执行流程。而且,很多时候我们要通过控制语句的执行顺序来实现想要的功能。java中流程控制有:顺…

java中JShell脚本工具、常量优化、集成开发环境IDEA

JShell脚本工具: jshell:直接在DOS命令行(黑窗口)键入main方法中的代码就可以快速看到运行的结果,无需编译再运行,并且省略了入口方法及定义类的过程,其使用方法: 1.打开黑窗口后键入&#xf…

python编写arcgis脚本教程_ArcGIS使用Python脚本工具

在Pyhton写的一些代码,用户交互不方便,用户体验比较差,不方便重用。在ArcGIS中可以将用写的Python代码导入到ToolBox中,这样用起来就比较方便了。这里用按要素裁剪栅格的Python来演示如何导入ArcGIS中。代码如下: impo…

python中可以使用变量来引用函数吗_如何在python语言中使用函数变量并调用函数...

在python语言中,除了常规变量之外,还有函数变量。把函数本身赋值给变量,这个变量为函数变量。工具/原料 python pycharm 截图工具 WPS 方法/步骤 1 在已新建的python文件中,定义函数mul_data,传入两个参数param和exp2 …

C语言程序设计现代方法1,2,3章

1:浮点型(float)运算比int慢,并且可能存在舍入误差 如float存储0.1,以后使用可能会变成0.099999999987 2:宏定义只用大写,这是大多数C程序猿遵循的规范! C语言区分大小写&#xff0c…

初识java中数组、数组在内存中、越界异常、空指针异常

数组: 当存储多个数据时,此时可能会使用多个变量,这样不断声明变量会很麻烦,而这些变量都有相似的特性,因此我们可以将它们存放到一个容器中,统一处理。 容器:是将多个数据存储到一起&#xf…

异常处理python 空气质量问题_python的异常处理

异常处理什么是异常?首先要清楚,什么是异常,异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止),在pyth…

cad小插件文字刷_文字狗最佳排版神器 小恐龙公文排版助手Office WPS插件

文字狗最佳排版神器文字狗最佳排版神器 小恐龙公文排版助手Office WPS插件1.85最新版 无需注册、无需其他费用、无广告。相信大家所需要提交的各种论文、报告等Word文档都对格式有着非常严格的要求,对标题、目录、正文都有不同的要求。尤其是对于公文,要…

Java中的对象、private关键字、this关键字、构造方法

面向对象 概述:Java一种面向对象的程序设计语言,面向对象思想是一种程序设计思想,在面向对象思想的指引下,使用Java语言去设计、开发计算机程序。 这里的对象泛指现实中一切事物,每种事物都具备自己的属性和行为。 …

2060显卡驱动最新版本_教程:怎么安装更新NVIDIAAMD显卡驱动?

PART-1:装驱动这么简单的事情真的需要写教程吗?我自己都理解不了我为什么要写这样一个教程,但是如你所见,他确实被我写出来了,而且对大部分人都挺有用。首先,使用鲁大师以及驱动精灵这类软件的同学自己喜欢就好&#x…

mysql 两个时间相差大于24小时的数据_MySQL 主从同步延迟的原因及解决办法(仅学习)...

原文链接:https://blog.csdn.net/hao_yunfeng/article/details/82392261Mysql主从基本原理,主要形式以及主从同步延迟原理 (读写分离)导致主库从库数据不一致问题的及解决方案 一、主从数据库的区别 从数据库(Slave)是主数据库的备份,当主数据…

分形之万花筒

万花筒是一种光学玩具,只要往筒眼里一看,就会出现一朵美丽的“花”样。将它稍微转一下,又会出现另一种花的图案。不断地转,图案也在不断变化,所以叫“万花筒”。万花筒的图案是靠玻璃镜子反射而成的。它是由三面相交成…

mysql同步数据到另一张表_mysql:Otter跨机房数据同步(单向)

重要说明:需要同步的表必须要有主键 主键 主键otter是一款基于Java且免费、开源基于数据库增量日志解析,准实时同步到本机房或异地机房的mysql/oracle数据库的解决方案。Otter目前支持了什么1. 单向同步, mysql/oracle互相同步2. 双向同步&am…

04day1

无穷的数列 找规律 【问题描述】 有一个无穷序列如下: 110100100010000100000… 请你找出这个无穷序列中指定位置上的数字。 【输入】 第一行一个正整数 N,表示询问次数;接下来的 N 行每行一个正整数 Ai,Ai 表示在序列中的位置。 …

【转】Eclipse+CDT+Gcc编译选项控制

原文地址:http://www.oschina.net/question/4873_19441 如果我们的程序调用动态链接库,当在cdt中运行的时候,可以通过run-->enviroment-->添加LD_LIBRARY_PATH 环境变量来设置查找动态链接库文件的路径。但是在运行的时候,程…

apt ubuntu 指定ipv4_macOS 下使用 Docker 搭建 ubuntu 环境

学习网络开发过程中不想“污染”macOS,考虑到之后部署网络应用主要是与linux打交道,所以安装了 ubuntu 虚拟机以满足短期的知识学习需求。十里安装了 ubuntu 虚拟机,一般就是在 mac 中 ssh 连接 ubuntu 虚拟机在终端下进行操作学习&#xff0…

float去掉小数点之后_float类型的存储方式

在c语言中float函数是单精度的。它在内存中以二进制的形式存储。分为符号位,阶码与尾数三部分。 符号位最为简单,如果你存储的是正数那么符号数就是0。如果是负数,则为1。下面,我以13.625为例说明阶码与尾数的表示方法。首先&…