本文主要參考:官方文檔
使用例子
更多例子請關注公衆號 拇指筆記
建議一定要看看例子源碼。
安裝和查看版本
安裝:
換源爲清華源。
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyecharts
查看版本:
import pyecharts
print(pyecharts.__version__)
導包
本文使用的版本是1.7.1
最常見的問題是直接導入模塊失敗,如:
from pyecharts import Bar
因爲擴展模塊的原因,需要這麼寫才能導入
from pyecharts.charts import Bar
繪製柱形圖
#創建圖表並設置主題
bar = Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT))
#添加x值,x是一個列表
bar.add_xaxis(name)
#添加y值,y是一個列表
bar.add_yaxis('購買人數',count)
#設置主標題、副標題
bar.set_global_opts(title_opts=opts.TitleOpts(title="Dior999色號分佈", subtitle="數據來源:京東"))
#設置生成html文件
bar.render('bar.html')
餅圖文檔
繪製餅狀圖
from pyecharts.charts import Pie
from pandas import Series
import pandas as pd
from pyecharts import options as opts
colors = [你的數據]
ss_colors = Series(colors)
x = ss_colors.value_counts()
list1=x.values.tolist() #數量
list2=x.index.tolist() #名稱
c = (
Pie()
.add(
"",
[
list(z)
for z in zip(
list2 ,
list1 ,
)
],
center=["40%", "50%"],
)
.set_global_opts(
title_opts=opts.TitleOpts(title="顏色分佈"),
legend_opts=opts.LegendOpts(type_="scroll", pos_left="80%", orient="vertical"),
)
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
.render("pie_scroll_legend.html")
)
富文本餅圖
from pyecharts.charts import Pie
from pandas import Series
import pandas as pd
from pyecharts import options as opts
name,count =[],[]
data_jd = pd.read_csv('K:\學習\get_jd3.csv')
data = data_jd.values.tolist()
for i in range(len(data)):
now = data[i]
name.append(now[0])
count.append(now[1])
c = (
Pie()
.add(
"",
[list(z) for z in zip(name, count)],
radius=["40%", "55%"],
label_opts=opts.LabelOpts(
position="outside",
formatter="{a|{a}}{abg|}\n{hr|}\n {b|{b}: }{c} {per|{d}%} ",
background_color="#eee",
border_color="#aaa",
border_width=1,
border_radius=4,
rich={
"a": {"color": "#999", "lineHeight": 22, "align": "center"},
"abg": {
"backgroundColor": "#e3e3e3",
"width": "100%",
"align": "right",
"height": 22,
"borderRadius": [4, 4, 0, 0],
},
"hr": {
"borderColor": "#aaa",
"width": "100%",
"borderWidth": 0.5,
"height": 0,
},
"b": {"fontSize": 16, "lineHeight": 33},
"per": {
"color": "#eee",
"backgroundColor": "#334455",
"padding": [2, 4],
"borderRadius": 2,
},
},
),
)
.set_global_opts(title_opts=opts.TitleOpts(title=" "))
.render("pie_rich_label.html")
)
繪製玫瑰圖
from pyecharts.charts import Pie
from pandas import Series
import pandas as pd
from pyecharts import options as opts
name,count =[],[]
data_jd = pd.read_csv('K:\學習\get_jd3.csv')
data = data_jd.values.tolist()
for i in range(len(data)):
now = data[i]
name.append(now[0])
count.append(now[1])
c = (
Pie()
.add(
"",
[list(z) for z in zip(name, count)],
radius=["30%", "75%"],
center=["25%", "50%"],
rosetype="radius",
label_opts=opts.LabelOpts(is_show=False),
)
.set_global_opts(title_opts=opts.TitleOpts(title=" "))
.render("pie_rosetype.html")
)
詞雲圖文檔
鑽石型詞雲
我沒看出來像鑽石
import pyecharts.options as opts
from pyecharts.charts import WordCloud
import pandas as pd
from pyecharts.globals import SymbolType
data_jd = pd.read_csv('K:\學習\get_jd3.csv')
data = data_jd.values.tolist()
c = (
WordCloud()
.add("", data, word_size_range=[20, 100], shape=SymbolType.DIAMOND)
.set_global_opts(title_opts=opts.TitleOpts(title="WordCloud-shape-diamond"))
.render("wordcloud_diamond.html")
)