python series转int_分享丨推荐一个 Python 手绘图形库
轉自?Python與算法社區
https://github.com/chenjiandongx/cutecharts
今天,給大家介紹一個很酷的?Python 手繪風格可視化神包:cutecharts。
和 Matplotlib 、pyecharts 等常見的圖表不同,使用這個包可以生成下面這種看起來像手繪的各種圖表,在一些場景下使用效果可能會更好。GitHub 地址:
https://github.com/chenjiandongx/cutecharts怎么畫出這些圖表呢,很簡單,一行命令先安裝好該庫:
pip?install?cutecharts也可以使用源碼安裝的方式:
$?git?clone?https://github.com/chenjiandongx/cutecharts.git$?cd?cutecharts
$?pip?install?-r?requirements.txt
$?python?setup.py?install
下面就介紹下每個圖表如何繪制。
首先是一些圖表共通的參數:
Commons
不同圖表有著部分相同的方法。
__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 渲染時使用。Bar(柱狀圖)
cutecharts.charts.Bar
API
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?數據列表
Demo
Bar-基本示例
from?cutecharts.charts?import?Barfrom?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
Line(折線圖)
cutecharts.charts.Line
API
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?數據列表
Demo
Line-基本示例
from?cutecharts.charts?import?Linefrom?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
Pie(餅圖)
cutecharts.charts.Pie
API
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?數據列表
Demo
Pie-基本示例
from?cutecharts.charts?import?Piefrom?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
Radar(雷達圖)
cutecharts.charts.Radar
API
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?數據列表
Demo
Radar-基本示例
from?cutecharts.charts?import?Radarfrom?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
Scatter(散點圖)
cutecharts.charts.Scatter
API
cutecharts.charts.Scatter.set_options
Params??????????????????????????????????????????Desc------??????????????????????????????????????????----
x_label:?str?=?""???????????????????????????????X?坐標軸名稱
y_label:?str?=?""???????????????????????????????Y?坐標軸名稱
x_tick_count:?int?=?3???????????????????????????X?軸刻度分割段數
y_tick_count:?int?=?3???????????????????????????Y?軸刻度分割段數
is_show_line:?bool?=?False??????????????????????是否將散點連成線
dot_size:?int?=?1???????????????????????????????散點大小
time_format:?Optional[str]?=?None???????????????日期格式
legend_pos:?str?=?"upLeft"??????????????????????圖例位置,有?"upLeft",?"upRight",?"downLeft",?"downRight"?可選
colors:?Optional[Iterable]?=?None???????????????label?顏色數組
font_family:?Optional[str]?=?None???????????????CSS?font-family
cutecharts.charts.Scatter.add_series
Params??????????????????????????????????????????Desc------??????????????????????????????????????????----
name:?str???????????????????????????????????????series?名稱
data:?Iterable??????????????????????????????????series?數據列表,[(x1,?y1),?(x2,?y2)]
Demo
Scatter-基本示例
from?cutecharts.charts?import?Scatterfrom?cutecharts.components?import?Page
from?cutecharts.faker?import?Faker
def?scatter_base()?->?Scatter:
????chart?=?Scatter("Scatter-基本示例")
????chart.set_options(x_label="I'm?xlabel",?y_label="I'm?ylabel")
????chart.add_series(
????????"series-A",?[(z[0],?z[1])?for?z?in?zip(Faker.values(),?Faker.values())]
????)
????chart.add_series(
????????"series-B",?[(z[0],?z[1])?for?z?in?zip(Faker.values(),?Faker.values())]
????)
????return?chart
scatter_base().render()
Scatter-散點大小
def?scatter_dotsize_tickcount():????chart?=?Scatter("Scatter-散點大小")
????chart.set_options(dot_size=2,?y_tick_count=8)
????chart.add_series(
????????"series-A",?[(z[0],?z[1])?for?z?in?zip(Faker.values(),?Faker.values())]
????)
????chart.add_series(
????????"series-B",?[(z[0],?z[1])?for?z?in?zip(Faker.values(),?Faker.values())]
????)
????return?chart
Scatter-散點連成線
def?scatter_show_line():????chart?=?Scatter("Scatter-散點連成線")
????chart.set_options(y_tick_count=8,?is_show_line=True)
????chart.add_series(
????????"series-A",?[(z[0],?z[1])?for?z?in?zip(Faker.values(),?Faker.values())]
????)
????chart.add_series(
????????"series-B",?[(z[0],?z[1])?for?z?in?zip(Faker.values(),?Faker.values())]
????)
????return?chart
總結
以上是生活随笔為你收集整理的python series转int_分享丨推荐一个 Python 手绘图形库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: flask-mail异步发送邮件_spr
- 下一篇: python pil保存图片_pytho