Python繪制散點(diǎn)圖之可視化神器pyecharts
散點(diǎn)圖
什么是散點(diǎn)圖?
散點(diǎn)圖是指在數(shù)理統(tǒng)計(jì)回歸分析中,數(shù)據(jù)點(diǎn)在直角坐標(biāo)系平面上的分布圖, 散點(diǎn)圖??表示因變量隨自變量而變化的大致趨勢,由此趨勢可以選擇合適的函數(shù)進(jìn)行經(jīng)驗(yàn)分布的擬合,進(jìn)而找到變量之間的函數(shù)關(guān)系。
散點(diǎn)圖有什么用處?
- 1、數(shù)據(jù)用圖表來展示,顯然比較直觀,在工作匯報(bào)等場合能起到事半功倍的效果,讓聽者更容易接受,理解你所處理的數(shù)據(jù)。
- 2、散點(diǎn)圖更偏向于研究型圖表,能讓我們發(fā)現(xiàn)變量之間隱藏的關(guān)系為我們決策作出重要的引導(dǎo)作用。
- 3、散點(diǎn)圖核心的價(jià)值在于發(fā)現(xiàn)變量之間的關(guān)系,千萬不要簡單地將這個(gè)關(guān)系理解為線性回歸關(guān)系。變量間的關(guān)系有很多,如線性關(guān)系、指數(shù)關(guān)系、對數(shù)關(guān)系等等,當(dāng)然,沒有關(guān)系也是一種重要的關(guān)系。
- 4、散點(diǎn)圖經(jīng)過回歸分析之后,可以對相關(guān)對象進(jìn)行預(yù)測分析,進(jìn)而做出科學(xué)的決策,而不是模棱兩可。比如說:醫(yī)學(xué)里的白細(xì)胞散點(diǎn)圖可以在醫(yī)學(xué)檢測方面為我們健康提供精確的分析,為醫(yī)生后續(xù)的判斷做出重要的技術(shù)支持。
散點(diǎn)圖的基本構(gòu)成要素
散點(diǎn)圖主要的構(gòu)成元素有:數(shù)據(jù)源,橫縱坐標(biāo)軸,變量名,研究的對象。而基本的要素就是點(diǎn),也就是我們統(tǒng)計(jì)的數(shù)據(jù),由這些點(diǎn)的分布我們才能觀察出變量之間的關(guān)系。
而散點(diǎn)圖一般研究的是兩個(gè)變量之間的關(guān)系,往往滿足不了我們?nèi)粘5男枨?。因此,氣泡圖的誕生就是為散點(diǎn)圖增加變量,提供更加豐富的信息,點(diǎn)的大小或者顏色可以定義為第三個(gè)變量,因?yàn)?,做出來的散點(diǎn)圖類似氣泡,也由此得名為氣泡圖。
散點(diǎn)圖模板系列
簡單散點(diǎn)圖
數(shù)據(jù)越多散點(diǎn)圖呈現(xiàn)的效果就越明顯。這也就是我們平時(shí)在進(jìn)行建模的時(shí)候,采用回歸擬合的原則,如果數(shù)據(jù)是遵循某種函數(shù)關(guān)系,我們可以通過機(jī)器進(jìn)行訓(xùn)練,不斷的迭代達(dá)到最優(yōu)效果。
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("簡單散點(diǎn)圖.html")
)
多維數(shù)據(jù)散點(diǎn)圖
我們在平時(shí)的運(yùn)用場景中,發(fā)現(xiàn)散點(diǎn)圖太多呈現(xiàn)的效果圖太密集了,我們只需要知道某一個(gè)區(qū)域它分布的數(shù)量,本來柱狀圖可以解決,但是這個(gè)散點(diǎn)圖一個(gè)更好,可以反映區(qū)域的分布,主要可以看見它的數(shù)量趨勢變化,根據(jù)自己的業(yè)務(wù)需求來使用吧。
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="多維度數(shù)據(jù)"),
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("多維數(shù)據(jù)散點(diǎn)圖.html")
)
print([list(z) for z in zip(Faker.values(), Faker.choose())])
散點(diǎn)圖顯示分割線
顯示分割線,其實(shí)和之前的沒有異樣。
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="標(biāo)題"),
xaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True)),
yaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True)),
)
.render("分割線.html")
)
散點(diǎn)圖凸出大?。ǘS)
用二維的數(shù)據(jù)來展示每個(gè)類別的分布狀況,圖表可顯示多個(gè)類別,這樣極大的增強(qiáng)了我們解釋的效果。
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="標(biāo)題"),
visualmap_opts=opts.VisualMapOpts(type_="size", max_=150, min_=20),
)
.render("凸出大小散點(diǎn)圖.html")
)
3D散點(diǎn)圖展示

動(dòng)態(tài)漣漪散點(diǎn)圖
之前的散點(diǎn)都是靜態(tài)的,下面我們來看看動(dòng)態(tài)的散點(diǎn)圖;
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="散點(diǎn)圖"))
.render("動(dòng)態(tài)散點(diǎn)圖.html")
)
箭頭標(biāo)志散點(diǎn)圖
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="標(biāo)題"))
.render("箭頭動(dòng)態(tài)散點(diǎn)圖.html")
)
到此這篇關(guān)于Python繪制散點(diǎn)圖之可視化神器pyecharts的文章就介紹到這了,更多相關(guān)Python繪制散點(diǎn)圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
通過Plotly實(shí)現(xiàn)交互式數(shù)據(jù)可視化的流程步驟
在數(shù)據(jù)科學(xué)和數(shù)據(jù)分析領(lǐng)域,數(shù)據(jù)可視化是一種非常重要的技術(shù),Plotly 是一個(gè)功能強(qiáng)大的 Python 可視化庫,它可以幫助我們創(chuàng)建交互式的數(shù)據(jù)可視化圖表,本文將介紹如何使用 Plotly 實(shí)現(xiàn)交互式數(shù)據(jù)可視化,需要的朋友可以參考下2024-05-05
pandas.DataFrame.to_json按行轉(zhuǎn)json的方法
今天小編就為大家分享一篇pandas.DataFrame.to_json按行轉(zhuǎn)json的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06
Python中判斷輸入是否為數(shù)字的實(shí)現(xiàn)代碼
這篇文章主要介紹了Python中判斷輸入是否為數(shù)字的實(shí)現(xiàn)代碼,需要的朋友可以參考下2018-05-05
Python實(shí)現(xiàn)的掃碼工具居然這么好用!
二維碼作為一種信息傳遞的工具在當(dāng)今社會發(fā)揮了重要作用.從手機(jī)用戶登錄到手機(jī)支付,生活的各個(gè)角落都能看到二維碼的存在.那你知道二維碼是怎么解析的嗎?有想過自己實(shí)現(xiàn)一個(gè)掃碼工具嗎?如果想的話就繼續(xù)看下去吧!需要的朋友可以參考下2021-06-06
Python PyQt5 Pycharm 環(huán)境搭建及配置詳解(圖文教程)
這篇文章主要介紹了Python PyQt5 Pycharm 環(huán)境搭建及配置詳解,文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
使用celery執(zhí)行Django串行異步任務(wù)的方法步驟
這篇文章主要介紹了使用celery執(zhí)行Django串行異步任務(wù),文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Django具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06
如何使用Django(python)實(shí)現(xiàn)android的服務(wù)器端
這篇文章主要介紹了Django(python)簡單實(shí)現(xiàn)android的服務(wù)器端,這里所需要的工具是PyCharm--python編輯工具,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07
Django web自定義通用權(quán)限控制實(shí)現(xiàn)方法
這篇文章主要介紹了Django web自定義通用權(quán)限控制實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11

