昨天學完了折線圖,今天來看看長條圖吧!
利用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()
若想將圖形轉成水平只需要將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()
---20230924---