线型及颜色控制

参考资料: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

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐