如何在坐标图中设置内容及其字体大小
labels = ['b1',b2',b3']# 用于显示在legend上的label
plt.legend(labels, loc=0, ncol=1)# 显示legend在图像上
leg = plt.gca().get_legend()
ltext = leg.get_texts()
plt.setp(ltext, fontsize=20)# 设置legend内容的字体大小
设置图像坐标轴名称
# 设置坐标轴名称
plt.xlabel('Epoch')
plt.ylabel('Value')
设置横纵坐标显示刻度的大小
# 设置横纵坐标值字体大小
plt.tick_params(labelsize=20)
Matplotlib设置中文显示
在python脚本中动态设置matplotlibrc,这样就避免了更改配置文件的麻烦,方便灵活,例如:
from pylab import mpl
mpl.rcParams[‘font.sans-serif] = [‘SimHei’]
由于更改了字体导致显示不出负号,将配署文件中axes.unicode minus : True修改为Falsest就可以了,当然这而可以用代码来完成。
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['FangSong'] # 指定默认字体
mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题
axes指定要用的轴
在matplotlib的图中,默认有四个轴,两个横轴和两个竖轴,可以通过ax = plt.gca()方法获取,gca是‘get current axes’的缩写,获取图像的轴,总共有四个轴top、bottom、left和right。
由于axes会获取到四个轴,而我们只需要两个轴,所以我们需要把另外两个轴隐藏,把顶部和右边轴的颜色设置为none,将不会显示。
ax = plt.gca()
# 设置有边框和头部边框颜色为空right、top、bottom、left
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
Matplotlib绘制柱状图
简单的柱状图
labels = ('batch size=1',
'batch size=2',
'batch size=3',
'batch size=5',
'batch size=10',
'batch size=15',
'batch size=20',
'batch size=30',
'batch size=40',
'batch size=100',
'batch size=200',
'batch size=300'
)
y_pos = np.arange(len(labels))
performance = np.array([4432,3463,3013,3159,2419,2056,2436,2697,2414,2358,2652,2112])
error = np.random.rand(len(labels))
plt.barh(y_pos, performance, xerr=error, align='center', alpha=0.4) # 这里是产生横向柱状图 barh h--horizontal
#设置图片的题目
plt.title('时间花费(单位/s)',fontsize=20)
# 设置坐标轴名称
plt.xlabel('t/s',fontsize=22)
#plt.ylabel('Value',fontsize=20)
# 设置横纵坐标值字体大小
plt.yticks(y_pos, labels)
plt.tick_params(labelsize=22)
# 设置要显示的两个轴(去除最右和最顶部的轴)
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
plt.show()
高级一点的柱形图,点击这个链接->点我~~