1. 推薦一個 Python 手繪圖形庫

        共 9623字,需瀏覽 20分鐘

         ·

        2020-09-30 17:07


        https://github.com/chenjiandongx/cutecharts

        今天,給大家介紹一個很酷的?Python 手繪風(fēng)格可視化神包: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

        下面就介紹下每個圖表如何繪制。

        首先是一些圖表共通的參數(shù):

        Commons

        不同圖表有著部分相同的方法。

        __init__

        Params??????????????????????????????????????????Desc
        ------??????????????????????????????????????????----
        title:?Optional[str]?=?None?????????????????????圖表標(biāo)題
        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?坐標(biāo)軸標(biāo)簽數(shù)據(jù)
        x_label:?str?=?""???????????????????????????????X?坐標(biāo)軸名稱
        y_label:?str?=?""???????????????????????????????Y?坐標(biāo)軸名稱
        y_tick_count:?int?=?3???????????????????????????Y?軸刻度分割段數(shù)
        colors:?Optional[Iterable]?=?None???????????????label?顏色數(shù)組
        font_family:?Optional[str]?=?None???????????????CSS?font-family

        cutecharts.charts.Bar.add_series

        Params??????????????????????????????????????????Desc
        ------??????????????????????????????????????????----
        name:?str???????????????????????????????????????series?名稱
        data:?Iterable??????????????????????????????????series?數(shù)據(jù)列表

        Demo

        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-調(diào)整顏色

        def?bar_tickcount_colors():
        ????chart?=?Bar("Bar-調(diào)整顏色")
        ????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?坐標(biāo)軸標(biāo)簽數(shù)據(jù)
        x_label:?str?=?""???????????????????????????????X?坐標(biāo)軸名稱
        y_label:?str?=?""???????????????????????????????Y?坐標(biāo)軸名稱
        y_tick_count:?int?=?3???????????????????????????Y?軸刻度分割段數(shù)
        legend_pos:?str?=?"upLeft"??????????????????????圖例位置,有?"upLeft",?"upRight",?"downLeft",?"downRight"?可選
        colors:?Optional[Iterable]?=?None???????????????label?顏色數(shù)組
        font_family:?Optional[str]?=?None???????????????CSS?font-family

        cutecharts.charts.Line.add_series

        Params??????????????????????????????????????????Desc
        ------??????????????????????????????????????????----
        name:?str???????????????????????????????????????series?名稱
        data:?Iterable??????????????????????????????????series?數(shù)據(jù)列表

        Demo

        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-調(diào)整顏色

        def?line_tickcount_colors():
        ????chart?=?Line("Line-調(diào)整顏色")
        ????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????????????????????????????????數(shù)據(jù)標(biāo)簽列表
        inner_radius:?float?=?0.5???????????????????????Pie?圖半徑
        legend_pos:?str?=?"upLeft"??????????????????????圖例位置,有?"upLeft",?"upRight",?"downLeft",?"downRight"?可選
        colors:?Optional[Iterable]?=?None???????????????label?顏色數(shù)組
        font_family:?Optional[str]?=?None???????????????CSS?font-family

        cutecharts.charts.Pie.add_series

        Params??????????????????????????????????????????Desc
        ------???????????????????????????????????????----
        data:?Iterable??????????????????????????????????series?數(shù)據(jù)列表

        Demo

        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

        Radar(雷達圖)

        cutecharts.charts.Radar

        API

        cutecharts.charts.Radar.set_options

        Params??????????????????????????????????????????Desc
        ------??????????????????????????????????????????----
        labels:?Iterable????????????????????????????????數(shù)據(jù)標(biāo)簽列表
        is_show_label:?bool?=?True??????????????????????是否顯示標(biāo)簽
        is_show_legend:?bool?=?True?????????????????????是否顯示圖例
        tick_count:?int?=?3?????????????????????????????坐標(biāo)系分割刻度
        legend_pos:?str?=?"upLeft"??????????????????????圖例位置,有?"upLeft",?"upRight",?"downLeft",?"downRight"?可選
        colors:?Optional[Iterable]?=?None???????????????label?顏色數(shù)組
        font_family:?Optional[str]?=?None???????????????CSS?font-family

        cutecharts.charts.Radar.add_series

        Params??????????????????????????????????????????Desc
        ------??????????????????????????????????????????----
        name:?str???????????????????????????????????????series?名稱
        data:?Iterable??????????????????????????????????series?數(shù)據(jù)列表

        Demo

        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-顏色調(diào)整

        def?radar_legend_colors():
        ????chart?=?Radar("Radar-顏色調(diào)整")
        ????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?坐標(biāo)軸名稱
        y_label:?str?=?""???????????????????????????????Y?坐標(biāo)軸名稱
        x_tick_count:?int?=?3???????????????????????????X?軸刻度分割段數(shù)
        y_tick_count:?int?=?3???????????????????????????Y?軸刻度分割段數(shù)
        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?顏色數(shù)組
        font_family:?Optional[str]?=?None???????????????CSS?font-family

        cutecharts.charts.Scatter.add_series

        Params??????????????????????????????????????????Desc
        ------??????????????????????????????????????????----
        name:?str???????????????????????????????????????series?名稱
        data:?Iterable??????????????????????????????????series?數(shù)據(jù)列表,[(x1,?y1),?(x2,?y2)]

        Demo

        Scatter-基本示例

        from?cutecharts.charts?import?Scatter
        from?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



        瀏覽 92
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
          
          

            1. 美女被操黄色网 | 哺乳期丰满乳亲伦小说 | 国产三级观看 | 欧美在线日本 | asian艳丽少妇裸体pis |