一、基本介紹
Python Pyecharts是Python中的一個數據可視化庫。它基於Echarts.js庫,可以通過使用Python語言,進行數據探索和數據可視化。它非常容易使用,具有多種圖表類型和交互性,並且可以在Jupyter Notebook中使用。在數據可視化中,Pyecharts可以幫助我們分析和探索數據,同時也可以向觀眾傳達數據的故事。
下面我們通過一個簡單的例子來展示如何使用Python Pyecharts繪製一個基本的柱形圖:
from pyecharts.charts import Bar
from pyecharts import options as opts
#定義x軸和y軸數據
x_data = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
y_data = [820, 932, 901, 934, 1290, 1330, 1320]
#定義圖表
bar = (
Bar()
.add_xaxis(x_data)
.add_yaxis("銷量", y_data)
.set_global_opts(title_opts=opts.TitleOpts(title="某商場銷售情況"))
)
#生成html文件,並展示圖表
bar.render("bar_chart.html")
二、圖表類型
Python Pyecharts支持多種類型的圖表,包括柱形圖、折線圖、餅圖、散點圖、地圖等。下面我們分別介紹一下幾種常用圖表的繪製方法。
柱形圖
柱形圖是一種以長方形柱形的高度或長度表示數據的圖表。它常用於比較不同類別的數據之間的大小。Pyecharts中繪製柱形圖可以使用Bar類。
from pyecharts.charts import Bar
from pyecharts import options as opts
#定義x軸和y軸數據
x_data = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
y_data = [820, 932, 901, 934, 1290, 1330, 1320]
#定義圖表
bar = (
Bar()
.add_xaxis(x_data)
.add_yaxis("銷量", y_data)
.set_global_opts(title_opts=opts.TitleOpts(title="某商場銷售情況"))
)
#生成html文件,並展示圖表
bar.render("bar_chart.html")
折線圖
折線圖是一種以線條連接數據點的方式表示數據的圖表。它可以用於展示數據的趨勢和變化。Pyecharts中繪製折線圖可以使用Line類。
from pyecharts.charts import Line
from pyecharts import options as opts
#定義x軸和y軸數據
x_data = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
y_data = [820, 932, 901, 934, 1290, 1330, 1320]
#定義圖表
line = (
Line()
.add_xaxis(x_data)
.add_yaxis("銷量", y_data)
.set_global_opts(title_opts=opts.TitleOpts(title="某商場銷售情況"))
)
#生成html文件,並展示圖表
line.render("line_chart.html")
餅圖
餅圖是一種圓形圖表,根據數據大小,將圓形分成不同大小的扇形,用於展示數據的比例和佔比。Pyecharts中繪製餅圖可以使用Pie類。
from pyecharts.charts import Pie
from pyecharts import options as opts
#定義x軸和y軸數據
x_data = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
y_data = [820, 932, 901, 934, 1290]
#定義圖表
pie = (
Pie()
.add("", [list(z) for z in zip(x_data, y_data)])
.set_global_opts(title_opts=opts.TitleOpts(title="某商場銷售情況"))
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
)
#生成html文件,並展示圖表
pie.render("pie_chart.html")
散點圖
散點圖是一種以點的位置表示數據的圖表。它可以用來展示數據之間的關係,例如在二維平面中展示兩個變量之間的關係。Pyecharts中繪製散點圖可以使用Scatter類。
from pyecharts.charts import Scatter
from pyecharts import options as opts
#定義數據
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]
]
#定義圖表
scatter = (
Scatter()
.add_xaxis([d[0] for d in data])
.add_yaxis("", [d[1] for d in data])
.set_global_opts(title_opts=opts.TitleOpts(title="散點圖"))
)
#生成html文件,並展示圖表
scatter.render("scatter_chart.html")
地圖
地圖是一種以地域空間為基礎展示各類地理數據的圖表。Pyecharts中繪製地圖可以使用Map類。
from pyecharts.charts import Map
from pyecharts import options as opts
#定義數據
data = [('廣東', 1047), ('北京', 372), ('上海', 213), ('浙江', 200), ('四川', 157), ('江蘇', 113), ('福建', 111), ('湖南', 109), ('山東', 105), ('河南', 85)]
#定義圖表
map = (
Map()
.add("", data, "china")
.set_global_opts(title_opts=opts.TitleOpts(title="中國各省人口分布圖"))
)
#生成html文件,並展示圖表
map.render("map_chart.html")
三、交互性
Python Pyecharts支持多種交互功能,例如數據切換、數據過濾、鼠標懸停等。這些交互功能可以使我們在探索數據時更加方便和直觀。
下面我們通過一個例子來展示如何使用Python Pyecharts添加交互功能,例如鼠標懸停和數據過濾功能:
from pyecharts.charts import Scatter
from pyecharts import options as opts
#定義數據
x_data = [10, 20, 30, 40, 50, 60, 70, 80]
y_data = [10, 20, 30, 40, 50, 60, 70, 80]
#定義圖表
scatter = (
Scatter()
.add_xaxis(x_data)
.add_yaxis("", y_data)
.set_global_opts(
title_opts=opts.TitleOpts(title="鼠標懸停和數據過濾功能"),
tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross"),
datazoom_opts=[opts.DataZoomOpts(), opts.DataZoomOpts(type_="inside")],
)
)
#生成html文件,並展示圖表
scatter.render("scatter_chart_interaction.html")
四、主題定製
Python Pyecharts支持多種主題樣式,例如light、dark、chalk等。我們可以根據自己的需要選擇主題,並且可以自定義樣式。下面我們通過一個簡單的例子來展示如何使用Python Pyecharts定製主題樣式:
from pyecharts.charts import Bar
from pyecharts import options as opts
from pyecharts.globals import ThemeType
#定義x軸和y軸數據
x_data = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
y_data = [820, 932, 901, 934, 1290, 1330, 1320]
#定義圖表
bar = (
Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT))#選擇主題為LIGHT
.add_xaxis(x_data)
.add_yaxis("銷量", y_data)
.set_global_opts(title_opts=opts.TitleOpts(title="某商場銷售情況"))
)
#生成html文件,並展示圖表
bar.render("bar_chart_custom.html")
五、結語
Python Pyecharts作為數據可視化庫,具有豐富的圖表類型、易用性和交互性,可以幫助我們更好地探索和傳達數據。你可以使用Pyecharts來快速構建漂亮的數據可視化,向觀眾傳達有關數據的故事。
原創文章,作者:WDGVH,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/331779.html
微信掃一掃
支付寶掃一掃