matplotlib画图常用操作

1、图像显示中文

from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']

2、绘制多个子图
可以使用 subplot() 快速绘制,plt.subplot(321+i)表示绘制3x2排列的子图第1行的第i个图。要放到plt.plot(x,y)上面。

plt.subplot(321+1)
plt.plot(x, y)
plt.subplots_adjust(wspace=0, hspace=0.3)  # 调整子图间距

3、显示图例
用legend()显示图例,label写图例内容

#指定图例位置,1右上角,2左上角,3右下角,4左下角,0自动适应图像
plt.legend(loc=0,ncol=1)
plt.plot(x, y1, label="A-B:{}".format(j))

(2)图例放在表格外面

box = ax2.get_position()
ax2.set_position([box.x0, box.y0, box.width , box.width* 0.8])
ax2.legend(loc=‘center left’, bbox_to_anchor=(0.2, 1.12))

4、刻度
4.1将x轴刻度由x换为x1,倾斜40°,坐标刻度大小为16

plt.xticks(x,x1,rotation=40)
plt.tick_params(labelsize=16) 

4.2指定间距的刻度

from matplotlib.ticker import MultipleLocator
xmajorLocator = MultipleLocator(10) #将x轴主刻度标签设置为10的倍数
ymajorLocator = MultipleLocator(0.005) #将y轴主刻度标签设置为0.005的倍数
ax = plt.subplot(111)
ax.xaxis.set_major_locator(xmajorLocator)
ax.yaxis.set_major_locator(ymajorLocator)

4.3 显示网格

ax.xaxis.grid(True, which='major')  # x坐标轴的网格使用主刻度
ax.yaxis.grid(True, which='major')  # x坐标轴的网格使用主刻度

在这里插入图片描述

5、各种图的函数
5.1折线图
plt.plot(),每个节点处标记为*,线条为绿色。

plt.plot(x,y,marker='*',color='green')
plt.ylim(0,30)  #y轴的范围
plt.xlabel('the value of k')  #x轴标签
plt.ylabel('number') #y轴标签
plt.title('red vs green')  #折线图标题

5.2柱状图
用plt.bar()
5.3柱状图+折线图

ax1=plt.bar(x, y1,alpha=.7,color='g') #柱状图
ax2 = ax1.twinx()   #组合图必须加这个
ax2.plot(x, y2, 'r',ms=10#折线图

5.4散点图
plt.scatter()
5.5绘制双坐标折线图

fig = plt.figure(figsize=(10,5))
ax1 = fig.add_subplot(111)
ax1.plot(df['d'],df['策略1比例'],marker='o',  c='blue',ms='10',linewidth=2,label='Line1')
plt.yticks(x,('0%','20%','40%','60%','80%','100%'))  #将纵坐标轴刻度改为()内容
ax1.set_title("投资者用户数统计",fontdict={'weight': 'normal', 'size': 15})
ax2 = ax1.twinx()   #制作双坐标的关键
ax2.plot(df['d'], df['策略2费用'],marker='^',  c='red' , ms='10',ls='--',linewidth=2,label='Cost of strategy 2')
ax2.set_ylabel('Strategic cost',fontdict={'weight': 'normal', 'size': 15})
ax2.set_xlabel('Demand',fontdict={'weight': 'normal', 'size': 15})

5.6 plot()的内置参数
(1)节点符号
格式:marker=‘o’,
其他的符号表示为:’.’: point marker;’,’: pixel marker;‘o’: circle marker;‘v’: triangle_down marker;’^’: triangle_up marker;’<’: triangle_left marker;’>’: triangle_right marker;‘1’: tri_down marker;‘2’: tri_up marker;‘3’: tri_left marker;‘4’: tri_right marker;‘s’: square marker;‘p’: pentagon marker;’*’: star marker;‘h’: hexagon1 marker;‘H’: hexagon2 marker;’+’: plus marker;‘x’: x marker
;‘D’: diamond marker;‘d’: thin_diamond marker;’|’: vline marker;’_’: hline marker
符号相关参数:
mec 标记边缘颜色
mew 标记边缘宽度
mfc 标记面颜色,mfc=‘w’表示符号里面是白色的
ms 标记大小,ms=‘10’
(2)线型
格式:,ls=’–’ 为虚线
其他值:’-’, ‘–’, ‘-.’, ‘:’, ‘None’, ’ ', ‘’, ‘solid’, ‘dashed’, ‘dashdot’, ‘dotted’
(3)线型宽度
格式:linewidth=2
(4)颜色
格式: c=‘blue’
其他样式:
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值