Pyecharts 簡介
pyecharts 是一個用於生成 Echarts 圖表的類庫。Echarts 是百度開源的一個數據可視化 JS 庫。用 Echarts 生成的圖可視化效果非常棒,pyecharts 是爲了與 Python進行對接,方便在 Python 中直接使用數據生成圖。
Pyecharts 通用配置項
代碼演示:
import pyecharts
#畫簡單的柱狀圖
from pyecharts import Bar
bar = Bar("主標題", "這裏是副標題")
# pyecharts 遵循所有圖表都先定義數據在進行展示
bar.add("服裝", ["襯衫", "羊毛衫", "雪紡衫","褲子", "高跟鞋", "襪子"],
[5, 20, 36, 10, 75, 90])
#方法一: 將圖表渲染輸出到html頁面
# bar.render() # 如果不傳參數,默認保存到當前文件夾下
# 方法二: 直接再jupyter中展示
bar
結果顯示:
secondBar = Bar('主標題','副標題')
# is_more_utils 是否顯示工具欄
secondBar.add("服裝", ["襯衫", "羊毛衫", "雪紡衫","褲子", "高跟鞋", "襪子"],
[5, 20, 36, 10, 75, 90],
is_more_utils=True) #設置出現最右側的工具欄
secondBar
結果顯示:
#會調試輸了pyecharts的js配置信息
secondBar.show_config()
#根據柱狀圖,繪製堆積圖
attr = ["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", " 襪子"]
v1 = [5, 20, 36, 10, 75, 90]
v2 = [10, 25, 8, 60, 20, 80]
bar = Bar("柱狀圖數據堆疊示例")
bar.add("商家A", attr, v1, is_stack=True)
bar.add("商家B", attr, v2, is_stack=True)
bar
結果顯示:
#根據柱狀圖,繪製帶標記線和標記點圖
attr = ["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", " 襪子"]
v1 = [5, 20, 36, 10, 75, 90]
v2 = [10, 25, 8, 60, 20, 80]
bar = Bar("標記線和標記點示例")
bar.add("商家A", attr, v1,markpoint=['average'])
bar.add("商家B", attr, v2,mark_line=['min','max'])
bar
結果顯示:
#根據柱狀圖,交換x軸和y軸
attr = ["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"]
v1 = [5, 20, 36, 10, 75, 90]
v2 = [10, 25, 8, 60, 20, 80]
bar = Bar("x 軸和 y 軸交換")
bar.add("商家A", attr, v1)
bar.add("商家B", attr, v2,is_convert=True)
bar
結果顯示:
#折線圖/面積圖-1
from pyecharts import Line
attr = ["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"]
v1 = [5, 20, 36, 10, 10, 100]
v2 = [55, 60, 16, 20, 15, 80]
line = Line("折線圖示例")
line.add("商家A", attr, v1, mark_point=["average"])
line.add("商家B", attr, v2, is_smooth=True, mark_line=["max", "average"])
line
結果顯示:
#折線圖/面積圖-2
attr = ["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", " 襪子"]
v1 = [5, 20, 36, 10, 10, 100]
v2 = [55, 60, 16, 20, 15, 80]
line = Line("折線圖示例")
line.add("商家A", attr, v1, mark_point=["average", "max", "min"],
mark_point_symbol='diamond',
mark_point_textcolor='#40ff27')
line.add("商家B", attr, v2, mark_point=["average", "max", "min"],
mark_point_symbol='arrow',
mark_point_symbolsize=40)
line
結果顯示:
#折線圖/面積圖-3
attr = ["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", " 襪子"]
v1 = [5, 20, 36, 10, 10, 100]
v2 = [55, 60, 16, 20, 15, 80]
line = Line("折線圖-面積圖示例")
line.add("商家A", attr, v1, is_fill=True, line_opacity=0.2, area_opacity=0.4, symbol=None) #opacity不透明度
line.add("商家B", attr, v2, is_fill=True, area_color='#000', area_opacity=0.3, is_smooth=True)
line
結果顯示:
#繪製餅圖-1
from pyecharts import Pie
attr = ["襯衫", "羊毛衫", "雪紡衫", "褲子", "高 跟鞋", "襪子"]
v1 = [11, 12, 13, 10, 10, 10]
pie = Pie("餅圖示例")
pie.add("", attr, v1, is_label_show=True)
pie
結果顯示:
#繪製餅圖-2
attr = ["襯衫", "羊毛衫", "雪紡衫", "褲子", "高 跟鞋", "襪子"]
v1 = [11, 12, 13, 10, 10, 10]
pie = Pie("餅圖-圓環圖示例", title_pos='center')
pie.add("", attr, v1, radius=[40, 75], label_text_color=None,
is_label_show=True,
legend_orient='vertical',
legend_pos='left')
pie
結果顯示:
#散點圖-1
from pyecharts import Scatter
v1 = [10, 20, 30, 40, 50, 60]
v2 = [10, 20, 30, 40, 50, 60]
scatter = Scatter("散點圖示例")
scatter.add("A", v1, v2)
scatter.add("B", v1[::-1], v2)
scatter
結果顯示:
#散點圖-2
v1 = [10, 20, 30, 40, 50, 60]
v2 = [10, 20, 30, 40, 50, 60]
scatter = Scatter("散點圖示例")
scatter.add("A", v1, v2)
scatter.add("B", v1[::-1], v2,
is_visualmap=True,
visual_type='size',
visual_range_size=[20, 80])
scatter
結果顯示: