matplotlib 常用绘图

matplotlib 常用绘图

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np

# 处理中文显示问题
plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']
# plt.rcParams['axes.unicode_minus'] = False

# 2X2布局建立坐标
fig, axs = plt.subplots(2, 2)
ax1 = axs[0][0]
ax2 = axs[0][1]
ax3 = axs[1][0]
ax4 = axs[1][1]

# 数据
data = np.random.randn(10).cumsum()

# 普通绘图
ax1.plot(data, 'r--.')
# 图例和标题
ax2.plot(data, 'bo:', drawstyle='steps-mid', label='steps')
ax2.plot(data, 'r-', drawstyle='default', label='default')
ax2.legend(loc='best') # 这个方法必须调用
ax2.set_title('老标题党了')
# 刻度
ax3.plot(data)
ax3.set_xticks([0, 3, 6, 8]) # x轴
ax3.set_xticklabels(['a', 'b', 'c', 'd'], rotation=30, fontsize='small')
ax3.set_yticks([-5, 5]) # y轴
ax3.set_yticklabels(['y1', 'y2'], rotation=30, fontsize='small')
ax3.set_xlabel('xlabel')
ax3.set_ylabel('ylabel')
# 注释+箭头标记
ax4.plot(data)
ax4.annotate('an1', 
             (2, data[2]),
            arrowprops=dict(facecolor='red', headwidth=4, width=2, headlength=4))
ax4.annotate('an2', 
             (6, data[6]),
            arrowprops=dict(facecolor='red', headwidth=4, width=2, headlength=4))

# 保存图像到文件
fig.savefig('mpt.png', dpi=400, bbox_inches='tight') # 分辨率,剪除周围空白
# 保存图形到内存
from io import BytesIO
buffer = BytesIO()
plt.savefig(buffer)
plot_data = buffer.getvalue() # 图像二进制值
print(plot_data)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值