Maplotlib绘图常见问题

如何在坐标图中设置内容及其字体大小

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内容的字体大小

设置坐标刻度、legend字体、label字体大小:

设置图像坐标轴名称

# 设置坐标轴名称
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()

高级一点的柱形图,点击这个链接->点我~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值