【Python画图】Seaborn绘制直方图(histogram)(使用histplot) 以及 如何调整背景,修改图形颜色,添加文字注释等
如题。先给效果图,然后给代码,最后给详细参考。
·
文章目录
前言
创作开始时间:2021年3月30日23:08:29
如题。先给效果图,然后给代码,最后给详细参考。
效果图
个人觉得还可以。下面给出关键代码(具体数据就不给了)。
1、代码
# 这里是对画布的设置。num 是 数字或者字符串,是figure的名字。
# subplots是方便多个子图(只有一个图的时候写1,1就行)
fig, axes = plt.subplots(1, 1, num="stars",figsize=(13, 12))#, sharex=True)
# 使用画布背景。
plt.style.use('seaborn-darkgrid') #'seaborn-bright'
# 调色板,可以使用里面的颜色 color,还挺好看的
palette = plt.get_cmap('tab20c')#'Pastel2') # 'Set1'
print(f"{palette.colors} {len(palette.colors)}")#type:{type(palette)}
plt.subplot(1, 1, 1)
# 调用histplot作图
ax1 = sns.histplot(df["stars"], kde = True, bins = 100, shrink = 1, color = palette.colors[0], edgecolor = palette.colors[-1])#"none")#, element="step")# element = "poly") # cumulative = True)
# ax.invert_yaxis()
# plt.gca().invert_yaxis()
# newx = ax.lines[0].get_ydata()
# newy = ax.lines[0].get_xdata()
# # set new x- and y- data for the line
# ax.lines[0].set_xdata(newx)
# ax.lines[0].set_ydata(newy)
# plt.subplot(2, 1, 2)
# sns.distplot(df["stars"], kde = True, bins = 20)# element="step", fill=False)
# 给直方图添加文字注释(就是在每一个bar的上方加文字)
for p in ax1.patches:
if p.get_height() > 0:
ax1.annotate(
# 文字内容
text=f"{p.get_height():1.0f}",
# 文字的位置
xy=(p.get_x() + p.get_width() / 2., p.get_height()),
xycoords='data',
ha='center',
va='center',
fontsize=10,
color='black',
# 文字的偏移量
xytext=(0,7),
textcoords='offset points',
clip_on=True, # <--- important
)
# 紧密排版
plt.tight_layout()
# 保存图片
plt.savefig(os.path.join(cur_dir_path,"star.pdf"))
plt.show()
下面给出相关参考
plt.style.use
有关plt.style.use
所有的style类型,详见官网文档:
cmap
参考:
- How to convert a ListedColorMap to a list of colors? [duplicate]
- Choosing Colormaps in Matplotlib 所有的调色板都在这了。
如何修改histplot的edgecolor之类的颜色?
一开始是真不明白,后来仔细看了:
- Plot histogram with specific color, edge color and line width
- No outlines on bins of Matplotlib histograms or Seaborn distplots
- seaborn.histplot 官方文档
还要结合官方文档看,才知道,kwargs
表示的是,可以传递其他matplotlib函数的参数进来。这个有点厉害的,感觉seaborn确实做得可以,但是以前没看出来。
如何添加文字注释?
参考:
怎么样同时画histogram和density plot?
参考:
小结
以上
创作结束时间:2021年3月30日23:31:40
参考文献
其他不是很重要的参考:
更多推荐
已为社区贡献14条内容
所有评论(0)