如何用pyecharts繪製柱狀圖,條形圖,折線圖,餅圖,環形圖,散點圖

簡介

pyecharts是一個由百度開源的數據可視化,憑藉着良好的互交性,精巧的圖表設計,得到了衆多開發者的認可,而python是一門富有表達力的語言,很適合用於數據處理。當數據分析遇上數據可視化時,pyecharts誕生了。

安裝

pip3 install pyecharts
  • 版本檢查
import pyecharts
pyecharts.__version__
>>>'1.5.1'

柱狀圖、條形圖

import pyecharts.charts as pyec
x = ['甲','乙','丙']
y = [300,800,600]
bar = pyec.Bar()
bar.add_xaxis(x)
bar.add_yaxis(series_name='公司A',yaxis_data=y)
bar.render_notebook()

在這裏插入圖片描述

畫出來的圖爲動態圖
  • 把鼠標放在柱狀區域會出現相關信息
    在這裏插入圖片描述
  • 點擊圖正上的小方框,公司A的信息會隱藏起來
    在這裏插入圖片描述
可以把圖生成html文件
bar.render("F:\\pyec.html")
>>>'F:\\pyec.html'
  • 在這個路徑下就會有這個文件

在這裏插入圖片描述

添加標題
import pyecharts.options as opts
bar.set_global_opts(title_opts=opts.TitleOpts(title='比較圖'))
bar.render_notebook()

在這裏插入圖片描述

加另一組數據
y1 = [1200,500,200]
bar.add_yaxis(series_name='公司B',yaxis_data=y1)
bar.render_notebook()

在這裏插入圖片描述

  • 可以只看公司A的對比圖
    在這裏插入圖片描述
  • 可以只看公司B的對比圖
    在這裏插入圖片描述
轉成條形圖
bar.reversal_axis()
bar.render_notebook()

在這裏插入圖片描述

折線圖

x = ['甲','乙','丙']
y = [300,800,600]
line = pyec.Line()
line.add_xaxis(x)
line.add_yaxis(series_name='A',y_axis=y)
line.render_notebook()

在這裏插入圖片描述

再加一條折線
y2 = [1300,400,700]
line.add_yaxis(series_name='B',y_axis=y2)
line.render_notebook()

在這裏插入圖片描述

同樣的,也可以只顯示一條折現

在這裏插入圖片描述

在圖中增加提示項

數據提示
bar.set_global_opts(
        tooltip_opts=opts.TooltipOpts(trigger='axis',axis_pointer_type='cross')
                                     )
bar.render_notebook()

在這裏插入圖片描述

工具箱
bar.set_global_opts(
        tooltip_opts=opts.TooltipOpts(trigger='axis',axis_pointer_type='cross'),
        toolbox_opts=opts.ToolboxOpts(is_show=True,orient='horizontal'),
        )
bar.render_notebook() 

在這裏插入圖片描述

工具箱豎置
bar.set_global_opts(
        tooltip_opts=opts.TooltipOpts(trigger='axis',axis_pointer_type='cross'),
        toolbox_opts=opts.ToolboxOpts(is_show=True,orient='vertical'),
        )
bar.render_notebook() 

在這裏插入圖片描述

增加縮放功能
bar.set_global_opts(
        tooltip_opts=opts.TooltipOpts(trigger='axis',axis_pointer_type='cross'),
        toolbox_opts=opts.ToolboxOpts(is_show=True,orient='vertical'),
        datazoom_opts=opts.DataZoomOpts(type_='slider',range_start=0,range_end=2500),
        )
bar.render_notebook() 

在這裏插入圖片描述
在這裏插入圖片描述

餅圖

Pie需要的數據格式:

[[x1,y1],[x2,y2],[x3,y3]]或[(x1,y1),(x2,y2)]

x_data = ['直接訪問','營銷推廣','博客推廣','搜索引擎']
y_data = [830,214,300,1100]
data_pair = list(zip(x_data,y_data))
print(data_pair)
>>>[('直接訪問', 830), ('營銷推廣', 214), ('博客推廣', 300), ('搜索引擎', 1100)]
pie = pyec.Pie()
pie.add(series_name="推廣渠道",data_pair=data_pair)
pie.render_notebook()

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

環形圖

pie = pyec.Pie()
pie.add(series_name="推廣渠道",data_pair=data_pair,radius=['50%','75%'])
pie.render_notebook()

在這裏插入圖片描述

散點圖

準備工作
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
import numpy as np
import pandas as pd
plt.rcParams['font.sans-serif']  = ['SimHei']#用來正常顯示中文標籤
plt.rcParams['axes.unicode_minus'] = False#用來正常顯示負號
sns.set_style('darkgrid',{'font.sans-serif':['SimHei','Arial']})

import warnings#去除部分警告信息
warnings.filterwarnings('ignore')
import numpy as np
x = np.linspace(0,10,30)
y1 = np.sin(x)
y2 = np.cos(x)
用其他包畫散點圖
plt.scatter(x,y1)

在這裏插入圖片描述

sns.scatterplot(x,y1)

在這裏插入圖片描述

用pyecharts 畫散點圖
scatter = pyec.Scatter()
scatter.add_xaxis(xaxis_data=x)
scatter.add_yaxis(series_name='y=sin(x) 散點圖',y_axis=y1)
scatter.render_notebook()

在這裏插入圖片描述

設置數據點不顯示
scatter = pyec.Scatter()
scatter.add_xaxis(xaxis_data=x)
scatter.add_yaxis(series_name='y=sin(x) 散點圖',
                  y_axis=y1,
                 label_opts=opts.LabelOpts(is_show=False))
scatter.render_notebook()

在這裏插入圖片描述

加數據(點的大小設置)
scatter.add_yaxis(
        series_name='y=cos(x)',
        y_axis = y2,
        label_opts=opts.LabelOpts(is_show=False),
        symbol_size=20#點大小設置
)
scatter.render_notebook()

在這裏插入圖片描述

scatter.add_yaxis(series_name='y=sin(x) 散點圖',
                  y_axis=y1,
                 label_opts=opts.LabelOpts(is_show=False),
                 symbol_size=15)
scatter.add_yaxis(
        series_name='y=cos(x)',
        y_axis = y2,
        label_opts=opts.LabelOpts(is_show=False),
        symbol_size=20
)
scatter.render_notebook()

在這裏插入圖片描述

控制散點形狀

  • circle
scatter = pyec.Scatter()
scatter.add_xaxis(xaxis_data=x)
scatter.add_yaxis(series_name='y=sin(x) 散點圖',
                  y_axis=y1,
                 label_opts=opts.LabelOpts(is_show=False),
                 symbol='circle')
scatter.render_notebook()

在這裏插入圖片描述

  • rect
scatter = pyec.Scatter()
scatter.add_xaxis(xaxis_data=x)
scatter.add_yaxis(series_name='y=sin(x) 散點圖',
                  y_axis=y1,
                 label_opts=opts.LabelOpts(is_show=False),
                 symbol='rect')
scatter.render_notebook()

在這裏插入圖片描述

  • roundRect(圓角)
scatter = pyec.Scatter()
scatter.add_xaxis(xaxis_data=x)
scatter.add_yaxis(series_name='y=sin(x) 散點圖',
                  y_axis=y1,
                 label_opts=opts.LabelOpts(is_show=False),
                 symbol='roundRect')
scatter.render_notebook()

在這裏插入圖片描述

  • triangle
    在這裏插入圖片描述
  • diamond
    在這裏插入圖片描述
  • pin
    在這裏插入圖片描述
  • arrow
    在這裏插入圖片描述
  • none
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章