Jupyter中使用指引

简介 #

SmartChart 提供了一个轻量级 Python 客户端,让你在 Jupyter Notebook 中也能使用 SmartChart 的可视化能力。只需两个核心命令(get / set),即可在 Notebook 中渲染 ECharts 图形,并将可视化结果直接持久化到 SmartChart 平台上的仪表盘。

应用场景 #

  • 需要在jupyter中通过smartchart分享的数据集获取数据进行分析
  • 有很多线下数据需要进行个性化分析, 然后制做仪表盘
  • 在Jupyter的数据分析过程中, 你需要快速生成图形
  • 大屏或报表有部分数据集是需要能过复杂的分析生成的

Smartchart支持像pyecharts, Matplotlib 等python绘图工具一样在Jupyter中使用, 但她更加方便, 更加炫酷 和 通用化, 不仅仅是一个绘图工具, 而且是一个平台

我们有什么特色 #

  • 使用上手非常简单, 仅仅只有两个命令[get,set], 配置项采用原生的Echarts配置, 无重复学习成本, 使用顺滑
  • 支持Echarts所有功能, 可定制化程度高, 显示效果好, 可嵌入也可弹出窗口显示, 也可在dashboard中显示
  • 数据可固化存储, 采用smartchart Portal可以直接拼接炫酷大屏

相关视屏参考 #

输入图片说明

安装使用方法 #

你需要在jupyter相同的python环境中安装smartchart客户端

pip3 install /..../smartchart-xxx-py3-none-any.whl
#如果安装过程下载缓慢,建意使用镜象安装
pip3 install -i https://mirrors.aliyun.com/pypi/simple  /..../smartchart-xxx-py3-none-any.whl

#升级方法:
pip3 install /..../smartchart-xxx-py3-none-any.whl  -U

快速开始 #

初始化认证: #

  • 第一次使用时, 需要设定默认用户和smartchart服务端url
  • 同一个环境, 只需初始化执行一次, 后面无需再设定
from smart_chart import Smart
Smart().set_auth('用户名','密码',url = 'http://xxxxx')
  • 如果smartchart服务端在本地, 可以省略url
Smart().set_auth('用户名','密码')

使用方法: #

from smart_chart import Smart
mysmart = Smart()
dataset = [['A','B','C'],[12,34,23],[22,33,37]]
# 把数据写入临时数据集并显示图形(表格形式)
mysmart.set(1, dataset)
# 随意命名临时数据集,不一定需要smartchart中数据集已有的
mysmart.set('DD', dataset)

# 从已有的数据集中获取数据(格式参考smartchart数据集)
ds1 = mysmart.get(1)
ds2 = mysmart.get('DD')

修改图形 #

  • 方法一: 你可以在图形菜单中选择内置图形或主题
  • 方法二: set默认是表格显示,你也可通过名称加前缀bar,line,pie进行修改
mysmart.set('barxxx', dataset)   # 柱形图
mysmart.set('linexxx', dataset)  # 折线图
mysmart.set('piexxx', dataset)   # 饼图
  • 方法三: 简单图形可能无法满足个性化要求, 可采用实例化数据集的方式自定义 ECharts 图形:
mysmart.set('myds_1', dataset, push=1)  # push=1 将实例化数据集

实例化的数据集, 在图形编辑区点击, 可以进入定制化图形开发, 可使用原生的Echarts配置和实时调试 输入图片说明

  • 方法四: 在非实例化的数据集中使用自定义图形进行临时显示 假如你已经实例化并自定义了图形, 比如 ‘myds_1’, 你可以直接用它的名称来set
#不加push, 将使用新的数据采用myds_1的图形临时显示, 而不会改变原myds_1的数据
mysmart.set('myds_1', dataset) 

显示设定参数 #

参数 说明 默认值
width 图形嵌入宽度 -
height 图形嵌入高度 -
embed 是否嵌入显示 0(不嵌入)
editor 是否显示图形菜单 1(显示)
push 是否持久化数据集(有则覆盖,无则新建) 0
# 全局初始化设定
mysmart = Smart(width=800, height=400, embed=1, editor=0)
# 全局单独设定
mysmart.url = 'http://ip:8000'
mysmart.embed = 1
# 针对单个图形设定
mysmart.set(1, dataset, embed=1, height=200, editor=0)

SmartChart与Pandas #

SmartChart 的 set 支持直接传入 Pandas DataFrame 对象:

from smart_chart import Smart
import pandas as pd
mysmart = Smart()
df = pd.read_excel('manual_smartdemo.xlsx', 'sheet1')
mysmart.set('excelsample', df.sample(10))

df1 = df.groupby('province').agg({'qty':'sum'}).reset_index()
mysmart.set('ec_df1', df1, push=1)  # push=1 持久化到 SmartChart

输入图片说明