1 Intro
//v0.5.X版本的pyecharts,目前已经迭代到 v1.x,v0.5.X 和 v1 间不兼容
引自官网—“pyecharts 是一个用于生成 Echarts 图表的类库。Echarts 是百度开源的一个数据可视化 JS 库。用 Echarts 生成的图可视化效果非常棒,为了与 Python 进行对接,方便在 Python 中直接使用数据生成图”。
pyecharts可以展示动态图,在线报告使用比较美观,并且展示数据方便,鼠标悬停在图上,即可显示数值、标签等。
参考文档:
[1]案例:http://pyecharts.herokuapp.com/
[2]教程:http://pyecharts.org/#/zh-cn/prepare
[3]github:https://github.com/pyecharts
其中教程很详细,代码基本可以复现。
2 安装
参考:http://pyecharts.org/#/zh-cn/prepare
pip3 install pyecharts
pip3 install pyecharts_snapshot
3 图表配置-图像初始化
图表配置主要是一些参数设置,比如标题、标题位置、标题字体、颜色等等,本节介绍图像初始化部分,图像初始化的参数一般写在图像函数中,以简单的柱形图,表现不同参数的效果。
详细内容参考:http://pyecharts.org/#/zh-cn/charts_configure?id=图形初始化
3.1 标题相关
标题的参数设置大抵如下,基本满足常规需求~
比较复杂的,如标题字体样式、标题格式目前没有找到相关参数
参数名 | 参数 | 参数类型 | 默认值 | 解释 |
---|---|---|---|---|
主标题 | title | str | “” | 主标题文本,支持 \n 换行 |
主标题水平位置 | title_pos | str/int | ‘left’ | 标题距离左侧距离,有’auto’, ‘left’, ‘right’, 'center’可选,也可为百分比或整数 |
主标题竖直位置 | title_top | str/int | ‘top’ | 标题距离顶部距离,有’top’, ‘middle’, 'bottom’可选,也可为百分比或整数 |
主标题文本颜色 | title_color | str | ‘#000’ | 主标题文本颜色,颜色的取值直接输入英文单词也可支持 |
主标题字体大小 | title_text_size | int | 18 | 主标题文本字体大小 |
副标题 | subtitle | str | “” | 副标题文本,支持 \n 换行 |
副标题文本颜色 | subtitle_color | str | #aaa | 副标题文本颜色 |
副标题字体大小 | subtitle_text_size | int | 12 | 副标题文本字体大小 |
用柱形图的demo
设置:
- 主标题换行、居中
- 副标题为红色
from pyecharts import Bar
bar = Bar(
title='MainTitle \n 测试', #主标题
subtitle='SubTitle', #副标题
title_pos='center', #主标题位置
title_color='black', #标题颜色
subtitle_color='red' #副标题颜色
)
# 图例名称
name = '服装'
# 图例位置
legend_pos = 'right'
# x轴值
x_axis = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
# y轴值
y_axis = [5, 20, 36, 10, 75, 90]
bar.add(name=name, x_axis=x_axis, y_axis=y_axis, legend_pos=legend_pos)
3.2 画布相关
画布相关参数,主要是画布大小、背景色
参数名 | 参数 | 参数类型 | 默认值 | 解释 |
---|---|---|---|---|
画布宽度 | width | int | 800(px) | 画布宽度 |
画布高度 | height | int | 400(px) | 画布高度 |
画布背景颜色 | background_color | str | #fff | 画布背景颜色 |
画布的参数用的较少,背景色的设置,暂时没有找到详细的介绍,颜色取值的设置
bar = Bar(
title='MainTitle', #主标题
subtitle='SubTitle', #副标题
title_pos='center', #主标题位置
title_color='black', #标题颜色
subtitle_color='red', #副标题颜色
width = 600, #画布宽度
height = 300,#画图高度
background_color = 'lightblue'
)
# 图例名称
name = '服装'
# 图例位置
legend_pos = 'right'
# x轴值
x_axis = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
# y轴值
y_axis = [5, 20, 36, 10, 75, 90]
bar.add(name=name, x_axis=x_axis, y_axis=y_axis, legend_pos=legend_pos)
3.3 其他参数
参数名 | 参数 | 参数类型 | 默认值 | 解释 |
---|---|---|---|---|
html文件标题 | page_title | str | Echarts | 指定生成的 html 文件中 <title> 标签的值 |
渲染方式 | renderer | str | canvas | 指定使用渲染方式,有 ‘svg’ 和 ‘canvas’ 可选。3D 图仅能使用 ‘canvas’ |
html标签格式 | extra_html_text_label | list | 无 | 额外的 HTML 文本标签,(<p> 标签)。 类型为 list,list[0] 为文本内容,list[1] 为字体风格样式(选填)。 如 [“this is a p label”, “color:red”]。仅限于在单个图形或者 page 类时使用 |
动画开启设置 | is_animation | bool | TRUE | 是否开启动画。V0.5.9+ |
page_title
这个参数好像并没有什么用,只不过网页源代码里会体现~
bar = Bar(
title='MainTitle', #主标题
subtitle='SubTitle', #副标题
title_pos='center', #主标题位置
title_color='black', #标题颜色
subtitle_color='red', #副标题颜色
width = 600, #画布宽度
height = 300,#画图高度
background_color = 'lightblue', #背景色
page_title = 'test' # html标签名
)
# 图例名称
name = '服装'
# 图例位置
legend_pos = 'right'
# x轴值
x_axis = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
# y轴值
y_axis = [5, 20, 36, 10, 75, 90]
bar.add(name=name, x_axis=x_axis, y_axis=y_axis, legend_pos=legend_pos)
# render输出html文件到当前目录
bar.render()
最终结果:
其余参数,暂时不考虑了~
4 图表设置-通用配置项
通用配置项繁杂多样,更像是小控件的细节设置。主要坐标轴、图例、标签等等~ 通用配置项均在add()
中设置,可以应用于不同的画图函数 ,进行精细化设置。
详细内容参考:http://pyecharts.org/#/zh-cn/charts_configure?id=通用配置项
4.1 坐标轴
坐标轴的设置比较多,比如坐标轴的颜色、名称、刻度等等,只介绍常规的,复杂的以后遇到,再补充~
详细内容参考:http://pyecharts.org/#/zh-cn/charts_configure?id=xyaxis
4.1.1 坐标轴数据项相关
数据项以及坐标轴类型参数:
参数名 | 参数 | 参数类型 | 默认值 | 解释 |
---|---|---|---|---|
x 轴数据项 | x_axis | list | x 轴数据项 | |
y 轴数据项 | y_axis | list | y 轴数据项 | |
x 坐标轴类型 | xaxis_type | str | x 坐标轴类型,包括: ‘value’:数值轴,适用于连续数据 ’category’:类目轴,适用于离散的类目数据 ’log’:对数轴。适用于对数数据 | |
y 坐标轴类型 | yaxis_type | str | 猜测:自动识别 | y 坐标轴类型,包括: ‘value’:数值轴,适用于连续数据 ’category’:类目轴,适用于离散的类目数据 ’log’:对数轴。适用于对数数据 |
x_axis
和y_axis
不用多说,输入数据的,或者说点的坐标~
xaxis_type
和yaxis_type
猜测是根据x_axis
和y_axis
以及绘图函数自动识别的,一般我们应该不需要关心,比如柱形图x轴是类别,则自动识别为xaxis_type = 'category'
from pyecharts import Bar
bar = Bar(
title='MainTitle', #主标题
title_pos='center', #主标题位置
title_color='red' #标题颜色
)
# 图例名称
name = '服装'
# 图例位置
legend_pos = 'right'
# x轴值
x_axis = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
# y轴值
y_axis = [5, 20, 36, 10, 75, 90]
# x轴类型,默认情况下应该是自动识别的
xaxis_type = 'category'
bar.add(name=name, x_axis=x_axis, y_axis=y_axis, legend_pos=legend_pos,xaxis_type =xaxis_type)
4.1.2 坐标轴名称&字体&位置相关
坐标轴名称相关的参数主要包括:坐标轴名称、字体、位置,具体如下:
参数名 | 参数 | 参数类型 | 默认值 | 解释 |
---|---|---|---|---|
x 轴名称 | xaxis_name | str | x 轴名称 | |
y 轴名称 | yaxis_name | str | y 轴名称 | |
x 轴名称体大小 | xaxis_name_size | int | 14 | x 轴名称体大小 |
y 轴名称体大小 | yaxis_name_size | int | 14 | y 轴名称体大小 |
x 轴名称位置 | xaxis_name_pos | str | x 轴名称位置,有’start’,‘middle’,'end’可选 | |
y 轴名称位置 | yaxis_name_pos | str | y 轴名称位置,有’start’, ‘middle’,'end’可选 | |
x 轴名称与轴线之间的距离 | xaxis_name_gap | int | 25 | x 轴名称与轴线之间的距离 |
y 轴名称与轴线之间的距离 | yaxis_name_gap | int | 25 | y 轴名称与轴线之间的距离 |
from pyecharts import Bar
bar = Bar(
title='MainTitle', #主标题
title_pos='center', #主标题位置
title_color='red' #标题颜色
)
# 图例名称
name = '服装'
# 图例位置
legend_pos = 'right'
# x轴值
x_axis = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
# y轴值
y_axis = [5, 20, 36, 10, 75, 90]
# x轴名称
xaxis_name = '种类'
# y轴名称
yaxis_name = '销量'
# x轴名称放在最后
xaxis_name_pos = 'end'
# y轴名称放在中间
yaxis_name_pos = 'middle'
# x轴名称与轴线距离
xaxis_name_gap = 40
bar.add(
name=name,
x_axis=x_axis,
y_axis=y_axis,
legend_pos=legend_pos,
xaxis_type=xaxis_type,
xaxis_name=xaxis_name,
yaxis_name=yaxis_name,
xaxis_name_pos=xaxis_name_pos,
yaxis_name_pos=yaxis_name_pos,
xaxis_name_gap=40)
4.1.3 坐标轴显示&方向相关
主要包括控制坐标轴显示的参数、坐标轴方向等
参数名 | 参数 | 参数类型 | 默认值 | 解释 |
---|---|---|---|---|
x 坐标轴反向 | is_xaxis_inverse | bool | FALSE | 是否反向 x 坐标轴 |
y 坐标轴反向 | is_yaxis_inverse | bool | FALSE | 是否反向 y 坐标轴 |
x 轴两边留白策略 | is_xaxis_boundarygap | bool | TRUE | x 轴两边留白策略,适用于类目轴。类目轴中 boundaryGap 可以配置为 True 和 False。这时候刻度只是作为分隔线,标签和数据点都会在两个刻度之间的带(band)中间,即两边留白。 |
y 轴两边留白策略 | is_yaxis_boundarygap | bool | TRUE | y 轴两边留白策略,其他同上 |
是否显示 x 轴 | is_xaxis_show | bool | TRUE | 是否显示 x 轴 |
是否显示 y 轴 | is_yaxis_show | bool | TRUE | 是否显示 y 轴 |
是否显示 y 轴网格线 | is_splitline_show | bool | TRUE | 是否显示 y 轴网格线 |
from pyecharts import Bar
bar = Bar(
title='MainTitle', #主标题
title_pos='center', #主标题位置
title_color='red' #标题颜色
)
# 图例名称
name = '服装'
# 图例位置
legend_pos = 'right'
# x轴值
x_axis = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
# y轴值
y_axis = [5, 20, 36, 10, 75, 90]
# 不显示x轴轴线
is_xaxis_show = False
# 显示y轴轴线
is_yaxis_show = True
# 显示 y 轴网格线
is_splitline_show = True
# y轴反向
is_yaxis_inverse = True
# y轴两边不留白
is_xaxis_boundarygap = False
bar.add(
name=name,
x_axis=x_axis,
y_axis=y_axis,
legend_pos=legend_pos,
is_xaxis_show=is_xaxis_show,
is_yaxis_show=is_yaxis_show,
is_splitline_show=is_splitline_show,
is_yaxis_inverse=is_yaxis_inverse,
is_xaxis_boundarygap=is_xaxis_boundarygap)
如上图所示,轴线显示、网格线显示都是默认存在的,留白则体现美观度,上图x轴没有留白,图形已经覆盖坐标轴了
4.1.4 坐标轴标签相关
所谓坐标轴标签,用柱状图举例来说,就是x轴上的各个类名,具体参数如下:
参数名 | 参数 | 参数类型 | 默认值 | 解释 |
---|---|---|---|---|
x刻度线和标签位置 | is_xaxislabel_align | bool | FALSE | x 轴刻度线和标签是否对齐 |
y刻度线和标签位置 | is_yaxislabel_align | bool | FALSE | y轴刻度线和标签是否对齐 |
x 坐标轴标签字体大小 | xaxis_label_textsize | int | 12 | x 坐标轴标签字体大小 |
y 坐标轴标签字体大小 | yaxis_label_textsize | int | 12 | y 坐标轴标签字体大小 |
x 坐标轴标签字体颜色 | xaxis_label_textcolor | str | #000 | x 坐标轴标签字体颜色 |
y 坐标轴标签字体颜色 | yaxis_label_textcolor | str | #000 | y 坐标轴标签字体颜色 |
x 轴刻度标签与轴线之间的距离 | xaxis_margin | int | 8 | x 轴刻度标签与轴线之间的距离 |
y 轴刻度标签与轴线之间的距离 | yaxis_margin | int | 8 | y 轴刻度标签与轴线之间的距离 |
from pyecharts import Bar
bar = Bar(
title='MainTitle', #主标题
title_pos='center', #主标题位置
title_color='red' #标题颜色
)
# 图例名称
name = '服装'
# 图例位置
legend_pos = 'right'
# x轴值
x_axis = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
# y轴值
y_axis = [5, 20, 36, 10, 75, 90]
# x轴标签与刻度线对齐
is_xaxislabel_align = True
# y轴标签与刻度线不对齐
is_yaxislabel_align = False
# x轴标签字体大小
xaxis_label_textsize = 14
# x轴标签字体颜色
xaxis_label_textcolor = 'red'
# x轴标签与轴线之间的距离
xaxis_margin = 15
bar.add(
name=name,
legend_pos=legend_pos,
x_axis=x_axis,
y_axis=y_axis,
is_yaxislabel_align=is_yaxislabel_align,
xaxis_label_textsize=xaxis_label_textsize,
xaxis_label_textcolor=xaxis_label_textcolor,
xaxis_margin=xaxis_margin,
is_xaxislabel_align=is_xaxislabel_align)
上述图形完成一下几个改变:
- x轴标签与刻度线对齐,好像更丑了
- x轴标签名字体变大、标签名颜色改为红色
- x轴标签和轴线之间距离变大
- y轴标签与刻度线是否对齐似乎影响不大
4.1.5 坐标轴刻度&间隔
刻度、间隔单位相关参数,具体如下:
参数名 | 参数 | 参数类型 | 默认值 | 解释 |
---|---|---|---|---|
x 坐标轴刻度最小值 | xaxis_min | int/float | x 坐标轴刻度最小值,默认为自适应。使用特殊值 “dataMin” 可自定以数据中最小值为 x 轴最小值 | |
y 坐标轴刻度最小值 | yaxis_min | int/float | y 坐标轴刻度最小值,默认为自适应。使用特殊值 “dataMin” 可自定以数据中最小值为 y 轴最小值 | |
x 坐标轴刻度最大值 | xaxis_max | int/float | x 坐标轴刻度最大值,默认为自适应。使用特殊值 “dataMax” 可自定以数据中最小值为 x 轴最大值 | |
y 坐标轴刻度最大值 | yaxis_max | int/float | y 坐标轴刻度最大值,默认为自适应。使用特殊值 “dataMax” 可自定以数据中最大值为 y 轴最大值 | |
x 轴刻度标签旋转的角度 | xaxis_rotate | int | 0 | x 轴刻度标签旋转的角度,在类目轴的类目标签显示不下的时候可以通过旋转防止标签之间重叠。 旋转的角度从 -90 度到 90 度 |
y 轴刻度标签旋转的角度 | yaxis_rotate | int | 0 | y 轴刻度标签旋转的角度,在类目轴的类目标签显示不下的时候可以通过旋转防止标签之间重叠。 旋转的角度从 -90 度到 90 度 |
x 轴刻度标签的显示间隔 | xaxis_interval | int | x 轴刻度标签的显示间隔,在类目轴中有效。默认会采用标签不重叠的策略间隔显示标签。 设置成 0 强制显示所有标签。 设置为 1,表示『隔一个标签显示一个标签』, 如果值为 2,表示隔两个标签显示一个标签,以此类推 | |
y 轴刻度标签的显示间隔 | yaxis_interval | int | y 轴刻度标签的显示间隔,在类目轴中有效。默认会采用标签不重叠的策略间隔显示标签。 设置成 0 强制显示所有标签。 设置为 1,表示『隔一个标签显示一个标签』, 如果值为 2,表示隔两个标签显示一个标签,以此类推 | |
强制设置 x 坐标轴分割间隔 | xaxis_force_interval | int/str | 强制设置 x 坐标轴分割间隔。如设置为 50 则刻度为 [0, 50, 150, …],设置为 “auto” 则只显示两个刻度。一般情况下不建议设置这个参数!! 因为 splitNumber 是预估的值,实际根据策略计算出来的刻度可能无法达到想要的效果,这时候可以使用 interval 配合 min、max 强制设定刻度划分。在类目轴中无效。 | |
强制设置 y 坐标轴分割间隔 | yaxis_force_interval | int/str | 强制设置 y 坐标轴分割间隔。如设置为 50 则刻度为 [0, 50, 150, …],设置为 “auto” 则只显示两个刻度。一般情况下不建议设置这个参数!! 因为 splitNumber 是预估的值,实际根据策略计算出来的刻度可能无法达到想要的效果,这时候可以使用 interval 配合 min、max 强制设定刻度划分。在类目轴中无效。 |
from pyecharts import Bar
bar = Bar(
title='MainTitle', #主标题
title_pos='center', #主标题位置
title_color='red' #标题颜色
)
# 图例名称
name = '服装'
# 图例位置
legend_pos = 'right'
# x轴值
x_axis = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
# y轴值
y_axis = [10, 20, 36, 10, 75, 90]
# y轴最小值
yaxis_min = 5
# y轴最大值
yaxis_max = 120
# x 轴刻度标签顺时针旋转45度
xaxis_rotate = 45
# x 轴刻度标签的显示间隔,第1,3,5个标签显示
xaxis_interval = 1
# 强制刻度间隔
yaxis_force_interval = 15
bar.add(
name=name,
legend_pos=legend_pos,
x_axis=x_axis,
y_axis=y_axis,
yaxis_min=yaxis_min,
yaxis_max=yaxis_max,
xaxis_rotate=xaxis_rotate,
xaxis_interval=xaxis_interval,
yaxis_force_interval=yaxis_force_interval)
上图显示:
- 修改y轴的最大值、最小值
- x轴标签字体方向顺时针旋转45度
- x轴标签只出现1,3,5个,
xaxis_interval
参数只能在类别轴上使用,该参数在标签多时可以使用 yaxis_force_interval
设置y轴的分割间隔,如设置15,则刻度为[5,20,35,65]等等
4.1.6 其他参数
其他参数若干,具体如下:
参数名 | 参数 | 参数类型 | 默认值 | 解释 |
---|---|---|---|---|
交换坐标轴 | is_convert | bool | FALSE | 是否交换 x 轴与 y 轴,直接看图,简单明了 |
x 轴标签格式器 | xaxis_formatter | str | x 轴标签格式器,如 ‘天’,则 x 轴的标签为数据加’天’(3 天,4 天) | |
y 轴标签格式器 | yaxis_formatter | str | y 轴标签格式器,如 ‘天’,则 y 轴的标签为数据加’天’(3 天,4 天) |
交换坐标轴,坐标轴的参数要以交换后的为准,比如原来x轴字体为红色,如果交换坐标轴,则要改写成y轴字体为红色
from pyecharts import Bar
bar = Bar(
title='MainTitle', #主标题
title_pos='center', #主标题位置
title_color='red' #标题颜色
)
# 图例名称
name = '服装'
# 图例位置
legend_pos = 'right'
# x轴值
x_axis = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
# y轴值
y_axis = [10, 20, 36, 10, 75, 90]
# 交换坐标轴
is_convert = True
bar.add(
name=name,
legend_pos=legend_pos,
x_axis=x_axis,
y_axis=y_axis,
is_convert=is_convert,
yaxis_label_textcolor='red')
- 交换坐标轴之后,标签名变成了数字,并且暂时也不知道怎么调回来
- 标签格式器没怎么看懂,可以看看下面找到的案例
4.1.7 yaxis_formatter
设置千分位
from pyecharts_javascripthon.dom import window
def yaxis_custom_formatter(value):
return window.parseFloat(value).toLocaleString()
from pyecharts import Bar
bar = Bar(
title='MainTitle', #主标题
title_pos='center', #主标题位置
title_color='red' #标题颜色
)
# 图例名称
name = '服装'
# 图例位置
legend_pos = 'right'
# x轴值
x_axis = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
# y轴值
y_axis = [10000, 20000, 36000, 10000, 75000, 90000]
bar.add(
name=name,
legend_pos=legend_pos,
x_axis=x_axis,
y_axis=y_axis,
yaxis_label_textcolor='red',
yaxis_formatter=yaxis_custom_formatter)
4.2 图例 legend
图例常用的参数,如显示的位置,排列的方式等等。
具体参数如下:
参数名 | 参数 | 参数类型 | 默认值 | 解释 |
---|---|---|---|---|
是否显示顶端图例 | is_legend_show | bool | True | 是否显示顶端图例 |
图例列表的布局朝向 | legend_orient | str | ‘horizontal’ | 图例列表的布局朝向,有’horizontal’, 'vertical’可选 |
图例组件离容器左侧的距离 | legend_pos | str | ‘center’ | 图例组件离容器左侧的距离,有’left’, |
图例组件离容器上侧的距离 | legend_top | str | ‘top’ | 图例组件离容器上侧的距离,有’top’, ‘center’, 'bottom’可选,也可以为百分数,如"%60" |
图例选择的模式 | legend_selectedmode | str/bool | ‘multiple’ | 图例选择的模式,控制是否可以通过点击图例改变系列的显示状态。可以设成 ‘single’ 或者 ‘multiple’ 使用单选或者多选模式。也可以设置为 False 关闭显示状态 |
图例名称字体大小 | legend_text_size | int | 图例名称字体大小 | |
图例名称字体颜色 | legend_text_color | str | 图例名称字体颜色 |
from pyecharts import Bar
bar = Bar(
title='MainTitle', #主标题
title_pos='center', #主标题位置
title_color='red' #标题颜色
)
# 图例名称
name = '服装'
# 图例位置
legend_pos = 'right'
# x轴值
x_axis = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
# y轴值
y_axis = [10, 20, 36, 10, 75, 90]
# 显示图例
is_legend_show = True
# 图例朝向,一般多个列表时用该参数
legend_orient = 'vertical'
# 图例距离左侧的位置,也就是水平方向位置
legend_pos = 'right'
# 图例距离上侧距离
legend_top = 'top'
# 图例字体颜色
legend_text_color = 'red'
bar.add(
name=name,
x_axis=x_axis,
y_axis=y_axis,
is_legend_show=is_legend_show,
legend_orient=legend_orient,
legend_pos=legend_pos,
legend_top=legend_top,
legend_text_color=legend_text_color)
bar.add(
name='服装2',
x_axis=["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"],
y_axis=[10, 25, 8, 60, 20, 80],
legend_orient=legend_orient,
legend_pos=legend_pos,
legend_top=legend_top,
)
- 图例的修改涉及到位置,右侧,上方
- 注意多个图例,以最后添加上去的图例的格式为准
4.3 文本标签(label)
标签显示、位置、字体大小&颜色等等参数设置,具体如下:
参数名 | 参数 | 参数类型 | 默认值 | 解释 |
---|---|---|---|---|
是否正常显示标签 | is_label_show | bool | False | 是否正常显示标签,标签即各点的数据项信息 |
是否高亮显示标签 | is_label_emphasis | bool | True | 是否高亮显示标签。高亮标签即选中数据时显示的信息项 |
标签的位置 | label_pos | str | top | |
高亮标签的位置 | label_emphasis_pos | str | top | |
标签字体颜色 | label_text_color | str | “#000” | 标签字体颜色 |
高亮标签字体颜色 | label_emphasis_textcolor | str | “#fff” | 高亮标签字体颜色 |
标签字体大小 | label_text_size | int | 12 | 标签字体大小 |
高亮标签字体大小 | label_emphasis_textsize | int | 12 | 高亮标签字体大小 |
是否随机排列颜色列表 | is_random | bool | False | 是否随机排列颜色列表 |
自定义标签颜色 | label_color | list | 全局颜色列表,所有图表的图例颜色均在这里修改。如 Bar 的柱状颜色,Line 的线条颜色等等 | |
标签名格式 | label_formatter | str | 太复杂,不赘述 |
from pyecharts_javascripthon.dom import window
from pyecharts import Bar
bar = Bar(
title='MainTitle', #主标题
title_pos='center', #主标题位置
title_color='red' #标题颜色
)
# 图例名称
name = '服装'
# 图例位置
legend_pos = 'right'
# x轴值
x_axis = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
# y轴值
y_axis = [10000, 20000, 36000, 10000, 75000, 90000]
# 标签颜色
label_color = ['blue']
# 高亮标签位置
label_emphasis_pos = 'right'
bar.add(
name=name,
legend_pos=legend_pos,
x_axis=x_axis,
y_axis=y_axis,
yaxis_label_textcolor='red',
label_color=label_color,
label_emphasis_pos=label_emphasis_pos)
- 标签参数设置比较直接,不多说
- 高亮标签位置选默认即可,于上方显示
- 标签颜色,或者说柱子颜色可以通过
label_color
参数指定,注意必须是列表
4.4 线的类型(lineStyle)
参数名 | 参数 | 参数类型 | 默认值 | 解释 |
---|---|---|---|---|
线的宽度 | line_width | int | 1 | 线的宽度 |
线的透明度 | line_opacity | float | 1 | 线的透明度;0为完全透明;1 为完全不透明 |
线的弯曲程度 | line_curve | float | 0 | 线的弯曲程度;0 为完全不弯曲;1 为最弯曲 |
线的类型 | line_type | str | solid | 线的类型,有’solid’, ‘dashed’, 'dotted’可选 |
线的颜色 | line_color | str | 线的颜色 |
from pyecharts import Line
attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
v1 = [5, 20, 36, 10, 10, 200]
v2 = [55, 60, 16, 20, 15, 80]
line = Line("折线图示例")
line.add("商家A", attr, v1, mark_point=["average"],line_color='blue')
line.add("商家B", attr, v2, is_smooth=True, mark_line=["max", "average"],line_color='red')
弯曲程度这个参数,似乎用处不是很大,其他的还是折线图的时候再看~
5 其他
还有其他参数设置,比如工具箱、标记组件、提示框组件等等,暂时先不看了,以后有时间再说吧,没有实际场景的看文档,效率实在是低低低~
2019-01-01 于南京市栖霞区紫东国际创意园