这个宝藏我怎么现在才发现…
cutecharts的开发者陈键东是GitHub上的一个大佬开发,也是我们所熟悉的开源项目pyecharts的核心开发者(膜拜大佬.jpg)
这是他的github主页:https://github.com/chenjiandongx
这是cutecharts的地址:https://github.com/chenjiandongx/cutecharts
当然,如果有些小伙伴不方便进G站,也可以来这里看cutecharts的实例:cutecharts-图表详情
目前cutecharts支持的可视化图像类型有:柱状图、折线图、饼状图、雷达图、散点图:👉基本示例都在这里了👈
虽然目前不是很多,但是我相信以后肯定会越来越全面的,我也会一直关注并且跟踪更新。
下面是我的一些例子:
贝叶斯公式例子
这是它的matplotlib和pyecharts版本,你们可以对比看看:
统计机器学习-贝叶斯公式
from cutecharts.charts import Line
list_x = [x for x in range(0, 11)]
list_y = []
for x in range(0, 11):
list_y.append((0.5 ** (x + 1)) / ((0.5 ** (x + 1)) + 0.5))
list_y = [_ * 1 for _ in list_y]
line = (
Line("Bayes")
.set_options(labels=list_x, x_label="该妇女所生孩子个数", y_label="该妇女携带致病基因概率", legend_pos="upRight", y_tick_count=11)
.add_series("The line", list_y)
).render("render.html")
结果:
手绘风格还不错(PS:我觉得纵坐标是这个样子是因为在这个例子中我的纵坐标太小了,那个“m”应该是 ×10-3 的意思,而且我的横纵坐标的label为什么是这个样子我也不清楚…不过总体来说还是很棒的😉)
凸包问题例子
PS:这段代码只是一个节选,是基于我的完整的凸包问题而写的
所以需要把这段代码套入完整代码才会有这种效果:
Python分治法解决凸包问题并用matplotlib实现可视化以及与蛮力法的对比
def draw_cute(list_points, border_points):
"""
画图
:param list_points: 所有点集
:param border_points: 所有边集
:return:
"""
list_all_x = []
list_all_y = []
for item in list_points:
a, b = item
list_all_x.append(a)
list_all_y.append(b)
(Scatter()
# .set_options(x_tick_count=10,y_tick_count=10)
.set_options(x_tick_count=10,y_tick_count=10,is_show_line=True)
.add_series("内部", [_ for _ in zip(list_all_x, list_all_y)])
.add_series("边界", [_ for _ in border_points])
).render("render.html")
结果:🌚😑
如果用注释掉的那行代码是这样的:
(PS:我不知道这玩意该怎么搞了…cutecharts画散点图连线的时候会默认把一个集合(列表)里的点依次连线,我现在还没有找到在一个图上将一些点连线、一些点不连线的方法)
如果想实现这种效果:
还是老老实实用成熟的matplotlib吧…
或许不久以后开发者大大就会解决这个问题😏