【基础绘图】02.柱状图

效果图:这里在搞怪哈,大家不要学我,画单色就好

主要步骤:

1. 数据准备:随机生成一维数组x和二维数组y

2. 图像绘制:主要包括设置坐标轴的最大最小值、坐标轴刻度、坐标轴刻度名称、坐标轴名称、网格线及图名。

详细代码:着急的直接拖到最后有完整代码

步骤一:导入库包及图片存储路径并设置中文字体为宋体,西文为新罗马(没有的库包要先下好奥)

###############################################################################
# 导入库及文件
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import rcParams

###############################################################################
# 设置西文字体为新罗马字体,中文宋体
config = {
            "font.family": 'serif',
            "font.size": 12,
            "mathtext.fontset": 'stix',
            "font.serif": ['SimSun'],
         }
rcParams.update(config)
rcParams['axes.unicode_minus']=False

步骤二:设置图片输出路径及生成随机数组

###############################################################################
figpath = r'H:/00.csdn/02fig/'
# 创建随机数数组
x = range(1, 11, 1)     # 一维整数数组,注意11取不到
y = np.random.randint(1, 5, size=10)      # 二维随机数数组

步骤三:绘制主图

###############################################################################
# 绘制图像
colors = ['#FF6B6B', '#77DD77', '#51A6D8', '#FFD700', '#DA70D6', 
          '#20B2AA', '#FF8243', '#1E90FF', '#9370DB', '#FF69B4', ]  #颜色列表

fig = plt.figure(figsize=(15, 8))   # 创建画布
ax = fig.add_axes([0.1, 0.6, 0.6, 0.4]) # 安排子图位置

ax.bar(x, y, width=0.8, color=colors, edgecolor="white", linewidth=0.7) #根据上边颜色化成七彩图(这边不推荐哈)
# ax.bar(x, y, width=0.8, color='b', edgecolor="white", linewidth=0.7) #绘制单色

步骤四:设置图中信息并添加网格线

# 设置图中信息
# xlim,ylim:设置x轴y轴显示得最大最小值
# xticks,yticks: 设置坐标轴刻度,可控制隔几个标注,本图为两个一标
# xticklabels,yticklabels:设置坐标轴刻度名称,维度要和xticks,yticks一致奥
# xlabel,ylabel:坐标轴名称
# title:图名
xlabels = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']    # x轴标签
ylabels = np.arange(0, 6, 1)     #y轴标签
ax.set( xlim=(0, 11), xticks=x, xticklabels=xlabels, xlabel = 'x轴',
        ylim=(0, 5 ), yticks=ylabels, yticklabels=ylabels, ylabel = 'y轴',
        title='图名')

# 添加网格线
ax.grid(color = 'gray', linestyle = '--', linewidth = 0.5)

步骤五:保存图像

###############################################################################
# 输出并保存图像
plt.savefig(figpath+'02_简单柱状图.png', bbox_inches = 'tight', dpi=600, format='png')
plt.show()

完整代码:

###############################################################################
# 导入库及文件
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import rcParams

###############################################################################
# 设置西文字体为新罗马字体,中文宋体
config = {
            "font.family": 'serif',
            "font.size": 12,
            "mathtext.fontset": 'stix',
            "font.serif": ['SimSun'],
         }
rcParams.update(config)
rcParams['axes.unicode_minus']=False

###############################################################################
figpath = r'H:/00.csdn/02fig/'
# 创建随机数数组
x = range(1, 11, 1)     # 一维整数数组,注意11取不到
y = np.random.randint(1, 5, size=10)      # 二维随机数数组

###############################################################################
# 绘制图像

colors = ['#FF6B6B', '#77DD77', '#51A6D8', '#FFD700', '#DA70D6', 
          '#20B2AA', '#FF8243', '#1E90FF', '#9370DB', '#FF69B4', ]  #颜色列表

fig = plt.figure(figsize=(15, 8))   # 创建画布
ax = fig.add_axes([0.1, 0.6, 0.6, 0.4]) # 安排子图位置

ax.bar(x, y, width=0.8, color=colors, edgecolor="white", linewidth=0.7) #根据上边颜色化成七彩图(这边不推荐哈)
# ax.bar(x, y, width=0.8, color='b', edgecolor="white", linewidth=0.7) #绘制单色

# 设置图中信息
# xlim,ylim:设置x轴y轴显示得最大最小值
# xticks,yticks: 设置坐标轴刻度,可控制隔几个标注,本图为两个一标
# xticklabels,yticklabels:设置坐标轴刻度名称,维度要和xticks,yticks一致奥
# xlabel,ylabel:坐标轴名称
# title:图名
xlabels = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']    # x轴标签
ylabels = np.arange(0, 6, 1)     #y轴标签
ax.set( xlim=(0, 11), xticks=x, xticklabels=xlabels, xlabel = 'x轴',
        ylim=(0, 5 ), yticks=ylabels, yticklabels=ylabels, ylabel = 'y轴',
        title='图名')

# 添加网格线
ax.grid(color = 'gray', linestyle = '--', linewidth = 0.5)

###############################################################################
# 输出并保存图像
plt.savefig(figpath+'02_简单柱状图.png', bbox_inches = 'tight', dpi=600, format='png')
plt.show()

############################################################################
print("--------------------------------------------------------")
print("--------------------------over--------------------------")
print("--------------------------------------------------------")
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值