春水碧于天 画船听雨眠

通过全局参数设置字体

plt.rcParams 是matplotlib库中的一个字典,用于存储全局配置参数。可以通过 plt.rcParams[ ] 进行修改。如下设置默认英文字体为Times New Roman,中文字体为宋体。

import matplotlib.pyplot as plt
plt.rcParams['font.family'] = ['Times New Roman','SimSun'] # 顺序必须新罗马在前
# 注意:如果是中英文混合,这个方法会失效

画图

用fig, ax = plt.subplots(rows, cols, figsize=(width, height))命令获得figure画布和axes轴域。其中,plt.subplots()的参数在不需要指定的情况下可以省略。之后,利用ax.plot(x, y)进行绘图。可以指定标记marker,线型,标记尺寸markersize,颜色color,线宽linewidth,图例label(添加ax.legend()语句显示图例)等信息。其它常用的marker见下面表格。

## 单子图
fig, ax  = plt.subplots(1, 1, figsize=(4, 3)) # 子图为1行1列,并指定画幅大小
# ax.tick_params(direction='inout') # 可设置刻度in,out, inout
ax.plot(holes, abs(averages[j, :]), 's--', markersize=2, color='r') # 不需要hold on
ax.plot(holes, abs(averages[j+6, :]), '*--', markersize=2, color='r')
ax.plot(holes, abs(averages[j+12, :]), '+--', markersize=2, color='r')

## 多子图
fig, axs = plt.subplot(1, 3, figsize=(15, 5)) # 可以画拼图
axs[0].plot(x1, y1)
axs[1].plot(x2, y2)
axs[2].plot(x3, y3)

MarkerDescription图形
'o'circle圆形
'v'triangle_down倒三角
'^'triangle_up正三角
'<'triangle_left

左三角

'>'triangle_right右三角
's'square方形
'*'star星号
'+' 'p'plus加号
'D' 'd'diamond菱形

 格式调整

# 调格式
ax.set(xlim=(250, 1000), xticks=holes)
ax.set(ylim=(0, 6), yticks=np.linspace(0, 6, 7)) # np.linspace(起,终,个数)
ax.tick_params(axis='both', which='major', labelsize=20)
# 添加label, title, legend
ax.set_xlabel('孔数', fontsize=20)
ax.set_ylabel('直径磨损量(mm)', fontsize=20)
ax.set_title('S30F0.2', fontsize=20, fontweight='bold')
ax.legend(['钴含量6%', '钴含量8%', '钴含量9%'], fontsize=8, loc='upper left')
ax.grid(True)
# 输出、显示
plt.savefig('S30F0.2.svg', dpi=200, bbox_inches='tight')
plt.show()

另外一个例子

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = ['Times New Roman','SimSun']

CPKs = np.loadtxt('./CPK.txt')

fig, ax  = plt.subplots(figsize=(8, 4))
params = np.linspace(0, 5, 6)
# ax.tick_params(direction='inout')
# 画图
row = np.linspace(0, 15, 6, dtype=np.int8)
print(row)
ax.plot(params, CPKs[row, 3], 's-', linewidth=2, markersize=6, color='b')
ax.plot(params, CPKs[row+1, 3], 'd--', markersize=6, color='k')
ax.plot(params, CPKs[row+2, 3], '*-', linewidth=1, markersize=6, color='r')
# 调格式

plt.xticks(range(6), ['S30F0.2', 'S30F1.8', 'S30F2.4', \
               'S150F0.2', 'S150F2.4', 'S150F6'])
ax.set(ylim=(0, 5), yticks=np.linspace(0, 5, 6))
ax.tick_params(axis='both', which='major', labelsize=18)
# 添加label, title, legend
ax.set_xlabel('钻孔参数', fontsize=18)
ax.set_ylabel('CPK', fontsize=18)
# ax.set_title('各参数下不同材质钻头钻孔CPK对比(H500)', fontsize=18, fontweight='bold')
ax.legend(['材质A', '材质B', '材质C'], fontsize=12, loc='upper left')
ax.grid(True)

plt.savefig('./H500.svg', dpi=100, bbox_inches='tight')
plt.show()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值