<div id="js_content">
<blockquote>
<p><strong>https://github.com/chenjiandongx/cutecharts</strong></p>
</blockquote>
<p>今天,给大家介绍一个很酷的 <strong>Python 手绘风格可视化神包:cutecharts</strong><strong>。</strong></p>
<p>和 Matplotlib 、pyecharts 等常见的图表不同,使用这个包可以生成下面这种看起来像手绘的各种图表,在一些场景下使用效果可能会更好。<img src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-b29b9d40946b3d251b0ab08734aee809" title=""></p>
<p>GitHub 地址:</p>
<p>https://github.com/chenjiandongx/cutecharts</p>
<p>怎么画出这些图表呢,很简单,一行命令先安装好该库:</p>
<pre class="blockcode"><code class="language-go">pip install cutecharts
</code></pre>
<p>也可以使用源码安装的方式:</p>
<pre class="blockcode"><code class="language-go">$ git clone https://github.com/chenjiandongx/cutecharts.git
$ cd cutecharts
$ pip install -r requirements.txt
$ python setup.py install
</code></pre>
<p>下面就介绍下每个图表如何绘制。</p>
<p>首先是一些图表共通的参数:</p>
<h3>Commons</h3>
<p>不同图表有着部分相同的方法。</p>
<p><strong><code>__init__</code></strong></p>
<pre class="blockcode"><code class="language-go">Params Desc
------ ----
title: Optional[str] = None 图表标题
width: str = "800px" 图表宽度
height: str = "600px" 图表高度
assets_host: Optional[str] = None 引用资源 Host
</code></pre>
<p><strong><code>render</code></strong></p>
<pre class="blockcode"><code class="language-go">Params Desc
------ ----
dest: str = "render.html" 渲染的文件路径
template_name: str = "basic_local.html" 渲染使用的模板,一般不需要修改
</code></pre>
<p><strong><code>render_notebook</code></strong></p>
<pre class="blockcode"><code class="language-go">Params Desc
------ ----
template_type: str = "basic" 渲染使用的模板类型,一般不需要修改
</code></pre>
<p><strong><code>load_javascript</code></strong></p>
<pre class="blockcode"><code class="language-go">加载 JS 依赖,在 JupyterLab 渲染时使用。
</code></pre>
<h2>Bar(柱状图)</h2>
<blockquote>
<p>cutecharts.charts.Bar</p>
</blockquote>
<h3>API</h3>
<blockquote>
<p>cutecharts.charts.Bar.set_options</p>
</blockquote>
<pre class="blockcode"><code class="language-go">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
</code></pre>
<blockquote>
<p>cutecharts.charts.Bar.add_series</p>
</blockquote>
<pre class="blockcode"><code class="language-go">Params Desc
------ ----
name: str series 名称
data: Iterable series 数据列表
</code></pre>
<h3>Demo</h3>
<blockquote>
<p>Bar-基本示例</p>
</blockquote>
<pre class="blockcode"><code class="language-go">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()</code></pre>
<p><img src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-da495e2f40decbc35eb0c2ba00c8143f" title="img"></p>
<blockquote>
<p>Bar-调整颜色</p>
</blockquote>
<pre class="blockcode"><code class="language-go">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</code></pre>
<p><img src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-eea005d9c4ab561567599398bb93ad08" title="img"></p>
<h2>Line(折线图)</h2>
<blockquote>
<p>cutecharts.charts.Line</p>
</blockquote>
<h3>API</h3>
<blockquote>
<p>cutecharts.charts.Line.set_options</p>
</blockquote>
<pre class="blockcode"><code class="language-go">Params Desc
------ ----
labels: Iterable X 坐标轴标签数据
x_label: str = "" |
|