国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

探索數(shù)據(jù)之美:初步學習 Python 柱狀圖繪制

這篇具有很好參考價值的文章主要介紹了探索數(shù)據(jù)之美:初步學習 Python 柱狀圖繪制。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一 基礎(chǔ)柱狀圖

1.1 創(chuàng)建簡單柱狀圖

  • pyecharts 是一個基于 Echarts 的 Python 圖表庫,它提供了豐富的圖表類型和交互功能。可以使用使用 pyecharts 創(chuàng)建柱狀圖

首先,安裝 pyecharts 庫。如果沒有安裝,可以使用以下命令安裝:

pip install pyecharts

然后,創(chuàng)建一個簡單的柱狀圖:

from pyecharts import options as opts
from pyecharts.charts import Bar

# 示例數(shù)據(jù)
categories = ['Category A', 'Category B', 'Category C', 'Category D']
values = [25, 40, 30, 50]

# 創(chuàng)建柱狀圖實例
bar_chart = Bar()

# 添加數(shù)據(jù)
bar_chart.add_xaxis(categories)
bar_chart.add_yaxis("Values", values)

# 設(shè)置標題和標簽
bar_chart.set_global_opts(title_opts=opts.TitleOpts(title="Basic Bar Chart"),
                          xaxis_opts=opts.AxisOpts(name="Categories"),
                          yaxis_opts=opts.AxisOpts(name="Values"))

# 渲染圖表
bar_chart.render("basic_bar_chart.html")
  • 在這個示例中,首先導(dǎo)入 pyecharts 的必要模塊。然后,創(chuàng)建一個 Bar 實例,代表柱狀圖。接著,使用 add_xaxisadd_yaxis 方法分別添加 x 軸和 y 軸的數(shù)據(jù)。還使用 set_global_opts 方法設(shè)置了標題和軸標簽的選項。最后,使用 render 方法將圖表渲染為 HTML 文件。

探索數(shù)據(jù)之美:初步學習 Python 柱狀圖繪制,馭Python神技:打造編程巨匠之路,python,學習,信息可視化

1.2 反轉(zhuǎn)x和y軸

  • 可以使用pyecharts 的 Bar 類中的 reversal_axis() 方法翻轉(zhuǎn) x 軸和 y 軸
from pyecharts import options as opts
from pyecharts.charts import Bar

# 示例數(shù)據(jù)
categories = ['Category A', 'Category B', 'Category C', 'Category D']
values = [25, 40, 30, 50]

# 創(chuàng)建柱狀圖實例
bar_chart = Bar()

# 添加數(shù)據(jù)
bar_chart.add_xaxis(categories)
bar_chart.add_yaxis("Values", values)

# 設(shè)置標題和標簽
bar_chart.set_global_opts(title_opts=opts.TitleOpts(title="Basic Bar Chart"),
                          xaxis_opts=opts.AxisOpts(name="Categories"),
                          yaxis_opts=opts.AxisOpts(name="Values"))
# 反轉(zhuǎn)x和y軸
bar_chart.reversal_axis()

# 渲染圖表
bar_chart.render("basic_bar_chart.html")

探索數(shù)據(jù)之美:初步學習 Python 柱狀圖繪制,馭Python神技:打造編程巨匠之路,python,學習,信息可視化

1.3 數(shù)值標簽在右側(cè)

  • 通過label_opts=LabelOpts(position=“right”)設(shè)置數(shù)值標簽在右側(cè)顯示
from pyecharts import options as opts
from pyecharts.charts import Bar

# 示例數(shù)據(jù)
categories = ['Category A', 'Category B', 'Category C', 'Category D']
values = [25, 40, 30, 50]

# 創(chuàng)建柱狀圖實例
bar_chart = Bar()

# 添加數(shù)據(jù)
bar_chart.add_xaxis(categories)
bar_chart.add_yaxis("Values", values, label_opts=opts.LabelOpts(position="right"))

# 設(shè)置標題和標簽
bar_chart.set_global_opts(title_opts=opts.TitleOpts(title="Basic Bar Chart"),
                          xaxis_opts=opts.AxisOpts(name="Categories"),
                          yaxis_opts=opts.AxisOpts(name="Values"))
# 反轉(zhuǎn)x和y軸
bar_chart.reversal_axis()

# 渲染圖表
bar_chart.render("basic_bar_chart.html")

1.4 演示結(jié)果

探索數(shù)據(jù)之美:初步學習 Python 柱狀圖繪制,馭Python神技:打造編程巨匠之路,python,學習,信息可視化

二 基礎(chǔ)時間線柱狀圖

2.1 創(chuàng)建時間線

  • Timeline()-時間線
  • 柱狀圖的主要特點,:狀圖描述的是分類數(shù)據(jù),回答的是每一個分類中有多少的問題。同時柱狀圖很難動態(tài)的描述一個趨勢性的數(shù)據(jù). 這里pyecharts為我們提供了一種解決方案-時間線
  • 如果說一個Bar、Line對象是一張圖表的話,時間線就是創(chuàng)建一個一維的x軸,軸上每一個點就是一個圖表對象
from pyecharts.charts import Bar, Timeline
from pyecharts.options import LabelOpts
from pyecharts.globals import ThemeType

bar1 = Bar()
bar1.add_xaxis(["中國", "美國", "英國"])
bar1.add_yaxis("GDP", [30, 30, 20], label_opts=LabelOpts(position="right"))
bar1.reversal_axis()

bar2 = Bar()
bar2.add_xaxis(["中國", "美國", "英國"])
bar2.add_yaxis("GDP", [50, 50, 50], label_opts=LabelOpts(position="right"))
bar2.reversal_axis()

bar3 = Bar()
bar3.add_xaxis(["中國", "美國", "英國"])
bar3.add_yaxis("GDP", [70, 60, 60], label_opts=LabelOpts(position="right"))
bar3.reversal_axis()

# 構(gòu)建時間線對象
# timeline = Timeline()
timeline = Timeline({"theme": ThemeType.LIGHT}) #設(shè)置時間線對象

# 在時間線內(nèi)添加柱狀圖對象
timeline.add(bar1, "點1")
timeline.add(bar2, "點2")
timeline.add(bar3, "點3")

# 自動播放設(shè)置
timeline.add_schema(
    play_interval=1000, # 自動播放的時間間隔,單位毫秒
    is_timeline_show=True, # 是否在自動播放的時候,顯示時間線
    is_auto_play=True, # 是否自動播放
    is_loop_play=True  # 是否循環(huán)播放
)

# 繪圖是用時間線對象繪圖,而不是bar對象了
timeline.render("基礎(chǔ)時間線柱狀圖.html")

2.2 時間線主題設(shè)置取值表

探索數(shù)據(jù)之美:初步學習 Python 柱狀圖繪制,馭Python神技:打造編程巨匠之路,python,學習,信息可視化

2.3 演示結(jié)果

探索數(shù)據(jù)之美:初步學習 Python 柱狀圖繪制,馭Python神技:打造編程巨匠之路,python,學習,信息可視化

三 GDP動態(tài)柱狀圖繪制

3.1 需求分析

探索數(shù)據(jù)之美:初步學習 Python 柱狀圖繪制,馭Python神技:打造編程巨匠之路,python,學習,信息可視化
簡單分析后,發(fā)現(xiàn)最終效果圖中需要:

  1. GDP數(shù)據(jù)處理為億級
  2. 有時間軸,按照年份為時間軸的點
  3. x軸和y軸反轉(zhuǎn),同時每一年的數(shù)據(jù)只要前8名國家
  4. 有標題,標題的年份會動態(tài)更改
  5. 設(shè)置了主題為LIGHT

3.2 數(shù)據(jù)文件內(nèi)容

year,GDP,rate
1960,美國,5.433E+11
1960,英國,73233967692
1960,法國,62225478000
1960,中國,59716467625
1960,日本,44307342950
1960,加拿大,40461721692

3.3 列表排序方法

列表.sort(key=選擇排序依據(jù)的函數(shù), reverse=True|False)

  • 參數(shù)key,是要求傳入一個函數(shù),表示將列表的每一個元素都傳入函數(shù)中,返回排序的依據(jù)
  • 參數(shù)reverse,是否反轉(zhuǎn)排序結(jié)果,True表示降序,F(xiàn)alse表示升序
my_list = [["a", 33], ["b", 55], ["c", 11]]

# 排序,基于帶名函數(shù)
# def choose_sort_key(element):
#     return element[1]
#
# my_list.sort(key=choose_sort_key, reverse=False)

# 使用 sort() 方法,按子列表中的第二個元素排序
my_list.sort(key=lambda x: x[1])

print("升序排序:", my_list)
# 升序排序: [['c', 11], ['a', 33], ['b', 55]]

my_list.sort(key=lambda x: x[1], reverse=True)

print("降序排序:", my_list)
# 降序排序: [['b', 55], ['a', 33], ['c', 11]]

  • key=lambda x: x[1]Lambda 表達式是一個用于比較排序的函數(shù),它告訴 sort() 方法按照子列表中的第二個元素進行排序

3.4 參考代碼

from pyecharts.charts import Bar, Timeline
from pyecharts.options import *
from pyecharts.globals import ThemeType

# 讀取數(shù)據(jù)
f = open("c:/1960-2019全球GDP數(shù)據(jù).csv", "r", encoding="GB2312")
data_lines = f.readlines()
# 關(guān)閉文件
f.close()

# 刪除第一條數(shù)據(jù)
data_lines.pop(0) # year,GDP,rate

# 將數(shù)據(jù)轉(zhuǎn)換為字典存儲,格式為:
# { 年份: [ [國家, gdp], [國家,gdp], ......  ], 年份: [ [國家, gdp], [國家,gdp], ......  ], ...... }
# { 1960: [ [美國, 123], [中國,321], ......  ], 1961: [ [美國, 123], [中國,321], ......  ], ...... }
# 先定義一個字典對象
data_dict = {}
for line in data_lines:
    year = int(line.split(",")[0])      # 年份
    country = line.split(",")[1]        # 國家
    gdp = float(line.split(",")[2])     # gdp數(shù)據(jù)
    # 判斷字典里面有沒有指定的key
    try:
        data_dict[year].append([country, gdp])
    except KeyError:
        data_dict[year] = []
        data_dict[year].append([country, gdp])


# 創(chuàng)建時間線對象
timeline = Timeline({"theme": ThemeType.LIGHT})

# 排序年份
sorted_year_list = sorted(data_dict.keys())
for year in sorted_year_list:
    data_dict[year].sort(key=lambda element: element[1], reverse=True)
    # 取出本年份前8名的國家
    year_data = data_dict[year][0:8]
    x_data = [] #countrys
    y_data = [] #gdps 
    for country_gdp in year_data:
        x_data.append(country_gdp[0])   # x軸添加國家
        y_data.append(country_gdp[1] / 100000000)   # y軸添加gdp數(shù)據(jù)

	# 構(gòu)建柱狀圖
	bar = Bar() # 創(chuàng)建柱狀圖
	x_data.reverse() # 反轉(zhuǎn)國家,使GDP最高的排在最上面
	y_data.reverse() # 同步反轉(zhuǎn)GDP數(shù)據(jù)
	bar.add_xaxis(x_data)
	bar.add_yaxis("GDP(億)", y_data, label_opts=LabelOpts(position="right"))
	# 反轉(zhuǎn)x軸和y軸
	bar.reversal_axis()
	# 設(shè)置每一年的圖表的標題
	bar.set_global_opts(
	    title_opts=TitleOpts(title=f"{year}年全球前8GDP數(shù)據(jù)")
	)
	timeline.add(bar, str(year)) #時間線添加一個點,和對應(yīng)的bar圖


# for循環(huán)每一年的數(shù)據(jù),基于每一年的數(shù)據(jù),創(chuàng)建每一年的bar對象
# 在for中,將每一年的bar對象添加到時間線中

# 設(shè)置自動播放
timeline.add_schema(
    play_interval=1000,
    is_timeline_show=True,
    is_auto_play=True,
    is_loop_play=False
)

# 繪圖
timeline.render("1960-2019全球GDP前8國家.html")

3.5 運行結(jié)果

探索數(shù)據(jù)之美:初步學習 Python 柱狀圖繪制,馭Python神技:打造編程巨匠之路,python,學習,信息可視化文章來源地址http://www.zghlxwxcb.cn/news/detail-650448.html

到了這里,關(guān)于探索數(shù)據(jù)之美:初步學習 Python 柱狀圖繪制的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【Python數(shù)據(jù)可視化】matplotlib之繪制常用圖形:折線圖、柱狀圖(條形圖)、餅圖和直方圖

    【Python數(shù)據(jù)可視化】matplotlib之繪制常用圖形:折線圖、柱狀圖(條形圖)、餅圖和直方圖

    文章傳送門 Python 數(shù)據(jù)可視化 matplotlib之繪制常用圖形:折線圖、柱狀圖(條形圖)、餅圖和直方圖 matplotlib之設(shè)置坐標:添加坐標軸名字、設(shè)置坐標范圍、設(shè)置主次刻度、坐標軸文字旋轉(zhuǎn)并標出坐標值 matplotlib之增加圖形內(nèi)容:設(shè)置圖例、設(shè)置中文標題、設(shè)置網(wǎng)格效果 matplo

    2024年01月16日
    瀏覽(31)
  • 探索十大經(jīng)典排序算法之美(基于Python)

    探索十大經(jīng)典排序算法之美(基于Python)

    在計算機科學的世界中,排序算法無疑是最為經(jīng)典和基礎(chǔ)的主題之一。排序不僅是解決各種計算問題的基礎(chǔ),而且在日常編程中也是必不可少的一環(huán)。Python這一富有表達力的編程語言,提供了許多強大的工具和庫,使得實現(xiàn)和理解排序算法變得更加直觀和有趣。 本篇博客將帶

    2024年02月21日
    瀏覽(14)
  • 數(shù)據(jù)之美:探索數(shù)據(jù)可視化設(shè)計的奇妙世界

    數(shù)據(jù)之美:探索數(shù)據(jù)可視化設(shè)計的奇妙世界

    在信息時代的浪潮中,海量的數(shù)據(jù)正在影響著我們的生活和決策。然而,數(shù)據(jù)本身雖然有力量,但如何將其有機地呈現(xiàn)給我們,卻成為了一個挑戰(zhàn)。數(shù)據(jù)可視化設(shè)計應(yīng)運而生,它不僅讓枯燥的數(shù)字變得生動,還帶來了一場視覺和認知的盛宴。 數(shù)字的生動畫面 數(shù)據(jù)可視化設(shè)計

    2024年02月11日
    瀏覽(30)
  • python如何繪制柱狀圖

    python如何繪制柱狀圖

    安裝兩種插件 柱狀圖繪制步驟 導(dǎo)入 matplotlib.pyplot 模塊 準備數(shù)據(jù),可以使用 numpy/pandas 整理數(shù)據(jù) 調(diào)用 pyplot.bar() 繪制柱狀圖 上代碼 效果圖 函數(shù)解析 plt.bar() 用于畫柱狀圖,還可以使用 plt.plot() 繪制折線圖 plt.xlabel() plt.ylabel() 用于標注x軸、y軸 plt.title() 用于給圖片添加標題

    2024年02月11日
    瀏覽(24)
  • <2>【深度學習 × PyTorch】pandas | 數(shù)據(jù)預(yù)處理 | 處理缺失值:插值法 | networkx模塊繪制知識圖譜 | 線性代數(shù)初步

    ? 你永遠不可能真正的去了解一個人,除非你穿過ta的鞋子,走過ta走過的路,站在ta的角度思考問題,可當你真正走過ta走過的路時,你連路過都會覺得難過。有時候你所看到的,并非事實真相,你了解的,不過是浮在水面上的冰山一角?!稓⑺酪恢恢B》 ? ??

    2024年02月01日
    瀏覽(32)
  • Python繪制柱狀圖堆疊圖

    Python繪制柱狀圖堆疊圖

    本文詳細介紹如何使用 Matplotlib 繪制柱狀堆疊圖 示例:pandas 是基于NumPy 的一種工具,該工具是為了解決數(shù)據(jù)分析任務(wù)而創(chuàng)建的。 開始繪制柱狀堆疊圖之前,我們需要生成實驗數(shù)據(jù)。在本案例中,我們可以使用 NumPy 庫生成兩個數(shù)組 y1 和 y2 來分別表示產(chǎn)品 A 和 B 在五個不同城

    2024年02月07日
    瀏覽(27)
  • python繪制柱狀圖,并添加標簽

    python繪制柱狀圖,并添加標簽

    利用下面的代碼,繪制柱狀圖。 難點:繪制標簽 bar.get_height() 用于獲取柱子的高度,也就是柱狀圖中每個柱子的高度值。在上面的代碼中,我們使用這個高度值來確定要在柱子上方添加的數(shù)據(jù)標簽的位置。 具體來說,這行代碼: 將 height 設(shè)置為當前柱子的高度。然后,在

    2024年01月18日
    瀏覽(19)
  • Python之花舞盛宴:探索列表與元組之美與妙用

    Python之花舞盛宴:探索列表與元組之美與妙用

    在Python編程世界中,列表和元組是兩個最常用的數(shù)據(jù)結(jié)構(gòu)之一。無論是初學者還是經(jīng)驗豐富的開發(fā)者,對于這兩個數(shù)據(jù)類型的掌握都至關(guān)重要。 列表和元組都是用于存儲多個值的容器,但它們在性質(zhì)和特性上有所不同。列表是可變的,可以隨意修改、添加或刪除其中的元素,

    2024年02月11日
    瀏覽(22)
  • 超詳細的Python matplotlib 繪制柱狀圖

    Python 為數(shù)據(jù)展示提供了大量優(yōu)秀的功能包,其中 matplotlib 模塊可以方便繪制制作折線圖、柱狀圖、散點圖等高質(zhì)量的數(shù)據(jù)包。 關(guān)于 matplotlib 模塊,我們前期已經(jīng)對matplotlib進行基本框架、以及常用方法的學習 Python matplotlib 繪制餅圖_ python matplotlib繪制折線圖_ python入門到進階,

    2023年04月08日
    瀏覽(27)
  • 批量根據(jù)excel數(shù)據(jù)繪制柱狀圖

    要批量根據(jù)Excel數(shù)據(jù)繪制柱狀圖,可以使用Python中的pandas和matplotlib庫來實現(xiàn)。下面是示例代碼: import pandas as pd import matplotlib.pyplot as plt import os def draw_bar_chart_from_excel(file_path, x_column, y_column, output_folder): ? ? # 讀取Excel文件 ? ? df = pd.read_excel(file_path) ? ? # 遍歷數(shù)據(jù),并繪制柱

    2024年02月11日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包