pyecharts绘制折线图时轴坐标的数据类型探究

  • Post author:
  • Post category:其他


在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后函数存在数据类型转化



版权声明:本文为bizarre07原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。