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

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

python繪制柱狀圖的方法_python

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

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

繪制數(shù)據(jù)系列的柱狀圖

import numpy as np
import matplotlib.pyplot as plt
import os #導(dǎo)入os庫

x=np.linspace(0, 10, 30)#產(chǎn)生0-10之間30個(gè)元素的等差數(shù)列
noise=np.random.randn(30)#產(chǎn)生30個(gè)標(biāo)準(zhǔn)正態(tài)分布的元素
y1=x**2+2*noise #//產(chǎn)生疊加噪聲的數(shù)據(jù)系列1
y2=x**1+2*noise #產(chǎn)生疊加噪聲的數(shù)據(jù)系列2
y3=x**1.5+2*noise #產(chǎn)生疊加噪聲的數(shù)據(jù)系列3\n"
plt.rcParams['font.sans-serif'] = 'SimHei'#設(shè)置字體為SimHei顯示中文\n",
plt.rc('font', size=14)#設(shè)置圖中字號(hào)大小\n",
plt.figure(figsize=(6,4))#設(shè)置畫布\n",
plt.bar(x,y1,width = 0.2)#繪制柱狀圖\n",
plt.title('柱狀圖')#添加標(biāo)題\n",
plt.xlabel('x')#添加橫軸標(biāo)簽\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()

繪制數(shù)據(jù)系列和的柱狀圖

import numpy as np
import matplotlib.pyplot as plt
import os #導(dǎo)入os庫

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

plt.figure(figsize=(6,4))#設(shè)置畫布\n",
plt.bar([0,1,2],[np.sum(y1),np.sum(y2),np.sum(y3)],width = 0.5)#繪制柱狀圖\n",
plt.title('柱狀圖')#添加標(biāo)題\n",
labels=['y1的和','y2的和','y3的和']
plt.xlabel('數(shù)據(jù)系列y')#添加橫軸標(biāo)簽\n",
plt.ylabel('數(shù)據(jù)系列y的和')#添加縱軸標(biāo)簽\n",
plt.xticks(range(3),labels)#橫軸刻度與標(biāo)簽對準(zhǔn)\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))#設(shè)置畫布\n",
plt.bar(x,y1,width = 0.2)#繪制柱狀圖\n",
plt.bar(x,y2,width = 0.2,bottom=y1)#繪制柱狀圖 ?這里將堆疊到y(tǒng)1上方。
plt.title('堆疊柱狀圖')#添加標(biāo)題\n",
plt.xlabel('x')#添加橫軸標(biāo)簽\n",
plt.ylabel('y')#添加縱軸標(biāo)簽\n",
plt.legend(['y1','y2'])

plt.figure(figsize=(6,4))#設(shè)置畫布\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('堆疊柱狀圖')#添加標(biāo)題\n",
plt.xlabel('x')#添加橫軸標(biāo)簽\n",
plt.ylabel('y')#添加縱軸標(biāo)簽\n",
plt.legend(['y1','y2','y3'])

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

繪制水平柱狀圖

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

繪制水平堆疊柱狀圖

plt.figure(figsize=(6,4))#設(shè)置畫布\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('水平柱狀圖')#添加標(biāo)題\n",
plt.xlabel('y')#添加縱軸標(biāo)簽\n",
plt.ylabel('x')#添加橫軸標(biāo)簽\n",

與bar 方法類似, barch 方法使用left 參數(shù)設(shè)置數(shù)據(jù)左側(cè)的起點(diǎn),將一個(gè)數(shù)據(jù)設(shè)置為另一個(gè)數(shù)據(jù)系列的left參數(shù),可以將2個(gè)或多個(gè)數(shù)據(jù)系列鹽水瓶方向堆疊起來。

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

欄目分類
最近更新