【導讀】:關於數據可視化工具,若是你有點厭煩了常見風格(好比:Matplotlib
和 pyecharts
),那能夠試試換一種風格。javascript
本文前哨君給你們介紹一個風格徹底不同的開源庫:cutecharts
,其 UI 效仿 XKCD 漫畫風格,在部分場景(好比:我的做品展現)的效果或許會更好。html
補充:XKCD 是一個 IT 漫畫網站,在國外很是有名氣。
據 cutecharts 的開發者介紹,他我的很是喜歡一個 JS 圖表庫 chart.xkcd,但它支持的圖表類型很少,比 pyecharts 少不少。java
Javascript 在數據交互和視覺效果上更有優點,而 Python 是一種深受數據科學界的喜好的語言。所以,他想結合這兩種技術的力量,因而就開發了 cutecharts.py。python
此外,cutecharts 更多的是一個庫,用來學習如何將 Javascript 世界與 Python/notebook 相結合。cutecharts 的項目結構與 pyecharts 相同,它支持 pyechart s的全部核心功能,同時更輕量級,整體上也更簡潔。git
https://github.com/chenjiando...github
一行命令先安裝好該庫:shell
pip install cutecharts
下面就是 cutecharts 項目主頁提供的一些示例。數組
首先是一些圖表共通的參數:echarts
不一樣圖表有着部分相同的方法。工具
__init__
Params Desc ------ ---- title: Optional[str] = None 圖表標題 width: str = "800px" 圖表寬度 height: str = "600px" 圖表高度 assets_host: Optional[str] = None 引用資源 Host
render
Params Desc ------ ---- dest: str = "render.html" 渲染的文件路徑 template_name: str = "basic_local.html" 渲染使用的模板,通常不須要修改
render_notebook
Params Desc ------ ---- template_type: str = "basic" 渲染使用的模板類型,通常不須要修改
load_javascript
加載 JS 依賴,在 JupyterLab 渲染時使用。
cutecharts.charts.Bar
cutecharts.charts.Bar.set_options
Params Desc ------ ---- labels: Iterable X 座標軸標籤數據 x_label: str = "" X 座標軸名稱 y_label: str = "" Y 座標軸名稱 y_tick_count: int = 3 Y 軸刻度分割段數 colors: Optional[Iterable] = None label 顏色數組 font_family: Optional[str] = None CSS font-family
cutecharts.charts.Bar.add_series
Params Desc ------ ---- name: str series 名稱 data: Iterable series 數據列表
Bar-基本示例
from cutecharts.charts import Bar from cutecharts.components import Page from cutecharts.faker import Faker def bar_base() -> Bar: chart = Bar("Bar-基本示例") chart.set_options(labels=Faker.choose(), x_label="I'm xlabel", y_label="I'm ylabel") chart.add_series("series-A", Faker.values()) return chart bar_base().render()
Bar-調整顏色
def bar_tickcount_colors(): chart = Bar("Bar-調整顏色") chart.set_options(labels=Faker.choose(), y_tick_count=10, colors=Faker.colors) chart.add_series("series-A", Faker.values()) return chart
cutecharts.charts.Line
cutecharts.charts.Line.set_options
Params Desc ------ ---- labels: Iterable X 座標軸標籤數據 x_label: str = "" X 座標軸名稱 y_label: str = "" Y 座標軸名稱 y_tick_count: int = 3 Y 軸刻度分割段數 legend_pos: str = "upLeft" 圖例位置,有 "upLeft", "upRight", "downLeft", "downRight" 可選 colors: Optional[Iterable] = None label 顏色數組 font_family: Optional[str] = None CSS font-family
cutecharts.charts.Line.add_series
Params Desc ------ ---- name: str series 名稱 data: Iterable series 數據列表
Line-基本示例
from cutecharts.charts import Line from cutecharts.components import Page from cutecharts.faker import Faker def line_base() -> Line: chart = Line("Line-基本示例") chart.set_options(labels=Faker.choose(), x_label="I'm xlabel", y_label="I'm ylabel") chart.add_series("series-A", Faker.values()) chart.add_series("series-B", Faker.values()) return chart line_base().render()
Line-Legend 位置
def line_legend(): chart = Line("Line-Legend 位置") chart.set_options(labels=Faker.choose(), legend_pos="upRight") chart.add_series("series-A", Faker.values()) chart.add_series("series-B", Faker.values()) return chart
Line-調整顏色
def line_tickcount_colors(): chart = Line("Line-調整顏色") chart.set_options(labels=Faker.choose(), colors=Faker.colors, y_tick_count=8) chart.add_series("series-A", Faker.values()) chart.add_series("series-B", Faker.values()) return chart
cutecharts.charts.Pie
cutecharts.charts.Pie.set_options
Params Desc ------ ---- labels: Iterable 數據標籤列表 inner_radius: float = 0.5 Pie 圖半徑 legend_pos: str = "upLeft" 圖例位置,有 "upLeft", "upRight", "downLeft", "downRight" 可選 colors: Optional[Iterable] = None label 顏色數組 font_family: Optional[str] = None CSS font-family
cutecharts.charts.Pie.add_series
Params Desc ------ ---- data: Iterable series 數據列表
Pie-基本示例
from cutecharts.charts import Pie from cutecharts.components import Page from cutecharts.faker import Faker def pie_base() -> Pie: chart = Pie("Pie-基本示例") chart.set_options(labels=Faker.choose()) chart.add_series(Faker.values()) return chart pie_base().render()
Pie-Legend
def pie_legend_font(): chart = Pie("Pie-Legend") chart.set_options( labels=Faker.choose(), legend_pos="downLeft", font_family='"Times New Roman",Georgia,Serif;', ) chart.add_series(Faker.values()) return chart
Pie-Radius
def pie_radius(): chart = Pie("Pie-Radius") chart.set_options( labels=Faker.choose(), inner_radius=0, ) chart.add_series(Faker.values()) return chart
cutecharts.charts.Radar
cutecharts.charts.Radar.set_options
Params Desc ------ ---- labels: Iterable 數據標籤列表 is_show_label: bool = True 是否顯示標籤 is_show_legend: bool = True 是否顯示圖例 tick_count: int = 3 座標系分割刻度 legend_pos: str = "upLeft" 圖例位置,有 "upLeft", "upRight", "downLeft", "downRight" 可選 colors: Optional[Iterable] = None label 顏色數組 font_family: Optional[str] = None CSS font-family
cutecharts.charts.Radar.add_series
Params Desc ------ ---- name: str series 名稱 data: Iterable series 數據列表
Radar-基本示例
from cutecharts.charts import Radar from cutecharts.components import Page from cutecharts.faker import Faker def radar_base() -> Radar: chart = Radar("Radar-基本示例") chart.set_options(labels=Faker.choose()) chart.add_series("series-A", Faker.values()) chart.add_series("series-B", Faker.values()) return chart radar_base().render()
Radar-顏色調整
def radar_legend_colors(): chart = Radar("Radar-顏色調整") chart.set_options(labels=Faker.choose(), colors=Faker.colors, legend_pos="upRight") chart.add_series("series-A", Faker.values()) chart.add_series("series-B", Faker.values()) return chart
這個圖表庫感謝有興趣的童鞋,能夠試試。
開源前哨
平常分享熱門、有趣和實用的開源項目。參與維護 10萬+ Star 的開源技術資源庫,包括:Python、Java、C/C++、Go、JS、CSS、Node.js、PHP、.NET 等。