1. 程式人生 > >matplotlib簡單的條形圖應用

matplotlib簡單的條形圖應用

matplotlib簡單的條形圖應用——二手車銷量

用pandas從csv檔案中獲取資料

用到的庫:

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

二手車資料獲取:https://blog.csdn.net/qq_42776455/article/details/84872544 ,然後用pandas獲取csv檔案的內容:

data = pd.read_csv('second_car.csv',usecols=['carName'])
df = pd.DataFrame(data)
print(df)

在這裡插入圖片描述
統計寶馬,賓士的個數:

baoma = 0
benchi = 0
for carName in df["carName"]:
    if '寶馬' in carName:
        baoma += 1
    elif '賓士' in carName:
        benchi += 1

生成條形圖並儲存

# 設定中文字型和負號正常顯示
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['axes.unicode_minus'] = False

# 橫座標顯示的刻度值
lable_list = ['寶馬','賓士']

num_list = [baoma,benchi]
x = range(len(num_list))

# y軸取值範圍
plt.ylim(700,750)

plt.title("不同品牌汽車銷量")
plt.ylabel("銷量")
plt.xlabel("汽車品牌")

# 設定bars
bars = plt.bar(left=[index+0.1 for index in x],height=num_list,width=0.4,color='pink',alpha=0.8,edgecolor='black')
# plt.xticks() 引數1,x軸上對應的值,引數2:顯示的引數
plt.xticks([index+0.1 for index in x],lable_list)

# 設定文字
for bar in bars:
    height = bar.get_height()
    plt.text(bar.get_x()+ bar.get_width() / 2 , height+1 ,str(height),ha="center", va="bottom")
    

plt.savefig('01.png')
    
plt.show()

# plt.text()還可以設定其它的引數,比如:

# ha:horizontalalignment(水平對齊)
# va:verticalalignment(垂直對齊)
# fs:文字大小

效果:
在這裡插入圖片描述


第一次做圖,效果一般,多加學習。