我的Python教程:使用Pyecharts畫柱狀圖

Pyecharts是一個用于生成 Echarts 圖表的 Python 庫。Echarts 是一個基于 JavaScript 的數據可視化庫,提供了豐富的圖表類型和交互功能。通過 Pyecharts,你可以使用 Python 代碼生成各種類型的 Echarts 圖表,例如折線圖、柱狀圖、餅圖、散點圖等。

Pyecharts 提供了許多方便的 API 和方法,可以讓你輕松地創建和定制自己的圖表。以下是一些常用的 Pyecharts 方法:

Bar():用于創建柱狀圖

Line():用于創建折線圖

Pie():用于創建餅圖

Scatter():用于創建散點圖

Option():用于設置圖表選項

render():用于生成 HTML 文件并打開圖表
在這里插入圖片描述
01百分比源碼如下

from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.commons.utils import JsCode
from pyecharts.globals import ThemeType#兩組數據
list2 = [{"value": 12, "percent": 12 / (12 + 3)},{"value": 23, "percent": 23 / (23 + 21)},{"value": 33, "percent": 33 / (33 + 5)},{"value": 3, "percent": 3 / (3 + 52)},{"value": 33, "percent": 33 / (33 + 43)},
]list3 = [{"value": 3, "percent": 3 / (12 + 3)},{"value": 21, "percent": 21 / (23 + 21)},{"value": 5, "percent": 5 / (33 + 5)},{"value": 52, "percent": 52 / (3 + 52)},{"value": 43, "percent": 43 / (33 + 43)},
]c = (Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT)).add_xaxis([1, 2, 3, 4, 5]).add_yaxis("product1", list2, stack="stack1", category_gap="50%").add_yaxis("product2", list3, stack="stack1", category_gap="50%").set_series_opts(label_opts=opts.LabelOpts(position="right",formatter=JsCode("function(x){return Number(x.data.percent * 100).toFixed() + '%';}"),)).render("stack_bar_percent.html")
)

02源碼示例在這里插入圖片描述


from pyecharts import options as opts
from pyecharts.charts import Barc = (Bar().add_xaxis(["名字很長的X軸標簽1","名字很長的X軸標簽2","名字很長的X軸標簽3","名字很長的X軸標簽4","名字很長的X軸標簽5","名字很長的X軸標簽6",]).add_yaxis("商家A", [10, 20, 30, 40, 50, 40]).add_yaxis("商家B", [20, 10, 40, 30, 40, 50]).set_global_opts(xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15)),title_opts=opts.TitleOpts(title="Bar-旋轉X軸標簽", subtitle="解決標簽名字過長的問題"),).render("bar_rotate_xaxis_label.html")
)

03源碼示例在這里插入圖片描述


import pyecharts.options as opts
from pyecharts.charts import Bar, Linex_data = ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"]bar = (Bar().add_xaxis(xaxis_data=x_data).add_yaxis(series_name="蒸發量",y_axis=[2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3],label_opts=opts.LabelOpts(is_show=False),).add_yaxis(series_name="降水量",y_axis=[2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3],label_opts=opts.LabelOpts(is_show=False),).extend_axis(yaxis=opts.AxisOpts(name="溫度",type_="value",min_=0,max_=25,interval=5,axislabel_opts=opts.LabelOpts(formatter="{value} °C"),)).set_global_opts(tooltip_opts=opts.TooltipOpts(is_show=True, trigger="axis", axis_pointer_type="cross"),xaxis_opts=opts.AxisOpts(type_="category",axispointer_opts=opts.AxisPointerOpts(is_show=True, type_="shadow"),),yaxis_opts=opts.AxisOpts(name="水量",type_="value",min_=0,max_=250,interval=50,axislabel_opts=opts.LabelOpts(formatter="{value} ml"),axistick_opts=opts.AxisTickOpts(is_show=True),splitline_opts=opts.SplitLineOpts(is_show=True),),)
)line = (Line().add_xaxis(xaxis_data=x_data).add_yaxis(series_name="平均溫度",yaxis_index=1,y_axis=[2.0, 2.2, 3.3, 4.5, 6.3, 10.2, 20.3, 23.4, 23.0, 16.5, 12.0, 6.2],label_opts=opts.LabelOpts(is_show=False),)
)bar.overlap(line).render("mixed_bar_and_line.html")

04示例源碼在這里插入圖片描述


from pyecharts.charts import Bar
from pyecharts import options as optsx_data = [f"11月{str(i)}日" for i in range(1, 12)]
y_total = [0, 900, 1245, 1530, 1376, 1376, 1511, 1689, 1856, 1495, 1292]
y_in = [900, 345, 393, "-", "-", 135, 178, 286, "-", "-", "-"]
y_out = ["-", "-", "-", 108, 154, "-", "-", "-", 119, 361, 203]bar = (Bar().add_xaxis(xaxis_data=x_data).add_yaxis(series_name="",y_axis=y_total,stack="總量",itemstyle_opts=opts.ItemStyleOpts(color="rgba(0,0,0,0)"),).add_yaxis(series_name="收入", y_axis=y_in, stack="總量").add_yaxis(series_name="支出", y_axis=y_out, stack="總量").set_global_opts(yaxis_opts=opts.AxisOpts(type_="value")).render("bar_waterfall_plot.html")
)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/34752.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/34752.shtml
英文地址,請注明出處:http://en.pswp.cn/news/34752.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java不支持解壓rar5的解決辦法--引用本地7zip.exe

由于rar5算法未開源,沒有合適的JAVA依賴能夠解決解壓rar5。在運行中報錯: javacom.github.junrar.exception.RarException: badRarArchive 通過引用本地7zip.exe,命令行執行解決: private static void unZipRar5File(String fileP…

探索可視化應用的嶄新前景

在當今數據驅動的世界中,可視化應用成為了一種強大的工具,能夠將復雜的數據轉化為易于理解和分析的圖形形式。隨著技術的不斷發展和創新,可視化應用正迎來嶄新的前景。本文將介紹可視化應用的定義、重要性以及當前的發展趨勢,并探…

Controller是單例還是多例?

Controller是單例還是多例? controller默認是單例的,不要使用非靜態的成員變量,否則會發生數據邏輯混亂。正因為單例所以不是線程安全的。 我們下面來簡單的驗證下: package com.riemann.springbootdemo.controller;import org…

docker配置文件

/etc/docker/daemon.json 文件作用 /etc/docker/daemon.json 文件是 Docker 配置文件,用于配置 Docker 守護進程的行為和參數。Docker 守護進程是負責管理和運行 Docker 容器的后臺進程,通過修改 daemon.json 文件,可以對 Docker 守護進程進…

不做Linux就沒前途嗎?

答案當然是——并不會 我晚上回來的時候跟一個今年的畢業生聊天,他入職了一家公司,但是從事的不是Linux相關的工作。 我這里想說的是,做Linux可以賺錢,Linux現在是全世界最牛逼的開源項目一點都不為過,但是Linux也不是…

NLP(六十五)LangChain中的重連(retry)機制

關于LangChain入門,讀者可參考文章NLP(五十六)LangChain入門 。 ??本文將會介紹LangChain中的重連機制,并嘗試給出定制化重連方案。 ??本文以LangChain中的對話功能(ChatOpenAI)為例。 LangChain中的重…

【Mysql】數據庫基礎與基本操作

🌇個人主頁:平凡的小蘇 📚學習格言:命運給你一個低的起點,是想看你精彩的翻盤,而不是讓你自甘墮落,腳下的路雖然難走,但我還能走,比起向陽而生,我更想嘗試逆風…

Centos 7 出現 write error (disk full?)

問題 mysql 導入任務時,由于導出的 sql 文件是在很大 (30G),利用 SQLDumpSpliter 切割工具 切成幾個 1G 大小的 sql 文件 結果在導入大半天,突然報錯 (另一個服務器上更慘,都導入兩天快完成的…

一分鐘上手Vue VueI18n Internationalization(i18n)多國語言系統開發、國際化、中英文語言切換!

這里以Vue2為例子 第一步:安裝vue-i18n npm install vue-i18n8.26.5 第二步:在src下創建js文件夾,繼續創建language文件夾 在language文件夾里面創建zh.js、en.js、index.js這仨文件 這仨文件代碼分別如下: zh.js export de…

在Eclipse在Java里面調用Python腳本的方法

由于項目中需要用到Java調用Python的腳本,來實現一些功能,就對jython做了一些了解,通過jython可以實現java對python腳本的調用。Java調用Python開發環境配置(EclipseJythonPyDev) 1、Jython是什么 Java可以使用Jython庫來調用Python庫。Jyt…

你不得不懂的IT知識-《敏捷項目管理》

國林哥在IBM時,幾乎每天都會收到關于“敏捷”相關的郵件,公司鼓勵我們去學習郵件里的知識,參加敏捷相關的認證和培訓。剛開始我和大多數同事一樣不管不顧,后來隨著PBC里要求加上成長目標,比如要獲得一個認證&#xff0…

React使用antd的圖片預覽組件,點擊哪個圖片就預覽哪個的設置

使用了官方推薦的相冊模式的預覽,但是點擊預覽之后,每次都是從圖片列表的第一張開始預覽,而不是點擊哪張就從哪張開始預覽: 所以這里我就封裝了一下,對初始化預覽的列表進行了邏輯處理: 當點擊開始預覽的…

加載并繪制時間域內的心電圖信號,并實施Q因子為1的陷波濾波器以去除50 Hz頻率研究(Matlab代碼實現)

💥💥💞💞歡迎來到本博客????💥💥 🏆博主優勢:🌞🌞🌞博客內容盡量做到思維縝密,邏輯清晰,為了方便讀者。 ??座右銘&a…

一篇打通,pytest自動化測試框架詳細,從0到1精通實戰(一)

目錄:導讀 前言一、Python編程入門到精通二、接口自動化項目實戰三、Web自動化項目實戰四、App自動化項目實戰五、一線大廠簡歷六、測試開發DevOps體系七、常用自動化測試工具八、JMeter性能測試九、總結(尾部小驚喜) 前言 pytest單元測試框…

redis學習筆記(七)

文章目錄 zset(有序集合)(1)添加成員(2)獲取score在指定區間的所有成員(3)獲取集合長度(4)獲取指定成員的權重值(5)獲取指定成員在集合…

2308C++簡單異步改造網絡庫

用簡單異步可以輕松改造同步網絡庫從而獲得大幅性能提升,用它改造異步回調網絡庫可以讓我們以同步方式寫代碼,讓代碼更簡潔,可讀性更好,還能避免回調地獄的問題. 本文通過兩個例子分別來介紹如何用簡單異步改造基于asio的同步網絡庫和異步回調網絡庫. 示例依賴了獨立版的asio(…

JavaWeb_總體介紹

文章目錄 1.總括2.JavaWeb項目架構 1.總括 2.JavaWeb項目架構

request.post,json和data

參考 https://zhuanlan.zhihu.com/p/140372568 https://zhuanlan.zhihu.com/p/140372568 介紹 這兩條請求語句使用了不同的參數傳遞方式,有以下區別:1. requests.post(urlhttp://xx.8.84.xx:8000/inference, jsondata)這個語句使用了 json 參數&#…

js設置css變量控制頁面一行展示指定個數的元素

前置知識: CSS變量之var()函數的應用——動態修改樣式 & root的使用 flex相關知識 場景: 動態設置給父元素內子元素設置每行排列幾個 通過 document.body.style.setProperty(--itemNum, 5)設置樣式變量,然后通過給父元素設置display: f…