Python绘制柱状图并美化

python绘图合集

往期绘图合集
python绘制简单的折线图
python读取excel中数据并绘制多子图多组图在一张画布上
python绘制带误差棒的柱状图
python绘制多子图并单独显示
python读取excel数据并绘制多y轴图像


本期讲一下python绘制柱状图并使用不同颜色给柱子上色,设置柱子标签字体颜色


前言

柱状图是一种常见的数据可视化方式,它通常用于展示不同类别或不同时间点的数据之间的比较关系。通过柱状图,我们可以直观地看出不同类别或不同时间点之间的数据差异,帮助我们更好地理解数据。

在Python中,可以使用Matplotlib库来绘制柱状图。Matplotlib是一个简单而强大的Python绘图库,可以绘制出各种类型的图表,包括柱状图、折线图、散点图等等。

在绘制柱状图之前,我们需要先准备好数据。通常情况下,我们会将数据存储在NumPy数组中,然后使用Matplotlib中的bar函数来进行绘图。


提示:以下是本篇文章正文内容,下面案例可供参考

一、简单创建柱状图

import matplotlib.pyplot as plt
import numpy as np

# 生成实验数据
x = np.array(['A', 'B', 'C', 'D', 'E'])
y = np.array([12, 28, 19, 23, 20])

# 绘制柱状图
fig, ax = plt.subplots()
ax.bar(x, y)

# 显示图表
plt.show()

在这里插入图片描述
上面的代码中,我们首先使用NumPy库生成了一组实验数据,然后使用Matplotlib中的bar函数绘制了一个最基本的柱状图。其中,x是柱子的标签,y是柱子的高度。

接下来,我们对柱状图进行美化,使其更加漂亮。我们可以修改柱子的颜色、添加标题和标签、调整字体风格和大小等等。

二、美化

1.引入库

import matplotlib.pyplot as plt
import numpy as np

# 生成实验数据
x = np.array(['A', 'B', 'C', 'D', 'E'])
y = np.array([12, 28, 19, 23, 20])

# 设置字体样式和大小
plt.rcParams['font.family'] = ['Times New Roman']  # 中文字体为楷体,英文字体为新罗马字体
plt.rcParams['font.size'] = 24  # 坐标轴字号为16


# 绘制柱状图,设置柱子颜色和标签
fig, ax = plt.subplots(figsize=(10, 6))
bar_plot = ax.bar(x, y, width=0.5, color=['#00BFFF', '#FF8C00', '#32CD32', '#FF69B4', '#BA55D3'])

# 添加标题、标签和图例
ax.set_title('Tempreture/℃', fontsize=24)  # 标题字号为20
ax.set_xlabel('city', fontsize='28')
ax.set_ylabel('value', fontsize='28')
ax.legend(bar_plot, labels=x, loc='best')

# 调整字体颜色、柱子宽度等其他参数
for rect in bar_plot:
    height = rect.get_height()
    ax.text(rect.get_x() + rect.get_width()/2., height+1, '%d' % int(height),
            ha='center', va='bottom', fontsize=20, color='blue',fontname='Times New Roman')  # 字体颜色蓝色
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
ax.tick_params(axis='x', direction='out', length=6, width=2)
ax.tick_params(axis='y', direction='out', length=6, width=2)

# 显示图表
plt.show()

2.代码解读

上面的代码中,通过修改字体风格和大小、调整柱子颜色、添加标题和标签、调整字体颜色等方法,让柱状图更加漂亮。其中,我们使用了新罗马字体、蓝色字体颜色、五种不同颜色的柱子等。

三、 运行结果

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_58857684/article/details/130655315
今日推荐