?? 博主簡介
- ?? 作者簡介:大家好,我是wux_labs。??
熱衷于各種主流技術(shù),熱愛數(shù)據(jù)科學(xué)、機(jī)器學(xué)習(xí)、云計算、人工智能。
通過了TiDB數(shù)據(jù)庫專員(PCTA)、TiDB數(shù)據(jù)庫專家(PCTP)、TiDB數(shù)據(jù)庫認(rèn)證SQL開發(fā)專家(PCSD)認(rèn)證。
通過了微軟Azure開發(fā)人員、Azure數(shù)據(jù)工程師、Azure解決方案架構(gòu)師專家認(rèn)證。
對大數(shù)據(jù)技術(shù)棧Hadoop、Hive、Spark、Kafka等有深入研究,對Databricks的使用有豐富的經(jīng)驗。- ?? 個人主頁:wux_labs,如果您對我還算滿意,請關(guān)注一下吧~??
- ?? 個人社區(qū):數(shù)據(jù)科學(xué)社區(qū),如果您是數(shù)據(jù)科學(xué)愛好者,一起來交流吧~??
- ?? 請支持我:歡迎大家 點贊??+收藏??+吐槽??,您的支持是我持續(xù)創(chuàng)作的動力~??
《PySpark大數(shù)據(jù)分析實戰(zhàn)》-27.數(shù)據(jù)可視化圖表Pyecharts介紹
前言
大家好!今天為大家分享的是《PySpark大數(shù)據(jù)分析實戰(zhàn)》第3章第4節(jié)的內(nèi)容:數(shù)據(jù)可視化圖表Pyecharts介紹。
圖書在:當(dāng)當(dāng)、京東、機(jī)械工業(yè)出版社以及各大書店有售!
Python數(shù)據(jù)可視化工具介紹
數(shù)據(jù)可視化是一種提取有價值數(shù)據(jù)的有效方法,是數(shù)據(jù)分析和機(jī)器學(xué)習(xí)中非常重要的一環(huán)。它有助于提高分析效率,為機(jī)器學(xué)習(xí)模型提供可靠的數(shù)據(jù)基礎(chǔ)。它可以幫助人們更直觀地理解數(shù)據(jù),更好地理解數(shù)據(jù)的趨勢和變化,發(fā)現(xiàn)潛在的聯(lián)系,從而幫助人們更好地構(gòu)建機(jī)器學(xué)習(xí)模型,提高模型的準(zhǔn)確性。此外,數(shù)據(jù)可視化可以幫助人們更好地發(fā)現(xiàn)數(shù)據(jù)中的噪聲和異常。通過可視化,可以更容易地發(fā)現(xiàn)噪聲數(shù)據(jù)和異常情況,從而減少機(jī)器學(xué)習(xí)模型的誤差。常用的Python數(shù)據(jù)可視化工具包括Matplotlib、Seaborn、Pyecharts等。
Pyecharts介紹
Echarts是一個由百度開源的流行的JavaScript可視化庫,它提供了各種圖表類型,例如柱狀圖、折線圖、散點圖、餅圖、地圖和熱力圖等,憑借著良好的交互性,得到了眾多開發(fā)者的認(rèn)可。Pyecharts是一個基于Python的可視化工具,它是Echarts的Python版本,用于創(chuàng)建各種交互式圖表。Pyecharts提供了一個簡單的API,使得人們可以輕松地創(chuàng)建高質(zhì)量的交互式圖表。它支持多種輸出格式,包括HTML、PNG、PDF等。與其他Python可視化工具相比,Pyecharts的優(yōu)點在于強大的交互性和精美的外觀效果。可以通過移動鼠標(biāo)、縮放、拖動等方式與圖表進(jìn)行交互,可以自定義圖表的顏色、樣式、字體等各種細(xì)節(jié)。
要在項目中使用Pyecharts,需要在Python環(huán)境中安裝Pyecharts,命令如下:
$ pip install pyecharts
在使用時需要在Python腳本中導(dǎo)入具體的圖形,代碼如下:
from pyecharts.charts import xxx
其中,xxx代表具體的圖形,例如折線圖(Line)、柱狀圖(Bar)、餅圖(Pie)等。
繪制柱狀圖
Pyecharts柱狀圖的類定義如下:
class Bar(
# 初始化配置項,參考 `global_options.InitOpts`
init_opts: opts.InitOpts = opts.InitOpts()
)
柱狀圖Bar提供了兩個方法,add_xaxis()方法用來為柱狀圖添加x軸,該方法接收一個參數(shù),用來指定x軸的數(shù)據(jù)項,方法定義如下:
def add_xaxis(
# x軸數(shù)據(jù)項
xaxis_data: Sequence
)
add_yaxis()方法用來為柱狀圖添加y軸,該方法至少需要兩個參數(shù),第1個參數(shù)用于指定圖例名稱,第2個參數(shù)用來指定y軸的數(shù)據(jù)項,其余參數(shù)可以保持默認(rèn)值,方法定義如下:
def add_yaxis(
# 系列名稱,用于 tooltip 的顯示,legend 的圖例篩選。
series_name: str,
# 系列數(shù)據(jù)
y_axis: Sequence[Numeric, opts.BarItem, dict]
)
在下面的案例中,以星期作為分類并添加3組隨機(jī)數(shù)繪制了柱狀圖,代碼如下:
from pyecharts.charts import Bar
import numpy as np
bar = (
Bar(init_opts=opts.InitOpts(width="500px", height="300px"))
.add_xaxis(["周一", "周二", "周三", "周四", "周五", "周六", "周日"])
.add_yaxis("第1組", [np.random.randint(5, 15) for _ in range(7)])
.add_yaxis("第2組", [np.random.randint(5, 15) for _ in range(7)])
.add_yaxis("第3組", [np.random.randint(5, 15) for _ in range(7)])
)
bar.render()
執(zhí)行代碼,繪制的圖形如圖所示。
繪制餅圖
Pyecharts餅圖的類定義如下:
class Pie(
# 初始化配置項,參考 `global_options.InitOpts`
init_opts: opts.InitOpts = opts.InitOpts()
)
餅圖Pie提供了一個方法,add()方法用來為餅圖添加數(shù)據(jù)項,該方法至少需要兩個參數(shù),第1個參數(shù)用于指定圖例名稱,第2個參數(shù)用于指定餅圖的數(shù)據(jù)項,方法定義如下:
def add(
# 系列名稱,用于 tooltip 的顯示,legend 的圖例篩選。
series_name: str,
# 系列數(shù)據(jù)項,格式為 [(key1, value1), (key2, value2)]
data_pair: types.Sequence[types.Union[types.Sequence, opts.PieItem, dict]]
)
在下面的案例中,使用Pyecharts的樣例數(shù)據(jù)繪制餅圖,代碼如下:
from pyecharts import options as opts
from pyecharts.charts import Pie
from pyecharts.faker import Faker
pie = (
Pie(init_opts=opts.InitOpts(width="500px", height="300px"))
.add("", [list(z) for z in zip(Faker.choose(), Faker.values())])
)
pie.render()
執(zhí)行代碼,繪制的圖形如圖所示。
繪制箱型圖
Pyecharts箱型圖的類定義如下:
class Boxplot(
# 初始化配置項,參考 `global_options.InitOpts`
init_opts: opts.InitOpts = opts.InitOpts()
)
箱型圖Boxplot提供了兩個方法,add_xaxis()方法用來為箱型圖添加x軸,該方法接收一個參數(shù),用來指定x軸的數(shù)據(jù)項,方法定義如下:
def add_xaxis(
# x軸數(shù)據(jù)項
xaxis_data: Sequence
)
add_yaxis()方法用來為箱型圖添加y軸,該方法至少需要兩個參數(shù),第1個參數(shù)用于指定圖例名稱,第2個參數(shù)用來指定y軸的數(shù)據(jù)項,其余參數(shù)可以保持默認(rèn)值,方法定義如下:
def add_yaxis(
# 系列名稱,用于 tooltip 的顯示,legend 的圖例篩選。
series_name: str,
# 系列數(shù)據(jù)
y_axis: types.Sequence[types.Union[opts.BoxplotItem, dict]]
)
在下面的案例中,以星期作為分類并添加2組隨機(jī)數(shù)繪制箱型圖,代碼如下:
from numpy.random import randint as rdi
from pyecharts import options as opts
from pyecharts.charts import Boxplot
d1 = [rdi(40 - rdi(1, 40), 60 + rdi(1, 40), 100).tolist() for _ in range(7)]
d2 = [rdi(40 - rdi(1, 40), 60 + rdi(1, 40), 100).tolist() for _ in range(7)]
box = Boxplot(init_opts=opts.InitOpts(width="500px", height="300px"))
box.add_xaxis(["周一", "周二", "周三", "周四", "周五", "周六", "周日"])
box.add_yaxis("第1組", box.prepare_data(d1))
box.add_yaxis("第2組", box.prepare_data(d2))
box.render()
執(zhí)行代碼,繪制的圖形如圖所示。
文章來源:http://www.zghlxwxcb.cn/news/detail-820568.html
結(jié)束語
好了,感謝大家的關(guān)注,今天就分享到這里了,更多詳細(xì)內(nèi)容,請閱讀原書或持續(xù)關(guān)注專欄。文章來源地址http://www.zghlxwxcb.cn/news/detail-820568.html
到了這里,關(guān)于《PySpark大數(shù)據(jù)分析實戰(zhàn)》-27.數(shù)據(jù)可視化圖表Pyecharts介紹的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!