數據可視化技術Pyecharts散點圖scatter詳細代碼註釋學習筆記4

ps:散點圖是指在迴歸分析中,經常用來分析2類數據之間正相關和負相關的可視化圖表,本章例1將會用到自定義數據來更直觀理解散點圖,其他例子採用隨機數據

導入python模塊
from pyecharts.faker import Faker
from pyecharts import options as opts
from pyecharts.charts import Scatter # 導入散點圖繪製模塊
from pyecharts.commons.utils import JsCode
# 例1 自定義數據基本示例
y1=[[12,4],[2,5],[2,6],[3,15],[3,6]]
y2=[[8,2],[28,4],[18,6],[8,61],[7,2]]
scatter1=(
    Scatter()
    .add_xaxis(Faker.choose())
    .add_yaxis('數據1',y1)
    .add_yaxis('數據2',y2)
    .set_global_opts(title_opts=opts.TitleOpts(title='例1 scatter自定義數據基本示例'))
)
scatter1.render('echarts-scatter.html')

在這裏插入圖片描述

# 例2 顯示分割線
scatter2=(
    Scatter()
    .add_xaxis(Faker.choose())
    .add_yaxis('數據1',Faker.values())
    .set_global_opts(
        title_opts=opts.TitleOpts(title='例2 scatter 顯示分割線'),
        xaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True)),# 顯示x軸分割線
        yaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True))# 顯示y軸分割線
    )
)
scatter2.render('echarts-scatter.html')

在這裏插入圖片描述

# 例3 VisualMap(帶color)
scatter3=(
    Scatter()
    .add_xaxis(Faker.choose())
    .add_yaxis('數據1',Faker.values())
    .set_global_opts( 
        title_opts=opts.TitleOpts(title='例3 scatter VisualMap(帶color)'),
        visualmap_opts=opts.VisualMapOpts(max_=200)# 產生一個能夠交互式的顯示數據的工具圖
    )
)
scatter3.render('echarts-scatter.html')

visualmap_opts不設置類型默認 爲 帶顏色的工具圖
在這裏插入圖片描述

# 例4 VisualMap(size)
scatter4=(
    Scatter()
    .add_xaxis(Faker.choose())
    .add_yaxis('數據1',Faker.values())
    .add_yaxis('數據2',Faker.values())
    .set_global_opts(
        title_opts=opts.TitleOpts(title='例4 scatter VisualMap(size)'),
        visualmap_opts=opts.VisualMapOpts(type='size',max_=150,min_=20)
        # 產生能夠交互式的顯示數據的工具圖,類型爲size,不設置的話默認是類型爲color
    )
)
scatter4.render('echarts-scatter.html')

在這裏插入圖片描述

# 例5 多維度+自定義數據
scatter5=(
    Scatter()
        .add_xaxis(Faker.choose())
        .add_yaxis(
        "商家A",
        [list(z) for z in zip(Faker.values(), Faker.choose())],
        label_opts=opts.LabelOpts(
            formatter=JsCode(# 調用js代碼設置方法提取參數第2個值和參數第3個值
                "function(params){return params.value[1] +' : '+ params.value[2];}"
            )
        ),
    )
        .set_global_opts(
        title_opts=opts.TitleOpts(title="例5 Scatter-多維度數據"),
        tooltip_opts=opts.TooltipOpts(# tooltip是鼠標移上去的提示
            formatter=JsCode(# 調用js代碼設置方法提取參數名字和參數第3個值
                "function (params) {return params.name + ' : ' + params.value[2];}"
            )
        ),
        visualmap_opts=opts.VisualMapOpts(
             max_=150, min_=20, dimension=1
            # dimension設置維度爲1維
        ),
    )
)
scatter5.render('echarts-scatter.html')

在這裏插入圖片描述

官方給出的一些配置參數

def add_yaxis(
# 系列名稱,用於 tooltip 的顯示,legend 的圖例篩選。
series_name: str,
# 系列數據
y_axis: Sequence,
# 是否選中圖例
s_selected: bool = True,
# 使用的 x 軸的 index,在單個圖表實例中存在多個 x 軸的時候有用。
xaxis_index: Optional[Numeric] = None,
# 使用的 y 軸的 index,在單個圖表實例中存在多個 y 軸的時候有用。
yaxis_index: Optional[Numeric] = None,
# 系列 label 顏色
color: Optional[str] = None,
# 標記的圖形。
# ECharts 提供的標記類型包括 ‘circle’, ‘rect’, ‘roundRect’, ‘triangle’,
# ‘diamond’, ‘pin’, ‘arrow’, ‘none’
# 可以通過 ‘image://url’ 設置爲圖片,其中 URL 爲圖片的鏈接,或者 dataURI。
symbol: Optional[str] = None,
# 標記的大小,可以設置成諸如 10 這樣單一的數字,也可以用數組分開表示寬和高,
# 例如 [20, 10] 表示標記寬爲 20,高爲 10。
symbol_size: Numeric = 10,
# 標籤配置項,參考 series_options.LabelOpts
label_opts: Union[opts.LabelOpts, dict] = opts.LabelOpts(position=“right”),
# 標記點配置項,參考 series_options.MarkPointOpts
markpoint_opts: Union[opts.MarkPointOpts, dict, None] = None,
# 標記線配置項,參考 series_options.MarkLineOpts
markline_opts: Union[opts.MarkLineOpts, dict, None] = None,
# 提示框組件配置項,參考 series_options.TooltipOpts
tooltip_opts: Union[opts.TooltipOpts, dict, None] = None,
# 圖元樣式配置項,參考 series_options.ItemStyleOpts
itemstyle_opts: Union[opts.ItemStyleOpts, dict, None] = None,
)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章