Python繪制散點圖之可視化神器pyecharts

散點圖

什麼是散點圖?

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

散點圖有什麼用處?

  • 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繪制散點圖內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: