文章目錄
- 前言
- 資料分析
- 資料查看
- 資料加載
- 資料分析和可視化
- 一、招聘崗位數量城市排名TOP10 --- 柱狀圖
- 1、資料分析
- 2、柱狀圖
- 3、效果展示
- 二、招聘崗位的薪酬分布 --- 餅圖
- 1、處理資料
- 2、生成餅圖
- 3、效果展示
- 三、招聘崗位對經驗的要求 --- 水平柱狀圖
- 1、對資料處理
- 2、柱狀圖
- 3、效果展示
- 四、招聘崗位對學歷的要求 --- 水平柱狀圖
- 1、分析資料
- 2、學歷柱狀圖
- 3、效果展示
- 五、學歷經驗 --- 餅狀圖
- 效果展示
- 六、 公司人數統計 --- 象形柱狀圖
- 1、分析資料
- 2、象形柱狀圖
- 3、效果展示
- 七、公司所屬行業 --- 詞云圖
- 1、分析行業資料
- 2、畫詞云圖
- 3、效果展示
- 八、公司職位福利 --- 詞云圖
- 1、分析資料
- 2、生成詞云圖
- 3、效果展示
- 關聯文章
前言
最近在獵聘上爬了一些物流崗位相關的資料,看著這些爬下來的資料,心里就開始癢癢了,想著怎么把資料利用起來,于是開始了可視化的道路,
使用到的工具包為:
- Pyecharts
- pandas
- sqlalchemy
- numpy
資料分析
資料查看
資料欄位,一共有21個欄位


資料量大概17W條,
關注文章下的公眾號,回復「獵聘資料」獲取相關資料資源
資料加載
從資料庫中加載資料「公眾號中的資料為 excel 檔案」
from sqlalchemy import create_engine
import pandas as pd
engine=create_engine("mysql+pymysql://用戶名:passwd@ip:3306/庫")
result = pd.read_sql('select * from liepin', engine)
result
資料分析和可視化
一、招聘崗位數量城市排名TOP10 — 柱狀圖
1、資料分析
job_city = result['job_city']
word_counts = job_city.value_counts().to_dict()
# 按照字典的value進行排序
data = sorted(word_counts.items(), key=lambda x: x[1], reverse=True)
2、柱狀圖
代碼如下:
import pandas as pd
from pyecharts.charts import Bar
from pyecharts import options as opts
from pyecharts.commons.utils import JsCode
from pyecharts.globals import ThemeType
# 測驗統計
color_function = """
function(params){
if(params.value>=8000){
return '#FF1493';
}else if (7000<params.value && params.value<8000){
return '#732DC1';
}else{
return '#2CC0C2';
}
}
"""
bar = (
Bar(opts.InitOpts(width='900px', height='500px', theme=ThemeType.VINTAGE)) # 圖片的大小,及主題風格
.add_xaxis([i[0] for i in data[1:11]])
.add_yaxis("",
[i[1] for i in data[1:11]],
itemstyle_opts=opts.ItemStyleOpts(JsCode(color_function)))
.set_series_opts(label_opts=opts.LabelOpts(position="top")) # 提示的位置
.set_global_opts(
title_opts=opts.TitleOpts(title="招聘崗位數量城市排名TOP10"),
xaxis_opts=opts.AxisOpts(
name='城市',
name_location='middle',
name_gap=35,
name_textstyle_opts=opts.TextStyleOpts(
font_family='Times New Roman',
font_size=14,
color='black',
# font_weight='bolder',
)
),
yaxis_opts=opts.AxisOpts(
name='崗位數',
name_location='middle', # 在軸上面所處的位置
name_gap=50, # 調整距離
name_textstyle_opts=opts.TextStyleOpts(
font_family='Times New Roman',
font_size=14,
color='black',
# font_weight='bolder',
)
)
)
)
# bar.render("招聘崗位數量城市排名TOP10.html") # 生成HTML檔案
bar.render_notebook() # 在notebook中展示
# make_snapshot(snapshot, bar.render(), "./獵聘資料可視化/招聘崗位數量城市排名TOP10.png", pixel_ratio=10) # 生成png,pixel_ratio設定解析度
注意:如果在notebook中不能展示出柱狀圖,請參考JupyterNotebook展示Pyecharts影像
3、效果展示

二、招聘崗位的薪酬分布 — 餅圖
1、處理資料
經過資料分析,發現資料的salary欄位格式有五種格式:薪資面議「不考慮」、6-8k·13薪、3000元/月、100元/日、10-20k
我們統一單位為:K
- 6-8k·13薪: 取中值為7K,然后乘13薪,除12 就是每個月的K
- 3000元/月: 3000 除 1000
- 100元/日:此處的天數我假設為作業30天,其實正常22天,這個自己定,將100 * 30 / 1000
- 10-20k: 取中值
代碼如下:
part_interval = ["5K以下", "5K-10K", "10K-15K", "15K-20K", "20K-30K", "30K-50K", "50K以上"]
level1, level2, level3, level4, level5, level6, level7 = 0, 0, 0, 0, 0, 0, 0
#遍歷salary,然后對資料進行劃分,取中值為標準,薪資單位為 K
for i in result['salary']:
if str(i) == 'nan' or "面議" in i: # 面議的則不考慮
pass
elif i[-1] == "薪": # 資料中的格式為:6-8k·13薪
x = i.split("·")
month = x[1][:-1]
money = x[0].split("-")
salary = (float(money[0]) + float(money[1][:-1])) / 2 * float(month) / 12
elif i[-3:] == "元/月": # 資料中的格式為: 3000元/月
i = i.replace('元/月', '-元/月')
x = i.split('-')
salary = float(x[0]) / 1000
elif i[-3:] == "元/日": # 資料中的格式為:100元/日 ,此處的天數我假設為作業30天,其實正常22天
i = i.replace('元/日', '-元/日')
x = i.split('-')
salary = float(x[0]) * 30 / 1000
else:
# 正常單位的資料,格式為:10-20k
x = i.split("-")
salary = (float(x[0]) + float(x[1][:-1])) / 2
if salary <= 5:
level1 += 1
if 5 < salary <= 10:
level2 += 1
elif 10 < salary <= 15:
level3 += 1
elif 15 < salary <= 20:
level4 += 1
elif 20 < salary <= 30:
level5 += 1
elif 30 < salary <= 50:
level6 += 1
elif salary > 50:
level7 += 1
salary = 0
2、生成餅圖
from pyecharts.charts import Pie
from pyecharts import options as opts
from pyecharts.globals import ThemeType
x_data = ["5K以下", "5K-10K", "10K-15K", "15K-20K", "20K-30K", "30K-50K", "50K以上"]
y_data = level1, level2, level3, level4, level5, level6, level7
pie = (
Pie(init_opts=opts.InitOpts(width='800px', height='500px',
theme=ThemeType.VINTAGE)) # 設定大小
.add(
series_name="獵聘資料",
data_pair=[list(z) for z in zip(x_data, y_data)],
center=["50%", "55%"], # 設定圓心所在位置
radius=["40%", "60%"], # 設定餅圖的內圈和外圈差
# rosetype = True, # 南丁格爾
label_opts=opts.LabelOpts(
position="outside",
formatter=" {b|{b}: }{c} {per|{d}%} ", # 格式為: {b|{b}: }{c} {per|{d}%} {b}:{d}%
background_color="#eee",
border_color="#aaa",
border_width=1,
border_radius=4,
rich={
"a": {"color": "#999", "lineHeight": 12, "align": "center"},
"abg": {
"backgroundColor": "#e3e3e3",
"width": "100%",
"align": "right",
"height": 12,
"borderRadius": [4, 4, 0, 0],
},
"hr": {
"borderColor": "#aaa",
"width": "100%",
"borderWidth": 0.5,
"height": 0,
},
"b": {"fontSize": 12, "lineHeight": 15},
"per": {
"color": "#eee",
"backgroundColor": "#334455",
"padding": [2, 4],
"borderRadius": 2,
},
},
),
)
.set_global_opts(
title_opts=opts.TitleOpts(title="招聘崗位的薪酬分布", pos_left='left'), # 設定title的位置
legend_opts=opts.LegendOpts(pos_top="10%", orient="horizontal") # 設定「各薪水類別」所在位置
)
.set_series_opts(
tooltip_opts=opts.TooltipOpts(
trigger="item", formatter="{b}: {c} ({d}%)", # 設定滑鼠懸停的提示資訊
)
)
)
# pie.render("招聘崗位的薪酬分布.html")
pie.render_notebook()
# make_snapshot(snapshot, pie.render(), "./獵聘資料可視化/招聘崗位的薪酬分布.png", pixel_ratio=10)
3、效果展示

三、招聘崗位對經驗的要求 — 水平柱狀圖
1、對資料處理
result['work_exp'].value_counts()

2、柱狀圖
根據上面的資料分析,可看出,將學歷劃分為:經驗不限、應屆生、1年以下、1-3年、3-5年、 5-10年、10年以上
可手動計算出每個學歷對應的數目
from pyecharts.charts import Bar
from pyecharts import options as opts
from pyecharts.globals import ThemeType
# V1 版本開始支持鏈式呼叫
# 你所看到的格式其實是 `black` 格式化以后的效果
# 可以執行 `pip install black` 下載使用
# .set_colors(["blue","red","black","green","orange"])
# 主題設定: init_opts=opts.InitOpts(theme=ThemeType.VINTAGE) 或者 {"theme": ThemeType.MACARONS}
bar = (
Bar(opts.InitOpts(width='900px', height='500px', theme=ThemeType.VINTAGE))
.add_xaxis(["經驗不限", "應屆生", "1年以下", "1-3年", "3-5年", "5-10年", "10年以上"])
.add_yaxis("崗位數量", [22733, 281, 1773, 24942, 31251, 24070, 7264])
.reversal_axis() # x、y軸的資料互換
.set_series_opts(label_opts=opts.LabelOpts(position="right")) # 直方圖上提示所在位置
.set_global_opts(
title_opts=opts.TitleOpts(title="招聘崗位對經驗的要求"), # , subtitle="副標題"
xaxis_opts=opts.AxisOpts(
name='崗位數量',
name_location='middle',
name_gap=35,
# x軸名稱的格式配置
name_textstyle_opts=opts.TextStyleOpts(
font_family= 'Times New Roman',
font_size=14,
),
axistick_opts=opts.AxisTickOpts(
# is_show=False, # 是否顯示刻度線
is_inside=True, # 刻度線是否在內側
)
),
yaxis_opts=opts.AxisOpts(
name='經驗',
name_location='middle',
name_gap=70,
name_textstyle_opts=opts.TextStyleOpts(
font_family= 'Times New Roman',
font_size=14,
color='black',
# font_weight='bolder',
),
axistick_opts=opts.AxisTickOpts(
# is_show=False, # 是否顯示
is_inside=True, # 刻度線是否在內側
)
),
# 顯示工具列
# toolbox_opts=opts.ToolboxOpts(is_show=True),
)
)
# bar.render("招聘崗位對經驗的要求_bar.html")
# make_snapshot(snapshot, bar.render(), "./獵聘資料可視化/招聘崗位對經驗的要求_bar.png", pixel_ratio=10)
bar.render_notebook()
3、效果展示

四、招聘崗位對學歷的要求 — 水平柱狀圖
1、分析資料
result['eduLevel'].value_counts()

2、學歷柱狀圖
from pyecharts.charts import Bar
from pyecharts import options as opts
from pyecharts.globals import ThemeType
bar = (
Bar(opts.InitOpts(width='900px', height='500px', theme=ThemeType.VINTAGE))
.add_xaxis(["學歷不限", "中專/中技", "大專", "本科", "碩士", "MBA/EMBA", "博士"])
.add_yaxis("崗位數量", [8145, 1462, 46693, 54673, 1198, 6, 137])
.reversal_axis()
.set_series_opts(label_opts=opts.LabelOpts(position="right")) # 直方圖上提示所在位置
.set_global_opts(
title_opts=opts.TitleOpts(title="招聘崗位對學歷的要求"), # , subtitle="副標題"
xaxis_opts=opts.AxisOpts(
name='崗位數量',
name_location='middle',
name_gap=35,
# x軸名稱的格式配置
name_textstyle_opts=opts.TextStyleOpts(
font_family= 'Times New Roman',
font_size=14,
),
# 坐標軸刻度配置項
axistick_opts=opts.AxisTickOpts(
# is_show=False, # 是否顯示
is_inside=True, # 刻度線是否在內側
)
),
yaxis_opts=opts.AxisOpts(
name='學歷',
name_location='middle',
name_gap=70,
name_textstyle_opts=opts.TextStyleOpts(
font_family= 'Times New Roman',
font_size=14,
color='black',
# font_weight='bolder',
),
axistick_opts=opts.AxisTickOpts(
# is_show=False, # 是否顯示
is_inside=True, # 刻度線是否在內側
),
),
# 顯示工具列
toolbox_opts=opts.ToolboxOpts(is_show=True),
)
)
# bar.render("招聘崗位對學歷的要求_bar_reversal.html")
# make_snapshot(snapshot, bar.render(), "./獵聘資料可視化/招聘崗位對學歷的要求_bar.png", pixel_ratio=10)
bar.render_notebook()
3、效果展示

五、學歷經驗 — 餅狀圖
利用上面對學歷和經驗分析獲取的資料,繪制餅狀圖
import pyecharts.options as opts
from pyecharts.charts import Pie
from pyecharts.globals import ThemeType
x_data = ["經驗不限", "應屆生", "1年以下", "1-3年", "3-5年", "5-10年", "10年以上"]
y_data = [22733, 281, 1773, 24942, 31251, 24070, 7264]
# x_data = ["學歷不限", "中專/中技", "大專", "本科", "碩士", "MBA/EMBA", "博士"]
# y_data = [8145, 1462, 46693, 54673, 1198, 6, 137]
pie = (
Pie(init_opts=opts.InitOpts(width='850px', height='500px', theme=ThemeType.VINTAGE)) # 設定大小 width="1600px", height="1000px"
.add(
series_name="獵聘資料",
center=["45%", "55%"],
data_pair=[list(z) for z in zip(x_data, y_data)],
radius=["40%", "60%"],
# rosetype = True, # 南丁格爾
label_opts=opts.LabelOpts(
position="outside",
formatter=" {b|{b}: }{c} {per|{d}%} ", # 格式為: {b|{b}: }{c} {per|{d}%} {b}:{d}%
background_color="#eee",
border_color="#aaa",
border_width=1,
border_radius=4,
rich={
"a": {"color": "#999", "lineHeight": 12, "align": "center"},
"abg": {
"backgroundColor": "#e3e3e3",
"width": "100%",
"align": "right",
"height": 12,
"borderRadius": [4, 4, 0, 0],
},
"hr": {
"borderColor": "#aaa",
"width": "100%",
"borderWidth": 0.5,
"height": 0,
},
"b": {"fontSize": 12, "lineHeight": 15},
"per": {
"color": "#eee",
"backgroundColor": "#334455",
"padding": [2, 4],
"borderRadius": 2,
},
},
),
)
.set_global_opts(
title_opts=opts.TitleOpts(
title="招聘崗位對經驗的要求", pos_left='0%'),
legend_opts=opts.LegendOpts(pos_right="5%", orient="vertical", pos_top="5%")
)
.set_series_opts(
tooltip_opts=opts.TooltipOpts(
trigger="item", formatter="{b}: {c} ({d}%)"
)
)
)
pie.render_notebook()
# make_snapshot(snapshot, pie.render(), "./獵聘資料可視化/招聘崗位對經驗的要求_pie.png", pixel_ratio=10)
效果展示


六、 公司人數統計 — 象形柱狀圖
1、分析資料
result.groupby(['comp_url', "人數規模"], as_index=False).size()['人數規模'].value_counts()

2、象形柱狀圖
import json
from pyecharts import options as opts
from pyecharts.charts import PictorialBar
from pyecharts.globals import ThemeType
location = ["1-49人", "50-99人", "100-499人", "500-999人", "1000-2000人", "2000-5000人", "5000-10000人", "10000人以上"]
values = [4636, 4178, 7339, 2560, 1797, 1284, 914, 1100]
c = (
PictorialBar(opts.InitOpts(width='900px', height='500px', theme=ThemeType.VINTAGE))
.add_xaxis(location)
.add_yaxis(
"",
values,
label_opts=opts.LabelOpts(is_show=True, position='right', formatter=" {c}家"), # 設定y軸的標簽位置及格式
symbol_size=30, # 調節圖形的大小
symbol_repeat="fixed", # 格式有三種,分別為true\false\"fixed" true和fixed均是重復圖形,而false圖形僅一個 ,fixed與
is_symbol_clip=True, # 是否裁剪圖形 好比一個圖形表示10,那么值15,則用一個半的圖形表示,這就是裁剪
# is_selected = False,
symbol='image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAFVElEQVR4Xu1aS3LbRhDtBlxKKkpVmBMEolaJpQp1glAnkHIC8QamdyazCLWhvIt8A+kEsU8g+gSmS5KzksScIEpVkkpUxnR68B38AREESBPYsTiYmX7T/fp1DxDW/ME1tx8aABoPWHMEmhBYcwdYDhK8M0atf+DBeDobT6s+kFpD4Nr46YA0OuRj6EnD0YS9qkGoHIBrY9ghDZ4RwCEitNQTJ1Ps785eTqr0gkoA+M14YZgaPmPD+LTRSDLwkwJAxvVf2sMRI9xjF+/kOdWVB0Aa/bf+34Hl3oCHeYz+JELAJbO4uC4CgusBV9uDCyCc6UIcfzt7OSsyR9Gxj+YAm8zoiAB7YTKL3QTRe0K49/4j6CDiV3EecLU9ZCydh+BskUAUBsAhtIs0MosAwMbv3J4EeMACUId3mQAsGIjCAFwaL7qoaxdFXI0Ijndvx6PwO4GT5j/9EFA8QHmJ57nXAE6/EBuvtmYj35uKbCY0thIA2LTJzs3Jvrq25Um6dpfbAxYEREUAyOOFKS/2WtpBQK047sjygPBBux7x9HZ8/FgnqA6AHDssCoBPlDRjrTFiLzvPsUxgSEkA0DmZdObOrOvYMpm9XZYnoj911vumSV7coo49Vv9HuUOA6DkJ8ool1LDDRPxLwBoiTp20XyR1lgKAboqt8KKX7eGI0+PPcoNI8IrdtP9YEuSQebt7c9KNvN8eTBmE7wMgJhBukmesOADDd2GZnZRxFgoAsxqLFT8EBGgtoRGHgF3tWWQlsKeB8EKAiyNZI3AY+E8aB/Ac/SdKCHzkEOD5T2OIMTblLhaAosyTMP7RJKiCWEcIOKntrbsPjvlWODbZS34nZLZ2n7xS2B+f+b7jbdV7gAb043c3J1aOdx9WefL3gfU7RgrHKcpED2DwNsVGR1V/duX58MdShMDOzThCpmoWmFcKJ2WBy+3BhMvuH2rPAnGNDC5pz/w8P6cU5vzOxdSWaqjTcLmLtNXq4ADJ8gjM+oAWywukTrQhQhMknDh8IbNDpD2WSoKKlHbm4CyCxlKEQElJILMazLNOTTqA3musxV2pK2UqdzRYCfoND7kxEMLyACmVBTdSPJJ0LEvzAKkmhRAe0XJJLpWlTbLKUwsAcVL4uj085Q6Q7ATLNHDOhYo02HviWDw5C0QbKnKiq/ZQFkHf1A7AprnxdbhBUU0tsCRSmN1zpNbk1ulqD9w2c9rhMVXaVXvQD1dzSR5gS2nYV2+NkjpTtYRAHnLKM2alpXAeA7PGrCwA4Xrf6Ry/9uoBlrLc2u6qPQOVI1xgUqvB0L3hUoVAfSS4Ig2R+dMgTHdux3vhEGIivQurwZpIkCa6CSN3g6YOBhGeqg0RROrzmJk75qMO/bBczhBCI03QxH1faNhlneGt6YVRHbVAFrnl/X9lSVDW+9zn92Qq3960fBVom29JWfDvBrl4ksVQsKHpEF34xsgB8A27t98VtjXGckjhuE9bglIY3nDPIHBdXoYUvmwP7iMXrHWEwNo3RDgEnnPDItChte74AbuW+7IU3hSf7an1woftwSFXhL8GCpmEEJBS+IkQe6qOiLtdtpeKv4hN4qFS7gVsIzk+0b754QwgW9bBD6Bk0wSdmx1CbppGP5vJJkE/C3jghiyrD4C8VJ8yLhuA7EUaAGoLgezDyRzReEC6DsgEsF4SzLW99EFL6QEhQVOCmdVNkXQtr+4gMw3G3b5UZ8J8KyXdKDUAKAhkekDgknO+A6nh7Wg7PryJTACsOzj4N9fHzjVYmLrkl/D5NOt7wkwAls2osvfTAFA2oqs2X+MBq3ZiZe+38YCyEV21+f4HGU+nfTIBesIAAAAASUVORK5CYII=',
)
.reversal_axis()
.set_global_opts(
title_opts=opts.TitleOpts(title="公司人數統計"),
yaxis_opts=opts.AxisOpts(
name='公司人數',
name_location='middle',
axistick_opts=opts.AxisTickOpts(is_show=False),
axisline_opts=opts.AxisLineOpts(
linestyle_opts=opts.LineStyleOpts(opacity=0)
),
name_gap=90,
name_textstyle_opts=opts.TextStyleOpts(
font_family= 'Times New Roman',
font_size=14,
color='black',
# font_weight='bolder',
),
axislabel_opts=opts.LabelOpts(
font_size=12,
font_family='Times New Roman',
),
),
xaxis_opts=opts.AxisOpts(
name='公司數目',
# is_inverse=True, 反向坐標軸
axislabel_opts=opts.LabelOpts(font_size = 14, font_family='Times New Roman'),
name_location='middle',
name_gap=35,
# # x軸名稱的格式配置
name_textstyle_opts=opts.TextStyleOpts(
font_family= 'Times New Roman',
font_size=14,
),
# 坐標軸刻度配置項
axistick_opts=opts.AxisTickOpts(
# is_show=False, # 是否顯示
is_inside=True, # 刻度線是否在內側
),
# 坐標軸線的配置
axisline_opts=opts.AxisLineOpts(
linestyle_opts=opts.LineStyleOpts(
width=1,
color='black',
)
),
),
)
)
c.render_notebook()
# c.render("公司人數統計.html")
# make_snapshot(snapshot, c.render(), "./獵聘資料可視化/公司人數統計.png", pixel_ratio=10)
3、效果展示

象形柱狀圖引數的具體設定及圖示相關網站,請參考:https://blog.csdn.net/qq_42571592/article/details/122818791
七、公司所屬行業 — 詞云圖
1、分析行業資料
行業中的資料格式為:政務/公共服務,所以先使用「/」分割,然后在進行統計
import collections
word_list = []
for i in result['企業行業']:
if i:
x = i.split('/')
for j in x:
word_list.append(j)
word_counts = collections.Counter(word_list)
2、畫詞云圖
from pyecharts import options as opts
from pyecharts.charts import WordCloud
from pyecharts.globals import SymbolType
from pyecharts.globals import ThemeType
c = (
WordCloud(opts.InitOpts(width='900px', height='500px', theme=ThemeType.VINTAGE))
.add("",
[(k, v) for k,v in word_counts.items()],
word_size_range=[20, 90], # 單詞字體大小范圍
shape=SymbolType.ROUND_RECT # # 詞云圖輪廓
)
.set_global_opts(
title_opts=opts.TitleOpts(title="公司所屬行業分布")
)
)
# c.render("公司所屬行業分布.html")
c.render_notebook()
# make_snapshot(snapshot, c.render(), "./獵聘資料可視化/公司所屬行業分布.png", pixel_ratio=10)
3、效果展示

八、公司職位福利 — 詞云圖
1、分析資料
import collections
word_list = []
for i in result['welfare']:
if i:
x = i.split('|')
for j in x:
word_list.append(j)
word_counts = collections.Counter(word_list)
word_counts
2、生成詞云圖
from pyecharts import options as opts
from pyecharts.charts import WordCloud
from pyecharts.globals import SymbolType
from pyecharts.globals import ThemeType
c = (
WordCloud(opts.InitOpts(width='900px', height='500px', theme=ThemeType.VINTAGE))
.add(
series_name="職位福利分析",
data_pair = [(k, v) for k,v in word_counts.items()],
word_size_range=[20, 100],
shape="cursive",
)
.set_global_opts(title_opts=opts.TitleOpts(title="職位福利"))
# .render("公司所屬行業分布.html")
)
# c.render("職位福利.html")
c.render_notebook()
# make_snapshot(snapshot, c.render(), "./獵聘資料可視化/職位福利.png", pixel_ratio=10)
3、效果展示

關聯文章
Pyecharts直角坐標系圖:象形柱狀圖 PictorialBar

歡迎大家在評論區留言,知無不言,言無不盡,感覺不錯的話,別忘了點贊收藏哦!

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/423558.html
標籤:AI
