温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

matplotlib中怎么自定义绘制柱形图

发布时间:2021-07-29 15:48:09 来源:亿速云 阅读:184 作者:Leah 栏目:大数据

matplotlib中怎么自定义绘制柱形图,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.read_excel("D:\我的文档\jupyter notebook.xlsx")
df

matplotlib中怎么自定义绘制柱形图

sns.set(style = "white", font_scale = 1.2)
# 解决中文乱码
plt.rcParams[ "font.sans-serif"] = "simhei"

# 设置字体及其大小
font1 = {"family" : "simhei",
         "weight" : "normal",
         "size"   : 18}

# 数透
region_pivot = pd.pivot_table(df, values="总评成绩", index="课程性质", aggfunc='count').reset_index().sort_values(ascending=True,by="总评成绩")
# 设置画布大小
f, ax = plt.subplots(figsize=(8, 6))

# 绘制条形图
barh = plt.barh(region_pivot["课程性质"].values,region_pivot["总评成绩"].values, color='dodgerblue')
barh[-1].set_color("red")

# 给条形图添加数据标签
for y, x in enumerate(region_pivot["总评成绩"].values):
    plt.text(x + 60, y - 0.1, "%s" %x)
    
#去掉四周的外框线
ax.spines["right"].set_visible(False)
ax.spines["top"].set_visible(False)
ax.spines["bottom"].set_visible(False)
ax.spines["left"].set_visible(False)

# ax.set(title = "各种性质课程的总评成绩之和", xlabel = "总评成绩", ylabel = "课程性质")
# 设置维度的字体大小
plt.tick_params(labelsize = 15)
plt.xlabel("课程性质", font1)
plt.ylabel("总评成绩", font1)
plt.title("各种性质课程的总评成绩之和", font1)
# 保存输出可视化图片
f.savefig(r"C:\Users\QDM\Desktop\1.png", bbox_inches= "tight")

matplotlib中怎么自定义绘制柱形图

sns.set(style = "white", font_scale = 1.2)
# 解决中文乱码
plt.rcParams["font.sans-serif"] = "simhei"
# 设置字体及其大小
font1 = {"family" : "simhei","weight" : "normal","size" : 18,}
# 数透
region_pivot = pd.pivot_table(df, values = "总评成绩", index = "课程性质", aggfunc = "count").reset_index().sort_values(ascending = False, by="总评成绩")
# 设置画布大小
f, ax = plt.subplots(figsize=(12, 6))
# 绘制柱形图
bar = plt.bar(region_pivot["课程性质"].values, region_pivot["总评成绩"].values, color = "dodgerblue")
bar[0].set_color("green")
# 添加标签
for x, y in enumerate(region_pivot["总评成绩"].values):
    plt.text(x - 0.2, y + 60, "%s" %y)
#删除所有框线
ax.spines["right"].set_visible(False)
ax.spines["top"].set_visible(False)
ax.spines["bottom"].set_visible(False)
ax.spines["left"].set_visible(False)
# ax.set(title = "各种性质课程的总评成绩之和", xlabel = "课程性质", ylabel = "总评成绩")
plt.tick_params(labelsize = 14)
plt.xlabel("课程性质", font1)
plt.ylabel("总评成绩", font1)
plt.title("各种性质课程的总评成绩之和", font1)
f.savefig(r"C:\Users\QDM\Desktop\纵向柱形图.png", bbox_inches = "tight")

matplotlib中怎么自定义绘制柱形图

看完上述内容,你们掌握matplotlib中怎么自定义绘制柱形图的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI