Python Pyecharts繪制象形柱圖
在可視化展示過程中,為瞭達到更形象的展示效果,我們往往需要自定義一些直觀的圖例,本期給大傢介紹可視化庫Pyecharts中的象形柱圖,希望對你有所幫助。
1.準備工作
1.1 導入模塊
from pyecharts import options as opts from pyecharts.charts import PictorialBar from pyecharts.globals import SymbolType
沒有安裝pyecharts的,直接pip安裝即可。
1.2 部分參數
def add_yaxis( # 系列名稱 series_name: str, # 系列數據 y_axis: Sequence, # 圖形類型 symbol: Optional[str] = None, # 圖形的大小 symbol_size: Union[Numeric, Sequence, None] = None, # 圖形的定位位置 symbol_pos: Optional[str] = None, # 圖形相對於原本位置的偏移 symbol_offset: Optional[Sequence] = None, # 圖形的旋轉角度 symbol_rotate: Optional[Numeric] = None, # 是否剪裁圖形 is_symbol_clip: bool = False, # 系列 label 顏色 color: Optional[str] = None, # 同一系列的柱間距離,默認為類目間距的 10%,可設固定值 category_gap: Union[Numeric, str] = "10%", # 標簽配置項,參考 `series_options.LabelOpts` label_opts: Union[opts.LabelOpts, dict] = opts.LabelOpts(), )
2.基礎象形圖
部分省市人口數量:
province = ["北京", "天津", "湖北", "山西", "上海", "內蒙古", "雲南", "黑龍江", "廣東", "福建"] values = [2189, 1386, 5775, 3491, 2487, 2404, 4720, 3185, 12601, 4154] c = ( PictorialBar() .add_xaxis(province) .add_yaxis( "", values, label_opts=opts.LabelOpts(is_show=False), symbol_size=18, symbol_repeat="fixed", symbol_offset=[0, 0], is_symbol_clip=True, symbol=SymbolType.ARROW, ) .reversal_axis() .set_global_opts( title_opts=opts.TitleOpts(title="省份人口數量(萬人)"), xaxis_opts=opts.AxisOpts(is_show=True), yaxis_opts=opts.AxisOpts( axistick_opts=opts.AxisTickOpts(is_show=False), axisline_opts=opts.AxisLineOpts( linestyle_opts=opts.LineStyleOpts(opacity=0) ), ), ) ) c.render_notebook()
效果:
symbol樣式可選: RECT、ROUND_RECT、TRIANGLE、DIAMOND、ARROW。
設置為“DIAMOND”效果如下:
3.自定義圖例
3.1 圖片圖例
3.2 生成象形圖
代碼:
c = ( PictorialBar() .add_xaxis(list(dic.keys())) .add_yaxis( "2020", [ {"value": 18, "symbol": dic['飛機']}, {"value": 40, "symbol": dic['火車']}, {"value": 78, "symbol": dic['汽車']}, {"value": 66, "symbol": dic['輪船']}, ], label_opts=opts.LabelOpts(is_show=False), symbol_size=22, symbol_repeat="fixed", symbol_offset=[0, 5], is_symbol_clip=True, ) .add_yaxis( "2021", [ {"value": 54, "symbol": dic['飛機']}, {"value": 68, "symbol": dic['火車']}, {"value": 105, "symbol": dic['汽車']}, {"value": 73, "symbol": dic['輪船']}, ], label_opts=opts.LabelOpts(is_show=False), symbol_size=22, symbol_repeat="fixed", symbol_offset=[0, -25], is_symbol_clip=True, ) .reversal_axis() .set_global_opts( title_opts=opts.TitleOpts(title="城市交通工具"), xaxis_opts=opts.AxisOpts(is_show=False), yaxis_opts=opts.AxisOpts( axistick_opts=opts.AxisTickOpts(is_show=False), axisline_opts=opts.AxisLineOpts( linestyle_opts=opts.LineStyleOpts(opacity=0) ), ), ) ) c.render_notebook()
效果:
到此這篇關於Python Pyecharts繪制象形柱圖的文章就介紹到這瞭,更多相關Python Pyecharts內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- pyecharts實現數據可視化
- Python echarts實現數據可視化實例詳解
- Python繪制散點圖之可視化神器pyecharts
- Python繪制折線圖可視化神器pyecharts案例
- Python可視化神器pyecharts之繪制箱形圖