python matplotlib一张图中绘制不同类型叠加图
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python matplotlib一张图中绘制不同类型叠加图相关的知识,希望对你有一定的参考价值。
from matplotlib.pyplot import *
# 直接从本地字库加载字体
myfont = matplotlib.font_manager.FontProperties(
fname='/Users/congyh/Downloads/方正书宋简体.ttf')
# 保证负号的正常显示
rcParams['axes.unicode_minus'] = False
node_num = [1, 2, 3, 4]
acc_rate = [1, 1.92, 2.46, 2.75]
train_time = [430, 224, 175, 156]
####### 绘制柱形图 #############
ax = subplot()
# 设置坐标轴刻度值是几的倍数
ax.xaxis.set_major_locator(MultipleLocator(1))
ax.yaxis.set_major_locator(MultipleLocator(50))
ax.set_xlabel(u'节点数', fontproperties=myfont) # 对于中文输入, 必须在输入前加u
ax.set_ylabel('time(s)')
bar(node_num, train_time, width=0.3)
# 在图中添加数据标签
for a,b in zip(node_num,train_time):
text(a, b+0.05, b, ha='center', va= 'bottom',fontsize=8)
legend()
####### 绘制折线图 ############
# 绘制叠加图的时候, 需要启用对称的坐标轴
ax2 = twinx()
# 设置y轴刻度是谁的倍数
ax2.yaxis.set_major_locator(MultipleLocator(.5))
ax2.set_ylabel('accelaration')
ax2.plot(node_num, acc_rate, color='Y', label='accelaration')
for a,b in zip(node_num, acc_rate):
text(a, b+0.05, b, ha='center', va= 'bottom',fontsize=8)
fig = gcf()
# 指定图片的dpi为600
fig.savefig('acc_rate.png', dpi=600)
以上是关于python matplotlib一张图中绘制不同类型叠加图的主要内容,如果未能解决你的问题,请参考以下文章
Matplotlib 在一张图中绘制多个条形图
如何在 matplotlib pandas 的一张图中组合两个文件的两个条形图
Matplotlib 绘制直方图、散点图
在 matplotlib 图中绘制平滑曲线
使用 python 中的 windrose 模块绘制带有风玫瑰的不同子图。在 matplotlib 中使用睡眠
Python Matplotlib 在条形图中绘制样本均值,具有置信区间,但看起来像箱形图