python的pyecharts图表库学习(二)

 

下面让我们继续学习这个pyecharts图表库

一:pyecharts-snapshot插件

如果想直接将图片保存为 png, pdf, gif 格式的文件,可以使用该插件。但先要安装Nodeis环境。

插件GitHub地址:pyecharts-snapshot

Nodies地址:Nodejs 

在cmd命令行中依下面的方法安装环境:

  1. 安装 phantomjs   npm install -g phantomjs-prebuilt
  2. 安装 pyecharts-snapshot   pip install pyecharts-snapshot
  3. 调用 render 方法  bar.render(path='snapshot.png') 文件结尾可以为 svg/jpeg/png/pdf/gif。请注意,svg 文件需要你在初始化 bar 的时候设置 renderer='svg'。

二:绘制图形

1.下面是基本的pyecharts图表构建和渲染的方法

实例一个具体类型图表的对象 chart = FooChart()
为图表添加通用的配置,如主题 chart.use_theme()
为图表添加特定的配置 geo.add_coordinate()
添加数据及配置项 chart.add()
生成本地文件(html/svg/jpeg/png/pdf/gif) chart.render()

2.多次显示图表

最新版本的pyecharts可以使用以下方式显示多个图表:
 

from pyecharts import Bar, Line
from pyecharts.engine import create_default_environment

bar = Bar("我的第一个图表", "这里是副标题")
bar.add("服装", ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"], [5, 20, 36, 10, 75, 90])

line = Line("我的第一个图表", "这里是副标题")
line.add("服装", ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"], [5, 20, 36, 10, 75, 90])

env = create_default_environment("html")
# 为渲染创建一个默认配置环境
# create_default_environment(filet_ype)
# file_type: 'html', 'svg', 'png', 'jpeg', 'gif' or 'pdf'

env.render_chart_to_file(bar, path='bar.html')
env.render_chart_to_file(line, path='line.html')

该代码,减少了部分重复操作,速度有所提高。

3.配置项这里先不讲,先在让我们创建一张柱状图(条形图)和一张饼状图:

柱状图

(1) Bar(条形图)

注:通过柱形的高度/条形的宽度来表现数据的大小。

(2) bar.add()方法

a:方法签名:

add(name, x_axis, y_axis,
    is_stack=False,
    bar_category_gap='20%', **kwargs)

  方法作用

  • name -> str
    图例名称
  • x_axis -> list
    x 坐标轴数据
  • y_axis -> list
    y 坐标轴数据
  • is_stack -> bool
    数据堆叠,同个类目轴上系列配置相同的 stack 值可以堆叠放置
  • bar_category_gap -> int/str
    类目轴的柱状距离,当设置为 0 时柱状是紧挨着(直方图类型),默认为 '20%'

注:全局配置项要在最后一个 add() 上设置,否侧设置会被冲刷掉。

b.使用标记点和标记线

mark_point=["average"]和mark_line=["min", "max"]函数即可设置标记点和标记线

c.is_convert属性

该属性设置为True后is_convert=True即可交换x轴和y轴

d.dataZoom效果

dataZoom 组件用于区域缩放,达到能自由关注细节的数据信息,或者概览数据整体,或者去除离群点的影响。

'slider' 类型

有单独的滑动条,用户在滑动条上进行缩放或漫游。

加入is_label_show=True, is_datazoom_show=True即可。

'inside' 类型

内置于坐标系中,使用户可以在坐标系上通过鼠标拖拽、鼠标滚轮、手指滑动(触屏上)来缩放或漫游坐标系。

加入

is_datazoom_show=True, 
datazoom_type="inside", 
datazoom_range=[10, 25],

即可

'both' 类型

加入

is_datazoom_show=True, 
datazoom_type="both", 
datazoom_range=[10, 25],

即可

多 dataZoom 效果,效果同时支持 X、Y 轴

加入

# 默认为 X 轴,横向 
is_datazoom_show=True, 
datazoom_type="slider", 
datazoom_range=[10, 25], 
# 新增额外的 dataZoom 控制条,纵向 
is_datazoom_extra_show=True, 
datazoom_extra_type="slider", 
datazoom_extra_range=[10, 25], 
is_toolbox_show=False,

即可

注: datazoom 适合所有平面直角坐标系图形,也就是(Line、Bar、Scatter、EffectScatter、Kline)。

e.当 x 轴或者 y 轴的标签因为过于密集而导致全部显示出来会重叠的话,可采用使标签旋转的方法

加入xaxis_interval=0, xaxis_rotate=30, yaxis_rotate=30即可

注: 可通过设置 xaxis_min/xaxis_max/yaxis_min/yaxis_max 来调整 x 轴和 y 轴上的最大最小值。针对数值轴有效!。

可以通过 label_color 来设置柱状的颜色,如 ['#eee', '#000'],所有的图表类型的图例颜色都可通过 label_color 来修改。

(3) 瀑布图和直方图这里就不介绍了,具体大家可以参看百度的pyecharts介绍

(4) Bar属性设置

a.通过在Bar中设置extra_html_text_label=["bar_extra_html_text_label", "color:red"])即可得到额外的文本标签。

b.通过在Bar中设置xaxis_line_color="green", xaxis_line_width=5, xaxis_label_textcolor="black",或yaxis_line_color="green", yaxis_line_width=5, yaxis_label_textcolor="black",可以控制X/Y轴坐标轴颜色以及宽度

(5) 进行两次add的时候,有一次的某项数据丢失,可以用0补充。

现在我们创建一个柱形图表:

猜你喜欢

转载自blog.csdn.net/ITxiaoangzai/article/details/83151357
今日推荐