线型及颜色控制

参考资料:overflow:线条标记样式

标记:marker

================    ===============================
character           description
================    ===============================
   -                solid line style
   --               dashed line style
   -.               dash-dot line style
   :                dotted line style
   .                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
================    ===============================

在这里插入图片描述

颜色

参考资料csdn:matplot画图颜色控制

支持16进制、rgb

线条:

实线:	 '-'
虚线:	 '--'
虚点线  '-.'
点线:  ':'
点:    '.' 

总结:

画图参数属性:
marker :数据点标记,可选样式:* > d h 等
color:线条颜色,支持16进制颜色
linewidth:线条宽度
linestyle:线条样式,可选参数 - 实线 -- 虚线等
legend:图例标签:需要设置相应的句柄,legend([图形句柄],[标签内容])
添加网格:plt.grid(True)

对数坐标

plt.figure()
plt.plot(x,y,marker='o')
plt.semilogx()    # 将x轴设置为对数坐标轴
plt.semilogy()    # 将y轴设置为对数坐标轴
plt.semilog()	  # x轴和y轴都设置为对数坐标

例子:绘制电阻率联合剖面曲线

# code:utf-8  	Windows 7
import numpy as np
import matplotlib.pyplot as plt
file = open('a.txt')
a = np.loadtxt(file)
x = a[:,0]
rhos_a = a[:,1]
rhos_b = a[:,2]
plt.rcParams['font.sans-serif'] = ['SimHei'] # 解决中文显示问题
fig1, = plt.plot(x,rhos_a,marker = '*',color = 'dodgerblue',linewidth = '1',linestyle = '--')
fig2, = plt.plot(x,rhos_b,marker = '>',color = 'darkorange',linewidth = '1')
plt.suptitle('联合剖面曲线')
plt.xlabel('AB/2')
plt.ylabel('视电阻率ρ')
plt.semilogy()  #纵坐标设为对数坐标
plt.legend([fig1,fig2],[r'$\rho_s^A$',r'$\rho_s^B$']) # legend 
plt.grid(True)  # 添加网格,true 首字母大写
plt.savefig('out.png')
plt.show()

# 画图参数属性:
# marker :数据点标记,可选样式:* > d h 等
# color:线条颜色,支持16进制颜色
# linewidth:线条宽度
# linestyle:线条样式,可选参数 - 实线 -- 虚线等
# legend:图例标签:需要设置相应的句柄,legend([图形句柄],[标签内容])
# 添加网格:plt.grid(True)

a.txt

30	647.593	756.685
30	646.846	755.919
40	674.356	699.722
45	755.408	675.673
50	768.833	609.417
55	752.433	475.675
60	858.722	367.74
65	858.254	366.419
70	827.981	387.31
75	847.18	361.839
80	796.071	354.929
85	799.654	375.272
90	674.784	345.809
95	360.643	330.98
100	249.472	437.111
105	300.273	768.185
110	353.153	990.019
115	375.154	1047.769
120	369.343	939.329
125	286.48	737.133
130	340.893	1014.978
135	397.018	1352.213
140	383.821	1503.547
145	379.992	1405.801
150	516.232	1286.488
155	597.023	1309.274
160	619.96	1226.996
165	698.793	1518.803

在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐