Python+Pyecharts實(shí)現(xiàn)散點(diǎn)圖的繪制
第1關(guān):Scatter:散點(diǎn)圖(一)
編程要求
根據(jù)以上介紹,在右側(cè)編輯器補(bǔ)充代碼,繪制給定數(shù)據(jù)的散點(diǎn)圖,要求:
- 畫布大小初始化為寬 1600 像素,高 1000 像素
- X 軸數(shù)據(jù)設(shè)置為 x_data
- 添加 Y 軸數(shù)據(jù)。系列名稱設(shè)置為空,數(shù)據(jù)使用 y_data,標(biāo)記的大小設(shè)置為20,不顯示標(biāo)簽
- X 軸類型設(shè)置為數(shù)值軸,并顯示分割線
- Y 軸類型設(shè)置為數(shù)值軸,并顯示分割線以及坐標(biāo)軸刻度
- 不顯示提示框
代碼
from PreTest import *
from pyecharts import options as opts
from pyecharts.render import make_snapshot
from snapshot_phantomjs import snapshot
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]
def scatter_chart() -> Scatter:
# ********* Begin *********#
scatter = (
Scatter(init_opts=opts.InitOpts(width="1600px", height="1000px"))
.add_xaxis(x_data)
.add_yaxis("",
y_data,
symbol_size=20
)
.set_series_opts(
label_opts=opts.LabelOpts(is_show=False)
)
.set_global_opts(
tooltip_opts=opts.TooltipOpts(is_show=False),
xaxis_opts=opts.AxisOpts(
type_="value",
splitline_opts=opts.SplitLineOpts(is_show=True)
),
yaxis_opts=opts.AxisOpts(
type_="value",
splitline_opts=opts.SplitLineOpts(is_show=True),
axistick_opts=opts.AxisTickOpts(is_show=True)
)
)
)
# ********** End **********#
return scatter
make_snapshot(snapshot, scatter_chart().render("Result/render.html"), 'StudentAnswer/student_answer.png') # 輸出圖片
make_snapshot(snapshot, scatter_base(x_data, y_data).render(), "StandardAnswer/task1/standard_answer_1.png")
測(cè)試說明
平臺(tái)會(huì)運(yùn)行你編寫的代碼進(jìn)行繪圖,并與預(yù)期圖片進(jìn)行比對(duì)。預(yù)期效果如下:

第2關(guān):Scatter:散點(diǎn)圖(二)
編程要求
根據(jù)以上介紹,在右側(cè)編輯器補(bǔ)充代碼,利用給定數(shù)據(jù)繪制相應(yīng)的散點(diǎn)圖,要求:
- X 軸數(shù)據(jù)項(xiàng)使用data_x
- 添加兩組 Y 軸數(shù)據(jù)。
- 第一組系列名稱設(shè)置為“商家A”,數(shù)據(jù)使用data_y_1
- 第二組系列名稱設(shè)置為“商家B”,數(shù)據(jù)使用data_y_2
- 將標(biāo)題設(shè)置為“Scatter-VisualMap(Size)”
- 視覺映射過渡類型選擇“size”,最大值設(shè)為 150,最小值設(shè)置為 20
代碼
from PreTest import *
from pyecharts import options as opts
from pyecharts.render import make_snapshot
from snapshot_phantomjs import snapshot
from pyecharts.charts import Scatter
from pyecharts.faker import Faker
data_x = Faker.choose()
data_y_1 = Faker.values()
data_y_2 = Faker.values()
def scatter_chart() -> Scatter:
# ********* Begin *********#
scatter = (
Scatter()
.add_xaxis(data_x)
.add_yaxis("商家A",data_y_1)
.add_yaxis("商家B",data_y_2)
.set_global_opts(
title_opts=opts.TitleOpts(title="Scatter-VisualMap(Size)"),
visualmap_opts=opts.VisualMapOpts(is_show=True,type_='size',min_=20,max_=150)
)
)
# ********** End **********#
return scatter
make_snapshot(snapshot, scatter_chart().render("Result/render.html"), "StudentAnswer/student_answer.png") # 輸出圖片
make_snapshot(snapshot, scatter_visual(data_x, data_y_1, data_y_2).render(), "StandardAnswer/task2/standard_answer_2.png")
測(cè)試說明
平臺(tái)會(huì)運(yùn)行你編寫的代碼進(jìn)行繪圖,并與預(yù)期圖片進(jìn)行比對(duì)。預(yù)期效果如下:

第3關(guān):Scatter:散點(diǎn)圖(三)
編程要求
根據(jù)以上介紹,在右側(cè)編輯器補(bǔ)充代碼,利用給定數(shù)據(jù)繪制相應(yīng)的散點(diǎn)圖,要求:
- X 軸數(shù)據(jù)項(xiàng)使用data_x
- Y 軸數(shù)據(jù)項(xiàng)使用data_y,系列名稱設(shè)置為“商家A”,并用 JsCode 格式化標(biāo)簽(具體格式見文末)
- 標(biāo)題設(shè)置為“Scatter-多維度數(shù)據(jù)”
- 用 JsCode 格式化提示框文本(詳見文末)
- 視覺映射類型設(shè)置為顏色,最大值設(shè)置為 150,最小值設(shè)置為 20,組件映射維度為 1
代碼
from PreTest import *
from pyecharts import options as opts
from pyecharts.render import make_snapshot
from snapshot_phantomjs import snapshot
from pyecharts.charts import Scatter
from pyecharts.faker import Faker
from pyecharts.commons.utils import JsCode
data_x = Faker.choose()
data_y = [list(z) for z in zip(Faker.values(), Faker.choose())]
def scatter_chart() -> Scatter:
# ********* Begin *********#
scatter = (
Scatter()
.add_xaxis(data_x)
.add_yaxis(
"商家A",
data_y,
label_opts=opts.LabelOpts(
formatter=JsCode("""function(params){return params.value[1] +' : '+ params.value[2];}""")
)
)
.set_global_opts(
title_opts=opts.TitleOpts(title="Scatter-多維度數(shù)據(jù)"),
visualmap_opts=opts.VisualMapOpts(is_show=True,type_='color',min_=20,max_=150,dimension=1),
tooltip_opts=opts.TooltipOpts(
formatter=JsCode("""function (params) {return params.name + ' : ' + params.value[2];}""")
)
)
)
# ********** End **********#
return scatter
make_snapshot(snapshot, scatter_chart().render("Result/render.html"), 'StudentAnswer/student_answer.png') # 輸出圖片
make_snapshot(snapshot, scatter_multi(data_x, data_y).render(), "StandardAnswer/task3/standard_answer_3.png")
測(cè)試說明
平臺(tái)會(huì)運(yùn)行你編寫的代碼進(jìn)行繪圖,并與預(yù)期圖片進(jìn)行比對(duì)。預(yù)期效果如下:

以上就是Python+Pyecharts實(shí)現(xiàn)散點(diǎn)圖的繪制的詳細(xì)內(nèi)容,更多關(guān)于Python Pyecharts散點(diǎn)圖的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python cookbook(數(shù)據(jù)結(jié)構(gòu)與算法)將序列分解為單獨(dú)變量的方法
這篇文章主要介紹了Python cookbook(數(shù)據(jù)結(jié)構(gòu)與算法)將序列分解為單獨(dú)變量的方法,結(jié)合實(shí)例形式分析了Python序列賦值實(shí)現(xiàn)的分解成單獨(dú)變量功能相關(guān)操作技巧,需要的朋友可以參考下2018-02-02
PyQt5+requests實(shí)現(xiàn)車票查詢工具
這篇文章主要為大家詳細(xì)介紹了PyQt5+requests實(shí)現(xiàn)車票查詢工具,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01
python?動(dòng)態(tài)規(guī)劃問題解析(背包問題和最長(zhǎng)公共子串)
這篇文章主要介紹了python?動(dòng)態(tài)規(guī)劃(背包問題和最長(zhǎng)公共子串),在動(dòng)態(tài)規(guī)劃中,你要將某個(gè)指標(biāo)最大化。在這個(gè)例子中,你要找出兩個(gè)單詞的最長(zhǎng)公共子串。fish和fosh都包含的最長(zhǎng)子串是什么呢,感興趣的朋友跟隨小編一起看看吧2022-05-05
Python調(diào)用REST API接口的幾種方式匯總
這篇文章主要介紹了Python調(diào)用REST API接口的幾種方式匯總,幫助大家更好的利用python進(jìn)行自動(dòng)化運(yùn)維,感興趣的朋友可以了解下2020-10-10
利用Python搶回在螞蟻森林逝去的能量(實(shí)現(xiàn)代碼)
螞蟻森林是一項(xiàng)旨在帶動(dòng)公眾低碳減排的公益項(xiàng)目,每個(gè)人的低碳行為在螞蟻森林里可計(jì)為"綠色能量",很多小伙伴都玩過,今天小編給大家分享一篇教程關(guān)于Python搶回在螞蟻森林逝去的能量,感興趣的朋友跟隨小編一起看看吧2022-03-03
Python3按一定數(shù)據(jù)位數(shù)格式處理bin文件的方法
今天小編就為大家分享一篇Python3按一定數(shù)據(jù)位數(shù)格式處理bin文件的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-01-01
一文帶你學(xué)會(huì)如何利用Python實(shí)現(xiàn)一個(gè)三維繪圖系統(tǒng)
tkinter是Python標(biāo)準(zhǔn)庫中自帶的GUI工具,使用十分方便,所以本文旨在帶大家學(xué)會(huì)如何將matplotlib嵌入到tkinter中并繪制三維繪圖系統(tǒng),感興趣的可以了解下2023-09-09

