效果图:这里在搞怪哈,大家不要学我,画单色就好
主要步骤:
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("--------------------------------------------------------")