日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

100天精通Python(可视化篇)——第94天:Pyecharts绘制多种炫酷散点图(参数说明+代码实战)

發(fā)布時(shí)間:2024/1/18 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 100天精通Python(可视化篇)——第94天:Pyecharts绘制多种炫酷散点图(参数说明+代码实战) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

  • 專欄導(dǎo)讀
  • 一、Scatter(散點(diǎn)圖)
    • 1. add函數(shù)
    • 2. 數(shù)據(jù)項(xiàng)
  • 二、基礎(chǔ)氣泡圖
  • 三、多維度散點(diǎn)圖
  • 四、添加分割線
  • 五、動(dòng)態(tài)漣漪散點(diǎn)圖
  • 六、不同形狀散點(diǎn)圖
  • 七、3D散點(diǎn)圖

專欄導(dǎo)讀

🔥🔥本文已收錄于《100天精通Python從入門到就業(yè)》:本專欄專門針對(duì)零基礎(chǔ)和需要進(jìn)階提升的同學(xué)所準(zhǔn)備的一套完整教學(xué),從0到100的不斷進(jìn)階深入,后續(xù)還有實(shí)戰(zhàn)項(xiàng)目,輕松應(yīng)對(duì)面試,專欄訂閱地址:https://blog.csdn.net/yuan2019035055/category_11466020.html

  • 優(yōu)點(diǎn):訂閱限時(shí)9.9付費(fèi)專欄進(jìn)入千人全棧VIP答疑群,作者優(yōu)先解答機(jī)會(huì)(代碼指導(dǎo)、遠(yuǎn)程服務(wù)),群里大佬眾多可以抱團(tuán)取暖(大廠內(nèi)推機(jī)會(huì))
  • 專欄福利:簡(jiǎn)歷指導(dǎo)、招聘內(nèi)推、每周送實(shí)體書、80G全棧學(xué)習(xí)視頻、300本IT電子書:Python、Java、前端、大數(shù)據(jù)、數(shù)據(jù)庫、算法、爬蟲、數(shù)據(jù)分析、機(jī)器學(xué)習(xí)、面試題庫等等

一、Scatter(散點(diǎn)圖)

1. add函數(shù)

在Pyecharts中,Scatter類的add函數(shù)有以下參數(shù):

  • name:str,數(shù)據(jù)系列的名稱。
  • xaxis_data:Sequence,x軸的數(shù)據(jù)。
  • yaxis_data:Sequence,y軸的數(shù)據(jù)。
  • symbol_size:Union[int, Sequence],散點(diǎn)的大小。如果為int類型,則所有散點(diǎn)的大小都相同;如果為Sequence類型,則可以為每個(gè)散點(diǎn)指定不同的大小。
  • label_opts:LabelOpts,散點(diǎn)的標(biāo)簽配置項(xiàng)。
  • tooltip_opts:TooltipOpts,散點(diǎn)的提示框配置項(xiàng)。
  • itemstyle_opts:ItemStyleOpts,散點(diǎn)的圖形樣式配置項(xiàng)。
  • encode:Dict,數(shù)據(jù)編碼配置項(xiàng)。用于指定x軸和y軸的數(shù)據(jù)在數(shù)據(jù)源中的位置,例如:{“x”: 0, “y”: 1}。

其中,name、xaxis_data和yaxis_data參數(shù)是必需的,其他參數(shù)都是可選的。

示例代碼:

scatter = Scatter() scatter.add(name="散點(diǎn)圖",xaxis_data=[1, 2, 3, 4, 5],yaxis_data=[10, 20, 30, 40, 50],symbol_size=10,label_opts=opts.LabelOpts(formatter="{@[2]}"),tooltip_opts=opts.TooltipOpts(formatter="{@[2]}"),itemstyle_opts=opts.ItemStyleOpts(color="red"),encode={"x": 0, "y": 1}, )

這個(gè)例子創(chuàng)建了一個(gè)Scatter對(duì)象,然后使用add函數(shù)添加了一個(gè)散點(diǎn)數(shù)據(jù)系列,指定了x軸和y軸的數(shù)據(jù),散點(diǎn)的大小為10,標(biāo)簽格式化為第三個(gè)數(shù)據(jù),提示框格式化為第三個(gè)數(shù)據(jù),散點(diǎn)的顏色為紅色,數(shù)據(jù)編碼指定x軸數(shù)據(jù)在第0個(gè)位置,y軸數(shù)據(jù)在第1個(gè)位置。

2. 數(shù)據(jù)項(xiàng)

class ScatterItem(name: Union[str, Numeric] = None, # 數(shù)據(jù)系列的名稱,可以是字符串或數(shù)字value: Union[str, Numeric] = None, # 散點(diǎn)的值,可以是字符串或數(shù)字symbol: Optional[str] = None, # 散點(diǎn)的標(biāo)記符號(hào),可選參數(shù),默認(rèn)為Nonesymbol_size: Union[Sequence[Numeric], Numeric] = None, # 散點(diǎn)的大小,可以是數(shù)字或數(shù)字序列symbol_rotate: Optional[Numeric] = None, # 散點(diǎn)的旋轉(zhuǎn)角度,可選參數(shù),默認(rèn)為Nonesymbol_keep_aspect: bool = False, # 散點(diǎn)的寬高比是否保持一致,可選參數(shù),默認(rèn)為Falsesymbol_offset: Optional[Sequence] = None, # 散點(diǎn)的偏移量,可選參數(shù),默認(rèn)為Nonelabel_opts: Union[LabelOpts, dict, None] = None, # 散點(diǎn)的標(biāo)簽配置項(xiàng),可以是LabelOpts對(duì)象、字典或Noneitemstyle_opts: Union[ItemStyleOpts, dict, None] = None, # 散點(diǎn)的圖形樣式配置項(xiàng),可以是ItemStyleOpts對(duì)象、字典或Nonetooltip_opts: Union[TooltipOpts, dict, None] = None, # 散點(diǎn)的提示框配置項(xiàng),可以是TooltipOpts對(duì)象、字典或None )

這個(gè)類是用于表示散點(diǎn)圖中的每個(gè)散點(diǎn)數(shù)據(jù)項(xiàng)。參數(shù)的具體含義已在注釋中進(jìn)行了解釋。

二、基礎(chǔ)氣泡圖

要使用Pyecharts繪制普通氣泡圖,可以按照以下步驟進(jìn)行鏈?zhǔn)綄懛ǖ睦L制:

  • 導(dǎo)入所需模塊:
  • from pyecharts import options as opts from pyecharts.charts import Scatter
  • 創(chuàng)建一個(gè)Scatter實(shí)例,并設(shè)置全局配置項(xiàng):
  • scatter = Scatter().set_global_opts(title_opts=opts.TitleOpts(title="普通氣泡圖") )
  • 添加數(shù)據(jù)系列:
  • scatter.add_xaxis(x_data) # 設(shè)置x軸數(shù)據(jù) scatter.add_yaxis("", y_data) # 設(shè)置y軸數(shù)據(jù)
  • 設(shè)置氣泡的大小和顏色:
  • scatter.set_series_opts(label_opts=opts.LabelOpts(is_show=False), # 不顯示標(biāo)簽itemstyle_opts=opts.ItemStyleOpts(color="rgba(255, 0, 0, 0.6)"), # 設(shè)置氣泡顏色symbol_size=20 # 設(shè)置氣泡大小 )
  • 渲染圖表,并將結(jié)果保存為HTML文件:
  • # 渲染圖表 scatter.render_notebook() scatter.render("scatter.html")

    完整代碼示例:

    from pyecharts import options as opts from pyecharts.charts import Scatter# 數(shù)據(jù) x_data = [1, 2, 3, 4, 5] y_data = [10, 20, 30, 40, 50]# 創(chuàng)建Scatter實(shí)例 scatter = Scatter().set_global_opts(title_opts=opts.TitleOpts(title="普通氣泡圖") )# 添加數(shù)據(jù)系列 scatter.add_xaxis(x_data) scatter.add_yaxis("", y_data)# 設(shè)置氣泡的大小和顏色 scatter.set_series_opts(label_opts=opts.LabelOpts(is_show=False),itemstyle_opts=opts.ItemStyleOpts(color="rgba(255, 0, 0, 0.6)"),symbol_size=20 )# 渲染圖表 scatter.render_notebook() scatter.render("scatter.html")

    運(yùn)行完上述代碼后,運(yùn)行結(jié)果:

    三、多維度散點(diǎn)圖

    # 導(dǎo)入需要的模塊 from pyecharts.charts import Scatter from pyecharts.faker import Faker# 創(chuàng)建Scatter對(duì)象 scatter = (Scatter()# 添加x軸數(shù)據(jù).add_xaxis(Faker.choose())# 添加y軸數(shù)據(jù),系列名稱為"商家A".add_yaxis("商家A", Faker.values())# 添加y軸數(shù)據(jù),系列名稱為"商家B".add_yaxis("商家B", Faker.values())# 設(shè)置全局配置項(xiàng).set_global_opts(# 設(shè)置標(biāo)題title_opts=opts.TitleOpts(title="多維度散點(diǎn)圖"),# 設(shè)置視覺映射配置項(xiàng),類型為"size",最大值為150,最小值為20visualmap_opts=opts.VisualMapOpts(type_="size", max_=150, min_=20),) )# 在Jupyter Notebook中渲染圖表 scatter.render_notebook()

    運(yùn)行結(jié)果:

    四、添加分割線

    通過散點(diǎn)圖與分割線相互結(jié)合:

    import numpy as np from pyecharts import options as opts from pyecharts.charts import Scatter# 生成隨機(jī)數(shù)據(jù) np.random.seed(0) data = np.random.randn(100, 4)# 使用鏈?zhǔn)綄懛ɡL制散點(diǎn)圖 scatter = (Scatter().add_xaxis(list(range(100))).add_yaxis("A", data[:, 0].tolist()).add_yaxis("B", data[:, 1].tolist()).add_yaxis("C", data[:, 2].tolist()).add_yaxis("D", data[:, 3].tolist()).set_global_opts(title_opts=opts.TitleOpts(title="多維度散點(diǎn)圖"),xaxis_opts=opts.AxisOpts(name="Index"),yaxis_opts=opts.AxisOpts(name="Value"),).set_series_opts(label_opts=opts.LabelOpts(is_show=False)) )# 添加分割線 line = (Scatter().add_xaxis(list(range(100))).add_yaxis("Line", [0] * 100, label_opts=opts.LabelOpts(is_show=False)).set_series_opts(symbol_size=0,linestyle_opts=opts.LineStyleOpts(type_="dashed", color="red"),label_opts=opts.LabelOpts(is_show=False),) )scatter.render_notebook()

    運(yùn)行結(jié)果:

    五、動(dòng)態(tài)漣漪散點(diǎn)圖

    # 導(dǎo)入所需的類和函數(shù) from pyecharts import options as opts from pyecharts.charts import EffectScatter from pyecharts.faker import Faker# 創(chuàng)建 EffectScatter 對(duì)象,并設(shè)置 x 軸數(shù)據(jù)和 y 軸數(shù)據(jù) c = (EffectScatter().add_xaxis(Faker.choose()) # 添加 x 軸數(shù)據(jù),這里使用了 Faker.choose() 生成隨機(jī)數(shù)據(jù).add_yaxis("", Faker.values()) # 添加 y 軸數(shù)據(jù),這里使用了 Faker.values() 生成隨機(jī)數(shù)據(jù).set_global_opts(title_opts=opts.TitleOpts(title="動(dòng)態(tài)漣漪散點(diǎn)圖")) # 設(shè)置全局配置,標(biāo)題為"動(dòng)態(tài)漣漪散點(diǎn)圖" )# 在 Jupyter Notebook 中展示 c.render_notebook()

    運(yùn)行結(jié)果:

    六、不同形狀散點(diǎn)圖

    在下面的代碼中,首先創(chuàng)建了一個(gè)Scatter對(duì)象,然后通過set_global_opts()方法設(shè)置了圖表的標(biāo)題和大小,以及圖表的顏色映射范圍。接下來,通過add_xaxis()方法設(shè)置x軸的數(shù)據(jù),通過add_yaxis()方法分別添加了四個(gè)系列的散點(diǎn)圖數(shù)據(jù),并設(shè)置了不同的形狀和大小。

    from pyecharts import options as opts from pyecharts.charts import Scatter# 創(chuàng)建散點(diǎn)圖對(duì)象 scatter = Scatter()# 設(shè)置圖表標(biāo)題和大小 scatter.set_global_opts(title_opts=opts.TitleOpts(title="不同形狀散點(diǎn)圖"),visualmap_opts=opts.VisualMapOpts(type_="size", max_=50, min_=20),legend_opts=opts.LegendOpts(pos_right="10%", pos_bottom="15%"), )# 添加散點(diǎn)圖數(shù)據(jù)并設(shè)置樣式 scatter.add_xaxis(['A', 'B', 'C', 'D', 'E']) scatter.add_yaxis("圓形", [10, 20, 30, 40, 50], symbol_size=10) scatter.add_yaxis("矩形", [20, 30, 40, 50, 60], symbol='rect', symbol_size=15) scatter.add_yaxis("三角形", [30, 40, 50, 60, 70], symbol='triangle', symbol_size=20) scatter.add_yaxis("星形", [40, 50, 60, 70, 80], symbol='star', symbol_size=25)# 在 Jupyter Notebook 中展示 scatter.render_notebook()

    運(yùn)行結(jié)果:
    在scatter.add_yaxis()函數(shù)中,symbol參數(shù)用于設(shè)置散點(diǎn)圖的形狀。下面是symbol參數(shù)的全部參數(shù)說明:

    • ‘circle’:圓形
    • ‘rect’:矩形
    • ‘roundRect’:圓角矩形
    • ‘triangle’:三角形
    • ‘diamond’:菱形
    • ‘pin’:水滴形
    • ‘a(chǎn)rrow’:箭頭形
    • ‘none’:無形狀,即不顯示形狀,只顯示散點(diǎn)

    另外,symbol參數(shù)還可以是一個(gè)自定義的路徑字符串,表示使用自定義的形狀圖片,例如’svg://path/to/custom_symbol.svg’。

    在使用scatter.add_yaxis()函數(shù)時(shí),可以根據(jù)需要選擇合適的形狀參數(shù)來設(shè)置散點(diǎn)圖的形狀。

    七、3D散點(diǎn)圖

  • 導(dǎo)入所需的類和函數(shù),在代碼中導(dǎo)入所需的類和函數(shù),包括Scatter3D類和configure函數(shù)。示例代碼如下:
  • from pyecharts.charts import Scatter3D from pyecharts import options as opts from pyecharts.render import notebook import random
  • 創(chuàng)建3D散點(diǎn)圖,使用Scatter3D類創(chuàng)建3D散點(diǎn)圖,設(shè)置散點(diǎn)的屬性,如位置、大小、顏色等。示例代碼如下:
  • scatter_data = [[random.randint(0, 100), random.randint(0, 100), random.randint(0, 100)] for _ in range(80)]scatter3d = (Scatter3D().add("", scatter_data).set_global_opts(title_opts=opts.TitleOpts(title="3D散點(diǎn)圖"),visualmap_opts=opts.VisualMapOpts(max_=10),) )

    在上述代碼中,scatter_data是一個(gè)包含多個(gè)散點(diǎn)坐標(biāo)的列表,每個(gè)散點(diǎn)坐標(biāo)由三個(gè)值表示(x、y、z)。

  • 輸出到Jupyter Notebook,使用notebook.render_notebook函數(shù)將圖表輸出到Jupyter Notebook中。示例代碼如下:
  • notebook.render_notebook(scatter3d)
  • 完整代碼:
  • from pyecharts.charts import Scatter3D from pyecharts import options as opts import randomscatter_data = [[random.randint(0, 100), random.randint(0, 100), random.randint(0, 100)] for _ in range(80)]scatter3d = (Scatter3D().add("", scatter_data).set_global_opts(title_opts=opts.TitleOpts(title="3D散點(diǎn)圖"),visualmap_opts=opts.VisualMapOpts(max_=10),) )scatter3d.render_notebook()

    通過以上步驟,就可以使用Pyecharts的鏈?zhǔn)綄懛ɡL制3D散點(diǎn)圖并將結(jié)果輸出到Jupyter Notebook中。圖表將直接在Notebook中渲染和顯示,無需額外的保存和導(dǎo)出操作。

    運(yùn)行結(jié)果:

    《ChatGPT時(shí)代+powerBI》

    本書從ChatGPT等自然語言大模型基礎(chǔ)知識(shí)講起,重點(diǎn)介紹了ChatGPT等語言大模型在生活中的實(shí)際應(yīng)用,讓每一個(gè)人都能了解未來的生活和工作。
    本書通過實(shí)際案例和操作技巧,使讀者能夠快速上手并靈活運(yùn)用ChatGPT技術(shù),提升職場(chǎng)競(jìng)爭(zhēng)力,以通俗易懂的語言解釋ChatGPT的原理和應(yīng)用,即使是職場(chǎng)新手也能輕松掌握。
    同時(shí)結(jié)合Excel Home全新講授的《Power BI數(shù)據(jù)分析與可視化實(shí)戰(zhàn)》,用chatGPT使讀者可以從煩瑣的數(shù)據(jù)處理和報(bào)表編制中解脫,快速從海量數(shù)據(jù)中抽取關(guān)鍵信息并制作令人驚艷的交互式商業(yè)報(bào)告

    抽獎(jiǎng)送書老規(guī)矩(不點(diǎn)贊收藏中獎(jiǎng)無效):注意記得關(guān)注博主不然中獎(jiǎng)了還不知道!!!

    • 1. 點(diǎn)贊收藏文章
    • 2. 評(píng)論區(qū)留言:人生苦短,我用Python!!!(留言才能進(jìn)入獎(jiǎng)池,每人最多留言三條)
    • 3. 周六八點(diǎn)爬蟲抽獎(jiǎng)5人
    • 《chatGPT時(shí)代全能應(yīng)用一本通》 當(dāng)當(dāng)購買鏈接 :http://product.dangdang.com/29564315.html
    • 《Power BI數(shù)據(jù)分析與可視化實(shí)戰(zhàn)》 當(dāng)當(dāng)購買鏈接:http://product.dangdang.com/29473790.html

    總結(jié)

    以上是生活随笔為你收集整理的100天精通Python(可视化篇)——第94天:Pyecharts绘制多种炫酷散点图(参数说明+代码实战)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。