python-Matplotlib绘图
matplotlib的字体的家族(font-family)一共有五类字体,他们分别是serif,sans-serif,cursive,fantasy,monospace,下面介绍下常用的三类。
serif:衬线字体,宋体,Times News Romas属于这类字体
sans-serif:无衬线字体,黑体,Arial等都属于这类字体
monospace:等宽字体,网络web端用的比较多
查找matplotlib中字体的方法,修改字体
from matplotlib import pyplot as plt
import matplotlib
a=sorted([f.name for f in matplotlib.font_manager.fontManager.ttflist])
for i in a:
print(i)
plt.rcParams['font.family'] = 'Dejavu serif ' # 修改字体
绘图标记plt.plot(marker)
plt.plot(x,y,'o',ms='20',mfc='None',mec='k')
'o'表示marker='o',可以直接写'o'或者marker='o'
ms表示marker size
mfc表示markerfacecolor
mec表示markeredgecolor
'o:r '表示marker='o',线型linestyle=':',color='red'
绘图特性【在plot里设置】
线型(linestyle 或者 ls)
'--' 或者 dashed //破折线
'-' //默认实线
':' 或者 dotted //虚线
'-.' 或者 dashdotted //点划线
线宽(linewidth 或者 lw)
lw = '5'
线的颜色(color 或者 c)
y 黄色
g 绿色
r 红色
k 黑色
b 蓝色
c 青色
m 品红色
设置x,y坐标轴取值范围
plt.xlim(xmin,xmax)
plt.ylim(ymin,ymax)
设置x,y轴刻度
plt.xticks(np.arange([xmin,xmax+min,dx]))
plt.yticks(np.arange([ymin,ymax+min,dy])) //dx,dy为间隔,min为一个不超过dx,dy的极小的数字
设置四边坐标轴都有刻度且方向向里
plt.rcParams可以修改pyplot的默认参数
plt.rcParams['xtick_direction']='in'
plt.rcParams['ytick_direction']='in'
plt.tick_Params(top = 'on',right = 'on',which='both')
这几行顺序不可颠倒,写在程序最开始的地方
python-numpy
xx = np.array([1,10])
yy = np.array([20,30])
xx = np.arange(xmin,xmax,dx)
yy = np.arange(ymin,ymax,dy)
xx = np.array([0,10])
yy = np.arange(ymin,ymax,dy)
xx = np.array([1,2,3,4,5,6,7,8,9,10])
yy = np.array([9,8,7,6,5,4,3,2,1,0])
array接数组
arange接min,max,dx
设置ticks时max需要加上一个极小的数字
plot(x,y)后设置
plt.title('',loc='')
plt.xlabel('',fontsize = '10',loc='')
plt.ylabel(''.fontsize = '10'.loc='')
loc='left'、'right'、'center'(默认)
画网格线
plt.grid(which = 'both', axis = 'both',c='r', ls='-', lw='5')
axis = 'x',表仅在x方向画网格线
创建画布
plt.figure(figsize=(20,10),dpi =300)
设置图片最外面的边框粗细
fig,ax = plt.subplots(lw=3)
设置字母为正体
在字母前加一个\mathrm{H} #让H变正
marker符号
' . ' 点
' o ' 实心圆
' v ' 下三角
' ^ ' 上三角
' < ' 左三角
' > ' 右三角
' s ' 正方形
' 8 ' 八边形
' p ' 五边形
' P ' 粗加号
' + ' 加号
' * ' *号
' h ' 六边形
' H ' 六边形
' x ' 乘号
' X ' 粗乘号
' D ' 菱形
' d ' 瘦菱形
' | ' 竖线
' _ ' 横线
' $ ... $ ' f
为图画添加文字
plt.text(x,y,'text' ,color= 'k' ,fontsize='20'或者size='small'//‘large’, fontweight='bold',rotation=degrees)