Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีการพล็อตแถบแนวนอนหลายอันในแผนภูมิเดียวด้วย matplotlib?


ในการพล็อตแท่งแนวนอนหลายแท่งในแผนภูมิเดียวด้วย matplotlib เราสามารถทำตามขั้นตอนต่อไปนี้ -

ขั้นตอน

  • นำเข้าไลบรารี pandas, matplotlib และ numpy

  • กำหนดขนาดรูปและปรับช่องว่างภายในระหว่างและรอบๆ แผนผังย่อย

  • สร้างอาร์เรย์สำหรับตำแหน่งของแถบแนวนอน

  • เริ่มต้นตัวแปร ความกว้าง สำหรับความกว้างของแท่ง

  • สร้างพล็อตแถบแนวนอน

  • ตั้งค่าขีดแกน Y และทำเครื่องหมายที่ป้ายกำกับด้วยขีดจำกัด

  • วางคำอธิบายบนโครงเรื่องไว้ที่ตำแหน่งขวาบน

  • หากต้องการแสดงรูป ให้ใช้ show() วิธีการ

ตัวอย่าง

import pandas
import matplotlib.pyplot as plt
import numpy as np

# Set the figure size
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

# Array for horizontal bar's position
ind = np.array([0, 1, 2])

# Bar's width
width = 0.4

fig, ax = plt.subplots()

# Horizontal bar plot
ax.barh(ind, np.array([4, 3, 5]), width, color='orange', label='N')
ax.barh(ind + width, np.array([2, 5, 2]), width, color='blue', label='M')

# Set Y-axis ticks and ticklabels
ax.set(yticks=ind + width, yticklabels=np.array(['A', 'B', 'C']),
ylim=[2*width - 1, len(ind)])

# Legend at the upper right corner
ax.legend(loc='upper right')

# Display the plot
plt.show()

ผลลัพธ์

มันจะสร้างผลลัพธ์ต่อไปนี้ -

วิธีการพล็อตแถบแนวนอนหลายอันในแผนภูมิเดียวด้วย matplotlib?