首頁 > 軟體

Python繪製散點圖之視覺化神器pyecharts

2022-07-06 18:00:05

散點圖

什麼是散點圖?

散點圖是指在數理統計迴歸分析中,資料點在直角座標系平面上的分佈圖, 散點圖​​表示因變數隨自變數而變化的大致趨勢,由此趨勢可以選擇合適的函數進行經驗分佈的擬合,進而找到變數之間的函數關係。

散點圖有什麼用處?

  • 1、資料用圖表來展示,顯然比較直觀,在工作彙報等場合能起到事半功倍的效果,讓聽者更容易接受,理解你所處理的資料。
  • 2、散點圖更偏向於研究型圖表,能讓我們發現變數之間隱藏的關係為我們決策作出重要的引導作用。
  • 3、散點圖核心的價值在於發現變數之間的關係,千萬不要簡單地將這個關係理解為線性迴歸關係。變數間的關係有很多,如線性關係、指數關係、對數關係等等,當然,沒有關係也是一種重要的關係。
  • 4、散點圖經過迴歸分析之後,可以對相關物件進行預測分析,進而做出科學的決策,而不是模稜兩可。比如說:醫學裡的白細胞散點圖可以在醫學檢測方面為我們健康提供精確的分析,為醫生後續的判斷做出重要的技術支援。

散點圖的基本構成要素

散點圖主要的構成元素有:資料來源,橫縱座標軸,變數名,研究的物件。而基本的要素就是點,也就是我們統計的資料,由這些點的分佈我們才能觀察出變數之間的關係。

而散點圖一般研究的是兩個變數之間的關係,往往滿足不了我們日常的需求。因此,氣泡圖的誕生就是為散點圖增加變數,提供更加豐富的資訊,點的大小或者顏色可以定義為第三個變數,因為,做出來的散點圖類似氣泡,也由此得名為氣泡圖。

散點圖模板系列

簡單散點圖

資料越多散點圖呈現的效果就越明顯。這也就是我們平時在進行建模的時候,採用迴歸擬合的原則,如果資料是遵循某種函數關係,我們可以通過機器進行訓練,不斷的迭代達到最優效果。

import pyecharts.options as opts
from pyecharts.charts import Scatter

data = [
[10.0, 8.04],
[8.0, 6.95],
[13.0, 7.58],
[9.0, 8.81],
[11.0, 8.33],
[14.0, 9.96],
[6.0, 7.24],
[4.0, 4.26],
[12.0, 10.84],
[7.0, 4.82],
[5.0, 5.68],
]
data.sort(key=lambda x: x[0])
x_data = [d[0] for d in data]
y_data = [d[1] for d in data]

(
Scatter(init_opts=opts.InitOpts(width="1200px", height="600px"))
.add_xaxis(xaxis_data=x_data)
.add_yaxis(
series_name="",
y_axis=y_data,
symbol_size=20,
label_opts=opts.LabelOpts(is_show=False),
)
.set_series_opts()
.set_global_opts(
xaxis_opts=opts.AxisOpts(
type_="value", splitline_opts=opts.SplitLineOpts(is_show=True)
),
yaxis_opts=opts.AxisOpts(
type_="value",
axistick_opts=opts.AxisTickOpts(is_show=True),
splitline_opts=opts.SplitLineOpts(is_show=True),
),
tooltip_opts=opts.TooltipOpts(is_show=False),
)
.render("簡單散點圖.html")
)

多維資料散點圖

我們在平時的運用場景中,發現散點圖太多呈現的效果圖太密集了,我們只需要知道某一個區域它分佈的數量,本來柱狀圖可以解決,但是這個散點圖一個更好,可以反映區域的分佈,主要可以看見它的數量趨勢變化,根據自己的業務需求來使用吧。

from pyecharts import options as opts
from pyecharts.charts import Scatter
from pyecharts.commons.utils import JsCode
from pyecharts.faker import Faker

c = (
Scatter()
.add_xaxis(Faker.choose())
.add_yaxis(
"類別1",
[list(z) for z in zip(Faker.values(), Faker.choose())],
label_opts=opts.LabelOpts(
formatter=JsCode(
"function(params){return params.value[1] +' : '+ params.value[2];}"
)
),
)
.set_global_opts(
title_opts=opts.TitleOpts(title="多維度資料"),
tooltip_opts=opts.TooltipOpts(
formatter=JsCode(
"function (params) {return params.name + ' : ' + params.value[2];}"
)
),
visualmap_opts=opts.VisualMapOpts(
type_="color", max_=150, min_=20, dimension=1
),
)
.render("多維資料散點圖.html")
)
print([list(z) for z in zip(Faker.values(), Faker.choose())])

散點圖顯示分割線

顯示分割線,其實和之前的沒有異樣。

from pyecharts import options as opts
from pyecharts.charts import Scatter
from pyecharts.faker import Faker
c = (
Scatter()
.add_xaxis(Faker.choose())
.add_yaxis("A", Faker.values())
.set_global_opts(
title_opts=opts.TitleOpts(title="標題"),
xaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True)),
yaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True)),
)
.render("分割線.html")
)

散點圖凸出大小(二維)

用二維的資料來展示每個類別的分佈狀況,圖表可顯示多個類別,這樣極大的增強了我們解釋的效果。

from pyecharts import options as opts
from pyecharts.charts import Scatter
from pyecharts.faker import Faker
c = (
Scatter()
.add_xaxis(Faker.choose())
.add_yaxis("1", Faker.values())
.add_yaxis("2", Faker.values())
.set_global_opts(
title_opts=opts.TitleOpts(title="標題"),
visualmap_opts=opts.VisualMapOpts(type_="size", max_=150, min_=20),
)
.render("凸出大小散點圖.html")
)

 3D散點圖展示

動態漣漪散點圖

之前的散點都是靜態的,下面我們來看看動態的散點圖;

from pyecharts import options as opts
from pyecharts.charts import EffectScatter
from pyecharts.faker import Faker
c = (
EffectScatter()
.add_xaxis(Faker.choose())
.add_yaxis("", Faker.values())
.set_global_opts(title_opts=opts.TitleOpts(title="散點圖"))
.render("動態散點圖.html")
)

箭頭標誌散點圖

from pyecharts import options as opts
from pyecharts.charts import EffectScatter
from pyecharts.faker import Faker
from pyecharts.globals import SymbolType

c = (
EffectScatter()
.add_xaxis(Faker.choose())
.add_yaxis("", Faker.values(), symbol=SymbolType.ARROW)
.set_global_opts(title_opts=opts.TitleOpts(title="標題"))
.render("箭頭動態散點圖.html")
)

到此這篇關於Python繪製散點圖之視覺化神器pyecharts的文章就介紹到這了,更多相關Python繪製散點圖內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com