欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Python之pyecharts使用

系統 1671 0

最近碰巧需要用到pyecharts,但是實數門外漢,完全不懂怎么使用。網上找了一些教程和博客,不是CV大法,就是通篇代碼,既沒有代碼里的注釋,也沒有文字解釋。看了半天還是不知道各項屬性是什么意思,怎么使用,到頭來還要自己慢慢摸索。(以上純屬個人吐槽,并非貶低所有博主,也沒有表示我寫的就好。只是單純覺得有一些博文語焉不詳,并沒有什么實際意義。同時告誡自己。)

歡迎交流,噴子勿擾,侵權刪除。

?

回歸正題

pyecharts有一個官方API文檔,幾乎包攬了全部內容。便于查看。如果有一定的基礎,建議直接在API中尋找所需內容,不建議去看別人的博客了。畢竟很多東西都是要自己實踐過后才能得出答案。

?

官方API文檔

https://pyecharts.org/#/zh-cn/intro

官方文檔是中文的,清晰簡潔。有目錄欄,方便查看。各項屬性和介紹都有。

安裝

https://pyecharts.org/#/zh-cn/quickstart?id=%e5%a6%82%e4%bd%95%e5%ae%89%e8%a3%85

依舊是官方文檔里有說明。

使用

寫法

總的來說,寫法分成4部分

  1. 引用(即import)
  2. 數據(即data)
  3. 配置屬性(即option)
  4. 生成文件(即render)

調用方式有兩種,一種是鏈式調用,一種是單獨調用。

官方文檔里其實還是給出了說明,我這里CV過來了。

            
              from pyecharts.charts import Bar
from pyecharts import options as opts

# V1 版本開始支持鏈式調用
# 你所看到的格式其實是 `black` 格式化以后的效果
# 可以執行 `pip install black` 下載使用
bar = (
    Bar()
    .add_xaxis(["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"])
    .add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
    .set_global_opts(title_opts=opts.TitleOpts(title="主標題", subtitle="副標題"))
    # 或者直接使用字典參數
    # .set_global_opts(title_opts={"text": "主標題", "subtext": "副標題"})
)
bar.render()



# 不習慣鏈式調用的開發者依舊可以單獨調用方法
bar = Bar()
bar.add_xaxis(["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"])
bar.add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
bar.set_global_opts(title_opts=opts.TitleOpts(title="主標題", subtitle="副標題"))
bar.render()
            
          

這里可以清楚的看到,兩種寫法之間的區別,怎么寫隨你的心意。

Python之pyecharts使用_第1張圖片 各個配置項

上面這張圖基本反映出了所有需要配置的配置項,如果需要設置相應的配置項,可以根據API里的描述,去進行設置。

實例

這里做一個全國地圖的實例。

展示地圖,并保存為指定的html文件

            
              # encoding: utf-8
'''
# @Author  : ccq
# @File    : demo11.py
# @Time    : 2019/7/29 17:20
'''
from example.commons import Faker
from pyecharts import options as opts  # 導入模塊
from pyecharts.charts import Map  # 導入模塊

customMap = (
    Map()
        .add("商家A",  # 圖例
             [list(z) for z in zip(Faker.provinces, Faker.values())],  # 數據項
             "china"  # 地圖
             )
        .set_global_opts(  # 設置全局項
        title_opts=opts.TitleOpts(  # 設置標題項
            title="中國地圖"  # 設置標題名稱
        )
    )
)
customMap.render("demo11.html")  # 生成名為demo11的本地html文件

            
          

效果展示如下:

Python之pyecharts使用_第2張圖片 中國地圖

?可以看到標題在左上角,圖例在中間最頂上。這似乎有些不符合我們的審美,那接下來我們把標題居中,把圖例放到右下角。

標題居中,圖例放到右下角

            
              # encoding: utf-8
'''
# @Author  : ccq
# @File    : demo11.py
# @Time    : 2019/7/29 17:20
'''
from example.commons import Faker
from pyecharts import options as opts  # 導入模塊
from pyecharts.charts import Map  # 導入模塊

customMap = (
    Map()
        .add("商家A",  # 圖例
             [list(z) for z in zip(Faker.provinces, Faker.values())],  # 數據項
             "china"  # 地圖
             )
        .set_global_opts(  # 設置全局項
        title_opts=opts.TitleOpts(  # 設置標題配置項
            title="中國地圖",  # 設置標題名稱
            pos_left="center"  # 設置標題居中
        ),
        legend_opts=opts.LegendOpts(  # 設置圖例配置項
            pos_right="right",  # 設置為水平居左
            pos_bottom="bottom"  # 設置為垂直居下
        )
    )
)
customMap.render("demo11.html")  # 生成名為demo11的本地html文件

            
          

?效果圖展示:

Python之pyecharts使用_第3張圖片 效果展示2

?

?當然啦,如果我們的圖上想加上一些視覺映射配置,例如下面這樣:

Python之pyecharts使用_第4張圖片 展示

?那我需要再增加代碼。

增加視覺映射配置(分段式)

            
              # encoding: utf-8
'''
# @Author  : ccq
# @File    : demo11.py
# @Time    : 2019/7/29 17:20
'''
from example.commons import Faker
from pyecharts import options as opts  # 導入模塊
from pyecharts.charts import Map  # 導入模塊

customMap = (
    Map()
        .add("商家A",  # 圖例
             [list(z) for z in zip(Faker.provinces, Faker.values())],  # 數據項
             "china"  # 地圖
             )

        # 設置系列配置項
        .set_series_opts(
        label_opts=opts.LabelOpts(  # 設置標簽配置項
            is_show=False  # 設置不顯示Label
        )
    )
        # 設置全局項
        .set_global_opts(
        title_opts=opts.TitleOpts(  # 設置標題配置項
            title="中國地圖",  # 設置標題名稱
            pos_left="center"  # 設置標題居中
        ),

        # 設置圖例配置項
        legend_opts=opts.LegendOpts(
            pos_right="right",  # 設置為水平居左
            pos_bottom="bottom"  # 設置為垂直居下
        ),

        # 設置視覺映射配置項
        visualmap_opts=opts.VisualMapOpts(
            is_piecewise=True,  # 設置為分段
            pieces=[  # 自定義分段名稱和顏色
                {"value": "1", "label": "A", "color": "red"},
                {"value": "2", "label": "B", "color": "orange"},
                {"value": "3", "label": "C", "color": "yellow"},
                {"value": "4", "label": "D", "color": "green"},
                {"value": "5", "label": "E", "color": "blue"},
                {"value": "6", "label": "F", "color": "cyan"},
                {"value": "7", "label": "G", "color": "purple"}
            ]
        )
    )
)
customMap.render("demo11.html")  # 生成名為demo11的本地html文件

            
          

效果圖如下

Python之pyecharts使用_第5張圖片 分段式視覺映射配置效果

?

{"value": "1", "label": "A", "color": "red"},這段代碼是用來寫自定義視覺映射項的

"value": "1"? :值為1,后面會提到為什么這樣設置

"label": "A"? :標簽名稱為A

"color": "red"? :顏色為紅色

?

那么接下來就是配置數據和圖例項了

配置數據

之前我們使用的是官方提供的數據,

            
              [list(z) for z in zip(Faker.provinces, Faker.values())]
            
          

這個是別人提供的,但是我們想用自己的,那么怎么操作呢?

當然先自己定義一個數據項,然后把這個換成自己的數據項。

            
              mydata1 = [
    ("云南", 1)
]
mydata2 = [
    ("廣東", 2)
]
mydata3 = [
    ("浙江", 3)
]
            
          

這是數據項的配置。因為我們使用的map圖,因此,沒有經緯度要填寫,要寫的只是,省份和對應的value值,熟悉嗎?value,剛剛在上面提到的,自定義視覺映射項時的value值要和這里的值對應哦。

配置圖例項

            
              .add("圖例1",  # 圖例
             mydata1,  # 數據項
             "china"  # 地圖
             )
        .add("圖例2",  # 圖例
             mydata2,  # 數據項
             "china"  # 地圖
             )
        .add("圖例3",  # 圖例
             mydata3,  # 數據項
             "china"  # 地圖
             )
            
          

.add里有3個參數,第一個是圖例名稱,第二個是數據,第三個是地圖種類。

綜合

            
              # encoding: utf-8
'''
# @Author  : ccq
# @File    : demo11.py
# @Time    : 2019/7/29 17:20
'''
from example.commons import Faker
from pyecharts import options as opts  # 導入模塊
from pyecharts.charts import Map  # 導入模塊

mydata1 = [
    ("云南", 1)
]
mydata2 = [
    ("廣東", 2)
]
mydata3 = [
    ("浙江", 3)
]
customMap = (
    Map()
        .add("圖例1",  # 圖例
             mydata1,  # 數據項
             "china"  # 地圖
             )
        .add("圖例2",  # 圖例
             mydata2,  # 數據項
             "china"  # 地圖
             )
        .add("圖例3",  # 圖例
             mydata3,  # 數據項
             "china"  # 地圖
             )

        # 設置系列配置項
        .set_series_opts(
        label_opts=opts.LabelOpts(  # 設置標簽配置項
            is_show=False  # 設置不顯示Label
        )
    )
        # 設置全局項
        .set_global_opts(
        title_opts=opts.TitleOpts(  # 設置標題配置項
            title="中國地圖",  # 設置標題名稱
            pos_left="center"  # 設置標題居中
        ),

        # 設置圖例配置項
        legend_opts=opts.LegendOpts(
            pos_right="right",  # 設置為水平居左
            pos_bottom="bottom"  # 設置為垂直居下
        ),

        # 設置視覺映射配置項
        visualmap_opts=opts.VisualMapOpts(
            is_piecewise=True,  # 設置為分段
            pieces=[  # 自定義分段名稱和顏色
                {"value": "1", "label": "A", "color": "red"},
                {"value": "2", "label": "B", "color": "orange"},
                {"value": "3", "label": "C", "color": "yellow"},
                {"value": "4", "label": "D", "color": "green"},
                {"value": "5", "label": "E", "color": "blue"},
                {"value": "6", "label": "F", "color": "cyan"},
                {"value": "7", "label": "G", "color": "purple"}
            ]
        )
    )
)
customMap.render("demo11.html")  # 生成名為demo11的本地html文件

            
          

效果圖

Python之pyecharts使用_第6張圖片 最終效果

?

OK,這樣一個自定義的就完成了!有問題歡迎交流!

?

#2019/7/29 21:00更新

使用Geo圖新完成了一個有大量數據的地圖

            
              # encoding: utf-8
'''
# @Author  : ccq
# @File    : demo02.py
# @Time    : 2019/7/29 13:57
'''

from pyecharts import options as opts  # 導入模塊
from pyecharts.charts import Geo  # 導入模塊

# 設置數據
persondata = [('云南', '1'), ('云南', '3'), ('北京', '4'), ('甘肅', '4'), ('廣西', '4'), ('廣西', '3'), ('廣西', '6'),
              ('廣東', '4'), ('廣東', '1'), ('廣東', '2'), ('安徽', '4'), ('貴州', '4'), ('河南', '4'), ('湖北', '5'),
              ('山西', '4'), ('陜西', '4'), ('上海', '4'), ('四川', '4'), ('四川', '5'), ('四川', '3'), ('四川', '6'),
              ('新疆', '3'), ('新疆', '4'), ('浙江', '4'), ('浙江', '5'), ('浙江', '6'), ('云南', '5'), ('云南', '3'),
              ('重慶', '4'), ]
chickendata = [('北京', '4'), ('廣西', '4'), ('廣西', '3'), ('河南', '4'), ('河南', '3'), ('江蘇', '4'), ('江西', '4'),
               ('江西', '5'), ('山東', '4'), ('上海', '4'), ('四川', '4'), ('四川', '5'), ('四川', '3'), ('廣東', '4'), ('廣東', '3'), ]
duckdata = [('北京', '4'), ('山東', '4'), ('浙江', '4'), ('廣東', '4'), ('廣東', '3'), ]
pigdata = [('廣西', '4'), ('廣西', '5'), ('廣東', '4'), ('黑龍江', '4'), ('江西', '4'), ('江西', '5'), ('山東', '4'), ]
seafooddata = [('廣東', '4'), ]
mousedata = [('河南', '4'), ]
cattledata = [('新疆', '3'), ]
sheepdata = [('新疆', '3'), ]
geo = Geo()  # 初始化配置項
geo.add_schema(maptype="china")  # 設置地圖類型
geo.add(#添加圖例
    '鼠',#圖例名稱
    persondata,#數據源
    symbol='circle',#圖例形狀

)
geo.add(
    '牛',
    chickendata,
    symbol='rect',
)
geo.add(
    '虎',
    duckdata,
    symbol='roundRect',
)
geo.add(
    '兔',
    pigdata,
    symbol='triangle',
)
geo.add(
    '龍',
    seafooddata,
    symbol='diamond',
)
geo.add(
    '蛇',
    mousedata,
    symbol='pin',
)
geo.add(
    '馬',
    cattledata,
    symbol='arrow',
)
geo.add(
    '羊',
    sheepdata,
    symbol='none',
)
geo.set_global_opts(  # 設置全局項

    title_opts=opts.TitleOpts(  # 設置標題配置項
        title="中國地圖",  # 設置標題名稱
        pos_left="center"  # 設置標題距離容器左邊的位置 這里為居中
    ),
    visualmap_opts=opts.VisualMapOpts(  # 設置視覺映射配置項
        is_piecewise=True,  # 設置是否為分段型

        pos_left="left",  # 設置視覺映射距離容器左邊的位置 這里為居左
        pos_bottom="bottom",  # 設置視覺映射距離容器底部的位置 這里為底部
        orient="vertical",  # 設置水平('horizontal')或者豎直('vertical')
        pieces=[  # 設置每段的范圍、文字、顏色
            {"value": "1", "label": "A", "color": "red"},
            {"value": "2", "label": "B", "color": "orange"},
            {"value": "3", "label": "C", "color": "yellow"},
            {"value": "4", "label": "D", "color": "green"},
            {"value": "5", "label": "E", "color": "blue"},
            {"value": "6", "label": "F", "color": "cyan"},
            {"value": "7", "label": "G", "color": "purple"}
        ],

    ),
    legend_opts=opts.LegendOpts(  # 設置圖例配置項
        pos_right="right",
        pos_top="top",
        orient="vertical",

    ),
)
geo.set_series_opts(
    label_opts=opts.LabelOpts(  # 設置標簽配置項
        is_show=False  # 設置不顯示Label
    )
)

geo.render("demo03.html")  # 生成名為"demo03"的本地html文件

            
          
Python之pyecharts使用_第7張圖片 Geo效果圖

與Map不同在于:

Map中add的時候需要添加地圖屬性'china',但是Geo中只需要額外添加一句

geo.add_schema(maptype="china") ?# 設置地圖類型


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 日日夜夜天天 | 国产精品久久久久久婷婷天堂 | 成人在线激情网 | 91视频一区 | 天天看天天爽 | xnxx 日本19| 亚洲午夜久久久精品影院 | 久久精品道一区二区三区 | 在线免费黄色 | 欧美精品一区二 | 国产操片| 久久久久99| 深夜福利一区二区 | 欧美日韩精品久久久免费观看 | 国产超91| 成人午夜天堂 | 日韩欧美第一页 | 91精品国产综合久久欧美 | 91p在线| 国产大片免费观看中文字幕 | 亚洲乱码在线 | 看中国国产一级毛片真人视频 | 任你操免费视频 | 久久99精品热在线观看15 | 欧美精品欧美精品系列 | 日日碰狠狠添天天爽五月婷 | 欧美激情精品久久久久久变态 | 国产69精品久久久久999小说 | 国产99久久亚洲综合精品 | 免费在线国产视频 | 国产三级在线精品男人的天堂 | 三级毛片在线 | 草草国产成人免费视频 | 欧美日韩国产三级 | 日韩精品真人荷官无码 | 欧美亚洲国产精品第一页 | 天堂中文资源在线观看 | 日本va视频 | 黄色免费网站在线观看 | 欧美乱xxxxx强 | 久久综合九色综合桃花 |