python画条形图实例
来源:脚本之家    时间:2022-04-20 18:45:06

本文实例为大家分享了python画条形图的具体代码,供大家参考,具体内容如下

在做毕设的过程中有些数据用表格来展现,会很难看出数据之间的差别,凸显不出数据的特点,所以想制作一个条形图,这里特地记录下,已备以后用到。

import numpy as np
import matplotlib.pyplot as plt
import matplotlib
#指定默认字体
matplotlib.rcParams["font.sans-serif"] = ["FangSong"]
matplotlib.rcParams["font.family"]="sans-serif"
 
c101= (8,7,3,7,10,4,11,8,11,10,8,9)
c102= (21,21,24,25,16,17,11,24,24,25,36,33)
c103= (4,4,10,3,9,8,12,2,4,5,2,6)
c104= (1,5,1,3,2,3,3,3,6,5,1,0)
c105= (3,1,0,1,3,3,1,2,0,0,0,0)
c106= (1,2,0,0,1,1,0,0,1,1,0,0)
c107= (1,0,1,0,0,1,0,0,0,0,0,0)
c108= (0,1,0,0,0,2,1,1,0,1,0,0)
c109= (1,0,1,1,0,0,1,1,0,0,0,0)
 
ind = np.arange(0,24,2) # the x locations for the groups
width = 0.2  # the width of the bars
 
fig,ax = plt.subplots()
rects1 = ax.bar(ind + width, c101, width, color="SkyBlue",align="edge", label="101")
rects2 = ax.bar(ind + 2*width, c102, width,color="IndianRed",align="edge", label="102")
rects3 = ax.bar(ind + 3*width, c103, width, color="Cyan",align="edge", label="103")
rects4 = ax.bar(ind + 4*width, c104, width, color="Magenta",align="edge", label="104")
rects5 = ax.bar(ind + 5*width, c105, width, color="Purple",align="edge", label="105")
rects6 = ax.bar(ind + 6*width, c106, width, color="Green",align="edge", label="106")
rects7 = ax.bar(ind + 7*width, c107, width, color="Yellow",align="edge", label="107")
rects8 = ax.bar(ind + 8*width, c108, width, color="Blue",align="edge", label="108")
rects9 = ax.bar(ind + 9*width, c109, width, color="Orange",align="edge", label="109")
 
# Add some text for labels, title and custom x-axis tick labels, etc.


#ax.set_title("Scores by group and gender")
plt.xticks(ind,("1班", "2班", "3班", "4班", "5班","6班","7班","8班","9班","10班","11班","12班"))
ax.legend(loc="upper center")
 
plt.show()
fig.savefig("./test77.jpg")

竖起来的

%matplotlib notebook
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib
#指定默认字体
matplotlib.rcParams["font.sans-serif"] = ["FangSong"]
matplotlib.rcParams["font.family"]="sans-serif"
#解决负号"-"显示为方块的问题
matplotlib.rcParams["axes.unicode_minus"] = False
data = [[8, 21, 4, 1, 3, 1, 1, 0, 1],
        [7,21,4,5,1,2,0,1,0], 
        [3,24,10,1,0,0,1,0,1],
        [7,25,3,3,1,0,0,0,1], 
        [10,16,9,2,3,1,0,0,0], 
        [4,17,8,3,3,1,1,2,0], 
        [11,11,12,3,1,0,0,1,1], 
        [8,24,2,3,2,0,0,1,1], 
        [11,24,4,6,0,1,0,0,0], 
        [10,25,5,5,0,1,0,1,0], 
        [8,36,2,1,0,0,0,0], 
        [9,33,6,0,0,0,0,0]]
df = pd.DataFrame(data,
                 index=["1班","2班","3班","4班","5班","6班","7班","8班","9班","10班","11班","12班"],
                 columns=pd.Index(["101","102","103","104","105","106","107","108","109"]),
                 )


df.plot(kind="barh",figsize=(5,8)) 


plt.show()
#fig.savefig("./test2.jpg")

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

关键词: 大家参考 希望大家 为大家分享

X 关闭

X 关闭