日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

python繪制柱狀圖的方法_python

作者:長安蔡徐坤 ? 更新時間: 2022-09-29 編程語言

本文實例為大家分享了python繪制柱狀圖的具體代碼,供大家參考,具體內容如下

繪制數據系列的柱狀圖

import numpy as np
import matplotlib.pyplot as plt
import os #導入os庫

x=np.linspace(0, 10, 30)#產生0-10之間30個元素的等差數列
noise=np.random.randn(30)#產生30個標準正態分布的元素
y1=x**2+2*noise #//產生疊加噪聲的數據系列1
y2=x**1+2*noise #產生疊加噪聲的數據系列2
y3=x**1.5+2*noise #產生疊加噪聲的數據系列3\n"
plt.rcParams['font.sans-serif'] = 'SimHei'#設置字體為SimHei顯示中文\n",
plt.rc('font', size=14)#設置圖中字號大小\n",
plt.figure(figsize=(6,4))#設置畫布\n",
plt.bar(x,y1,width = 0.2)#繪制柱狀圖\n",
plt.title('柱狀圖')#添加標題\n",
plt.xlabel('x')#添加橫軸標簽\n",
plt.ylabel('y1')#添加y軸名稱\n",
path='D:\\my_python\\ch3\\output\\'
if not os.path.exists(path):
? os.makedirs(path)
plt.savefig(path+'scatter.jpg')#保存圖片
plt.savefig(path+'plot.jpg')#保存圖片\n",
plt.show()

繪制數據系列和的柱狀圖

import numpy as np
import matplotlib.pyplot as plt
import os #導入os庫

x=np.linspace(0, 10, 30)#產生0-10之間30個元素的等差數列
noise=np.random.randn(30)#產生30個標準正態分布的元素
y1=x**2+2*noise #//產生疊加噪聲的數據系列1
y2=x**1+2*noise #產生疊加噪聲的數據系列2
y3=x**1.5+2*noise #產生疊加噪聲的數據系列3\n"
plt.rcParams['font.sans-serif'] = 'SimHei'#設置字體為SimHei顯示中文\n",
plt.rc('font', size=14)#設置圖中字號大小\n",

plt.figure(figsize=(6,4))#設置畫布\n",
plt.bar([0,1,2],[np.sum(y1),np.sum(y2),np.sum(y3)],width = 0.5)#繪制柱狀圖\n",
plt.title('柱狀圖')#添加標題\n",
labels=['y1的和','y2的和','y3的和']
plt.xlabel('數據系列y')#添加橫軸標簽\n",
plt.ylabel('數據系列y的和')#添加縱軸標簽\n",
plt.xticks(range(3),labels)#橫軸刻度與標簽對準\n",


path='D:\\my_python\\ch3\\output\\'
if not os.path.exists(path):
? os.makedirs(path)
plt.savefig(path+'scatter.jpg')#保存圖片
plt.savefig(path+'plot.jpg')#保存圖片\n",
plt.show()

plt.figure(figsize=(6,4))#設置畫布\n",
plt.bar(x,y1,width = 0.2)#繪制柱狀圖\n",
plt.bar(x,y2,width = 0.2,bottom=y1)#繪制柱狀圖 ?這里將堆疊到y1上方。
plt.title('堆疊柱狀圖')#添加標題\n",
plt.xlabel('x')#添加橫軸標簽\n",
plt.ylabel('y')#添加縱軸標簽\n",
plt.legend(['y1','y2'])

plt.figure(figsize=(6,4))#設置畫布\n",
plt.bar(x,y1,width = 0.2)#繪制柱狀圖\n",
plt.bar(x,y2,width = 0.2,bottom=y1)#繪制柱狀圖\n",
plt.bar(x,y3,width = 0.2,bottom=y1+y2,color='red')#繪制柱狀圖\n",
plt.title('堆疊柱狀圖')#添加標題\n",
plt.xlabel('x')#添加橫軸標簽\n",
plt.ylabel('y')#添加縱軸標簽\n",
plt.legend(['y1','y2','y3'])

bar()方法的bottom參數指定了數據的“底”,通過將一個數據系列指定為另一個數據系列的bottom,可以將兩個或多個數據系列的柱狀圖堆疊起來。

繪制水平柱狀圖

plt.figure(figsize=(6,4))#設置畫布\n",
plt.barh(x, width=y1, height=0.2)
plt.title('水平柱狀圖')#添加標題\n",
plt.xlabel('y')#添加縱軸標簽\n",
plt.ylabel('x')#添加橫軸標簽"

繪制水平堆疊柱狀圖

plt.figure(figsize=(6,4))#設置畫布\n",
plt.barh(x, width=y1, height=0.2)
plt.barh(x, width=y2, height=0.2,left=y1)
plt.barh(x, width=y3, height=0.2,left=y1+y2,color='red')
plt.title('水平柱狀圖')#添加標題\n",
plt.xlabel('y')#添加縱軸標簽\n",
plt.ylabel('x')#添加橫軸標簽\n",

與bar 方法類似, barch 方法使用left 參數設置數據左側的起點,將一個數據設置為另一個數據系列的left參數,可以將2個或多個數據系列鹽水瓶方向堆疊起來。

原文鏈接:https://blog.csdn.net/weixin_44971879/article/details/125168694

欄目分類
最近更新