在pyecharts库中,组件的数据类型取决于使用的轴的类型(y轴同样可设置,本文以x轴为例)
一、轴的类型设置
•分类轴设置
from pyecharts import options as opts
line.set_global_opts(xaxis_opts=opts.AxisOpts(type_="category"))
示例:
line.add_xaxis(["a", "b", "c"])
•数值轴设置
from pyecharts import options as opts
line.set_global_opts(xaxis_opts=opts.AxisOpts(type_="value"))
如果使用数值轴,则数据类型是数字列表或元组(整型和浮点型的数字都可以)
示例:
line.add_xaxis([1, 2, 3]) # 列表
line.add_xaxis((1, 2, 3)) # 元组
二、绘制折线图时存在的问题
1)输入数字
示例代码:
from pyecharts.charts import Line
line=Line()
line.add_xaxis([0.5, 1.0, 1.5, 2.0])
line.add_yaxis("记得的知识/%",[70, 40, 20, 5])
line.render()
生成折线图:
2)输入字符串
生成折线图:
根据表格中的位置,输入的参数数据是以字符串输出的 。
注:但yaxis处的数据并没有要求只能输入字符串或数字才能显示正常,
但是输入浮点型的数字时,显示图像会忽略末尾的0,比如:70.10 -> 70;
如果以字符串输入,则以字符串内容输出,比如"70.10" -> 70.10。
其实通过坐标轴的设置,可以设置y轴显示的数字数据保留几位有效数字。
三、通过对轴的设置解决问题
•使用分类轴
1)输入数字
示例代码a:
from pyecharts.charts import Line
from pyecharts import options as opts
line=Line()
line.set_global_opts(xaxis_opts=opts.AxisOpts(type_="value"))
line.add_xaxis([0.5, 1.0, 1.5, 2.0])
line.add_yaxis("记得的知识/%",[70, 40, 20, 5])
line.render()
示例代码b:
from pyecharts.charts import Line
from pyecharts.options import AxisOpts
line=Line()
line.set_global_opts(xaxis_opts=AxisOpts(type_="value"))
line.add_xaxis([0.5, 1.0, 1.5, 2.0])
line.add_yaxis("记得的知识/%",[70, 40, 20, 5])
line.render()
set_global_opts()是pyecharts函数库中的一个函数,用于全局配置的选项设置。
a、b段代码只是在引用功能函数时的写法不同:
a段导入options模块,opts为options的别名。别名只要符合命名规范可自由书写,比如:aaa
b段直接导入功能函数AxisOpts,故不需要加前缀所属(opts.AxisOpts())
生成折线图:
观察x轴坐标位置,数据以分类轴位置输出数字
2)输入字符串
代码的修改部分(修改后):
line.add_xaxis(["0.5", "1.0", "1.5", "2.0"])
生成折线图:
观察x轴坐标位置,数据以分类轴位置输出字符串(此图的形式对准绘制遗忘曲线所需基础图表)
比较未做设置和设置分类轴后的结果,二者完全一致,猜测pyecharts库默x轴认为分类轴
•使用数值轴
1)输入数字
生成折线图:
观察x轴坐标位置,数据以数值轴位置输出数字 (同样涉及小数位精度保留的问题)
2)输入字符串
生成折线图:
输出结果与“输入数字”完全相同
猜测将type_值改为value后函数存在数据类型转化