Django
一个开放源代码的Web应用框架,由Python写成。
命令
创建应用
1 | python manage.py startapp 应用名称 |
运行服务
1 | python manage.py runserver ip:port |
迁移
生成迁移文件:根据模型类生成创建表的语句
1
python manage.py makemigrations
执行迁移
1
python manage.py migrate
创建管理员
1 | python manage.py createsuperuser |
PyG2Plot
一个基于配置、体验优雅、面向数据分析的统计图表库,帮助开发者以最小成本绘制高质量统计图表。
1 | from pyg2plot import Plot |
- X 轴:通常对应连续数据,值为时间,调用连续数据 X 轴。
- Y 轴:通常对应连续数据,值为数字,调用连续数据 Y 轴。
- 图例:通常出现在多条折线图中,用来区分不同折线代表的数据含义。
- 标签:用来解释数据点的值。
- 辅助元素:用来解释某个特殊的数据点的值,或标记出某个特殊含义的区域。
- 图形(Element):饼图由扇形组成,环图由滑块组成。
- 图形标签(Label):显示各个区块的占比(%),名称(华东、华南、华北)和实际数值(123.45)。
- 复合指标:在环图中心位置处显示,或以指标卡形式显示在图表上部分,。
- 图形辅助组件(Info Component):图例,tooltip 或者指标卡等的组件支持。
折线图
💡基础柱状图适合少量分类数据
💡减少数据油墨比
💡时序数据建议使用折线图
💡文本标签不易过长
📊 查看更多示例.
🎨 折线图详细的配置参考 API 文档。
1 | line = Plot("Line") |
1 | line.set_options({ |
生成 HTML 文件
1 | line.render("line.html") |
生成 string
1 | line.render_html() |
曲线图
用曲线将一系列的数据点连接的图表, 对应的只需要配置 smooth: true
属性即可。
1 | data = get('https://gitee.com/hjhcos/hjhcos.gitlab.io/raw/master/json/visual/line.json') |
1 | line.set_options({ |
阶梯型直线图
对应的只需要配置 stepType
属性即可。
1 | 'stepType': 'vh' # 可选项:hv | vh | hvh | vhv |
柱状图
📊 查看更多示例.
🎨 柱状图详细的配置参考 API 文档。
1 | column = Plot("Column ") |
1 | column.set_options({ |
堆叠柱状图
使用颜色不同的堆叠的柱形来显示各维度的数值。横轴标示出第一个分类维度,颜色标示出第二个分类维度,纵轴显示相应的值。
通过指定 seriesField
且设置 isStack: true
就可以创建堆叠柱状图。
1 | data = get('https://gw.alipayobjects.com/os/antfincdn/8elHX%26irfq/stack-column-data.json') |
1 | column.set_options({ |
分组柱状图
使用颜色不同的柱形并排组成小组来显示各维度的数值。横轴标示出分组,颜色标示出分类,纵轴显示相应的值。
通过指定 seriesField
且设置 isGroup: true
就可以创建分组柱状图。
1 | data = get('https://gitee.com/hjhcos/hjhcos.gitlab.io/raw/master/json/visual/grouping-column-data.json') |
1 | column.set_options({ |
指定柱子最大宽度、最小宽度
通过设置 maxColumnWidth
可以指定柱子的最大宽度,设置 minColumnWidth
可以指定柱子的最小宽度。
通过组合指定柱子最大宽度、最小宽度可以达到指定柱子宽度的效果。
1 | # 指定柱子的最大宽度 |
设置柱子的圆角
通过设置 columnStyle.radius
可以指定柱子的圆角,数据类型可以是 number
也可以是 number[]
。
当柱子数值为正值时,const [r1, r2, r3, r4] = radius
依次代表柱子左上角、右上角、右下角、左下角的 radius
。 当柱子数值为负值时,const [r1, r2, r3, r4] = radius
依次代表柱子左下角、右下角、右上角、左上角的 radius
。
1 | 'columnStyle': { |
设置柱子的背景样式
通过设置 columnBackground.style
可以指定柱子的背景样式。
1 | 'columnBackground': { |
条形图
📊 查看更多示例.
🎨 条形图详细的配置参考 API 文档。
1 | bar = Plot('Bar') |
面积图
📊 查看更多示例.
🎨 面积图详细的配置参考 API 文档。
1 | area = Plot('Area') |
仪表盘
💡为了视觉上的不拥挤且符合常识,我们建议指针的数量不超过 3 根。
📊 查看更多示例.
🎨 仪表盘详细的配置参考 API 文档.
1 | gauge = Plot('Gauge') |
自定义指示器的样式
通过设置 indicator
来自定义指示器的样式,指示器包含指针 pointer
和 指针针头样式。
1 | 'indicator': { |
自定义辅助圆弧的样式
通过设置 range
的 'ticks''
和 'color'
来自定义辅助圆弧的样式。
1 | 'range': { |
设置辅助圆弧的宽度与圆弧
通过设置 range
的 'width'
来对辅助圆弧的宽度进行像素级别的设置。默认通过 radius
,innerRadius
来计算辅助圆弧的宽度。
1 | 'radius': 0.75, |
设置仪表盘展示类型
通过设置 type: 'meter'
, 可以实现一个展示形态为米轨的仪表盘。 同时还支持对 steps
以及 stepRatio
的设置,其中 stepRatio
代表着 step 和 gap 的比例关系,默认为:0.5,即默认 step 等于 gap 宽度,当 stepRatio
为 1 时,gap 为 0。
1 | 'innerRadius': 0.8, |
饼图
💡分类数不超过 9 个
💡将多个极小值合并展示
💡排列排序
💡如果每个数值的差异不大,不建议使用饼图
📊 查看更多示例.
🎨 饼图详细的配置参考 API 文档。
1 | pie = Plot('Pie') |
环图
在 G2Plot 中,只需要指定 innerRadius
就可以创建环形饼图。
1 | 'innerRadius': 0.6, |
扇形图
通过设置饼图的 startAngle
(开始角度) 和 endAngle
(结束角度),我们可以将饼图变成扇形图。
1 | 'startAngle': math.pi, |
直方图
📊 查看更多示例.
🎨 直方图详细的配置参考 API 文档。
1 | histogram = Plot('Histogram') |
子弹图
子弹图的发明是为了取代仪表盘上常见的那种里程表,时速表等基于圆形的信息表达方式。更多可以查看:Bullet Graph Design Specification
📊 查看更多示例.
🎨 子弹图详细的配置参考 API 文档。
1 | bullet = Plot('Bullet') |
瀑布图
📊 查看更多示例.
🎨 瀑布图详细的配置参考 API 文档。
1 | Waterfall = Plot('Waterfall') |
颜色
通过 risingFill
和 fallingFill
可以指定普通柱形颜色和正值柱形颜色,对于汇总值可以通过 total.style.fill
指定颜色。
1 | 'risingFill': 'red', |
水波图
📊 查看更多示例.
🎨 水波图详细的配置参考 API 文档.
1 | liquid = Plot('Liquid') |
雷达图
📊 查看更多示例.
🎨 雷达图详细的配置参考 API 文档。
1 | radar = Plot('Radar') |
散点图
📊 查看更多示例.
🎨 散点图详细的配置参考 API 文档.
1 | scatter = Plot('Scatter') |
回归线
设置regressionLine
启用回归线,指定type
回归线的样式。
1 | 'regressionLine': { |
气泡图
气泡图是一种多变量的统计图表,由笛卡尔坐标系(直角坐标系)和大小不一、颜色不同的圆组成,可以看作是散点图的变形。
通过设置sizeField: 'pop'
呈现气泡效果。
上面程序所有代码
1 | from django.shortcuts import render, HttpResponse |