iT邦幫忙

2023 iThome 鐵人賽

DAY 9
0
自我挑戰組

python-資料分析與機器學習系列 第 9

DAY9-資料視覺化:長條圖

  • 分享至 

  • xImage
  •  

前言

昨天學完了折線圖,今天來看看長條圖吧!


利用plt.bar()畫出長條圖

長條圖

import matplotlib.pyplot as plt

# 準備要繪製的資料
categories = ['Category 1', 'Category 2', 'Category 3', 'Category 4']
values = [15, 24, 8, 20]

plt.figure(figsize=(8, 6))  # 設定圖表的大小

# 繪製長條圖
plt.bar(categories, values, color='skyblue')

# 添加標題和軸的標籤
plt.title('bar chart')
plt.xlabel('category')
plt.ylabel('number')

# 顯示數值標籤
for i, v in enumerate(values):
    plt.text(i, v + 0.5, str(v), ha='center', va='bottom')

# 顯示圖表
plt.grid(axis='y', linestyle='--', alpha=0.7)
plt.show()

https://ithelp.ithome.com.tw/upload/images/20230922/201632560PB1hsynRF.png

若想將圖形轉成水平只需要將plt.bar改成plt.barh就可以咯。

以下將兩組資料放在同一張圖比較

import matplotlib.pyplot as plt
import numpy as np

# 準備要繪製的兩組數據
categories = ['Category 1', 'Category 2', 'Category 3', 'Category 4']
values1 = [15, 24, 8, 20]
values2 = [10, 18, 12, 25]

# 設定長條的寬度
bar_width = 0.35

# 計算兩組長條的 x 座標位置
x = np.arange(len(categories))

plt.figure(figsize=(10, 6))  # 設定圖表的大小

# 繪製第一組長條
plt.bar(x - bar_width/2, values1, bar_width, label='Dataset 1', color='skyblue')

# 繪製第二組長條
plt.bar(x + bar_width/2, values2, bar_width, label='Dataset 2', color='lightcoral')

# 添加標題和軸標籤
plt.title('bar chart')
plt.xlabel('category')
plt.ylabel('number')

# 顯示數值標籤
for i, v in enumerate(values1):
    plt.text(i - bar_width/2, v + 0.5, str(v), ha='center', va='bottom')

for i, v in enumerate(values2):
    plt.text(i + bar_width/2, v + 0.5, str(v), ha='center', va='bottom')

# 設定x軸刻度
plt.xticks(x, categories)

# 添加圖例
plt.legend()

# 顯示圖表
plt.grid(axis='y', linestyle='--', alpha=0.7)
plt.show()

https://ithelp.ithome.com.tw/upload/images/20230922/20163256WNiGP71GBs.png

---20230924---


上一篇
DAY8-資料視覺化:折線圖
下一篇
DAY10:資料視覺化:直方圖、圓餅圖、散佈圖
系列文
python-資料分析與機器學習30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言