<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          推薦一個(gè) Python 手繪圖形庫(kù)

          共 9623字,需瀏覽 20分鐘

           ·

          2020-09-30 17:07


          https://github.com/chenjiandongx/cutecharts

          今天,給大家介紹一個(gè)很酷的?Python 手繪風(fēng)格可視化神包:cutecharts

          和 Matplotlib 、pyecharts 等常見(jiàn)的圖表不同,使用這個(gè)包可以生成下面這種看起來(lái)像手繪的各種圖表,在一些場(chǎng)景下使用效果可能會(huì)更好。

          GitHub 地址:

          https://github.com/chenjiandongx/cutecharts

          怎么畫(huà)出這些圖表呢,很簡(jiǎn)單,一行命令先安裝好該庫(kù):

          pip?install?cutecharts

          也可以使用源碼安裝的方式:

          $?git?clone?https://github.com/chenjiandongx/cutecharts.git
          $?cd?cutecharts
          $?pip?install?-r?requirements.txt
          $?python?setup.py?install

          下面就介紹下每個(gè)圖表如何繪制。

          首先是一些圖表共通的參數(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"????????????????????渲染使用的模板類(lèi)型,一般不需要修改?

          load_javascript

          加載 JS 依賴,在 JupyterLab 渲染時(shí)使用。

          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(雷達(dá)圖)

          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(散點(diǎn)圖)

          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??????????????????????是否將散點(diǎn)連成線
          dot_size:?int?=?1???????????????????????????????散點(diǎn)大小
          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-散點(diǎn)大小

          def?scatter_dotsize_tickcount():
          ????chart?=?Scatter("Scatter-散點(diǎn)大小")
          ????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-散點(diǎn)連成線

          def?scatter_show_line():
          ????chart?=?Scatter("Scatter-散點(diǎn)連成線")
          ????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
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  看片地址 | 天天艹天天射 | 午夜成人视频网址 | 欧美精品国产亚洲日韩字在线观看 | 人妻免费91 |