一、数据准备
1、python 内置函数 range
创建一个整数列表,只限于整数
range(start, stop, step)
计数从start开始,默认从0开始,stop结束,但不包含stop,step为步长,默认为1
2. numpy中的arange
语法与range类似,由开始、结束、步长组成,步长默认为1
import numpy as np
print (np.arange(0,1,0.1))
输出:
[ 0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]
3. numpy中的linspace模块,
np.linspace(start, end, num, endpoint=True)
计数从start开始,默认从0开始,stop结束, num表示总个数,endpoint默认为false,设置不包含终值
import numpy as np
print(np.linspace(0, 1, 10,endpoint=False))
print(np.linspace(0, 1, 10,endpoint=True))
输出:
[ 0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]
[ 0. 0.11111111 0.22222222 0.33333333 0.44444444 0.55555556
0.66666667 0.77777778 0.88888889 1. ]
二、图的类型 (绘制折线图、散点图,细节会在第三部分讲解)
1.折线图
#绘制折线图
import matplotlib.pyplot as plt
month = [1,2,3,4,5,6]
sales = [10,12,12.4,13,16,18]
plt.plot(month,sales)
plt.title("Sales for the first 6 months") #图名
plt.xlabel("month")#x轴标签
plt.ylabel("sales")#y轴标签
plt.tick_params(axis='both')#x,y轴都有刻度
plt.savefig('.//result//3.1.png')#保存图片,一定要在show之前保存图片,否则保存的图片就为空白
plt.show(
2. 散点图
plt.scatter(month,sales)
import matplotlib.pyplot as plt
month = [1,2,3,4,5,6]
sales = [10,12,12.4,13,16,18]
plt.scatter(month,sales)
plt.title("Sales for the first 6 months") #图名
plt.xlabel("month")#x轴标签
plt.ylabel("sales")#y轴标签
plt.tick_params(axis='both')#x,y轴都有刻度
plt.savefig('.//result//3.2.png')#保存图片,一定要在show之前保存图片,否则保存的图片就为空白
plt.show()
总结:
import matplotlib.pyplot as plt
#绘制折线图
plt.plot(x,y)
#绘制散点图
plt.scatter(x,y)
三、图的细节问题处理
改变如图所示
- 图表名的属性
- 折线的属性
- 坐标轴的属性
- 刻度值的属性
1.图表名的属性(title)
- fontsize设置字体大小,默认12,可以写字体大小或参数,可选参数 ['xx-small', 'x-small', 'small', 'medium', 'large','x-large', 'xx-large']
- fontweight设置字体粗细,可选参数 ['light', 'normal', 'medium', 'semibold', 'bold', 'heavy', 'black']
- fontstyle设置字体类型,可选参数[ 'normal' | 'italic' | 'oblique' ],italic斜体,oblique倾斜
- verticalalignment设置水平对齐方式 ,可选参数 : 'center' , 'top' , 'bottom' ,'baseline'
- horizontalalignment设置垂直对齐方式,可选参数:left,right,center
- rotation(旋转角度)可选参数为:vertical,horizontal 也可以为数字
- alpha透明度,参数值0至1之间
plt.title('Graph',fontsize='large',fontweight='bold') 设置字体大小与格式
plt.title('Graph',color='blue') 设置字体颜色
plt.title('Graph',loc ='left') 设置字体位置
2.折线属性(plot)
颜色
c 青红(cyan) | r 红色(red) | m 品红(magente) | g 绿色(green) |
y 黄色(yellow) | k 黑色(black) | w 白色(white) | b 蓝色(blue) |
#绘制红色折线
plt.plot(month,sales,color = 'r')
折线粗细(linewidth)
plt.plot(month,sales,linewidth = 2)
在plt.plot加入如下参数时,改变折线形式
- 直线 | -- 虚线 | -. 一横一点 | : 细小虚线 | s 方形 | o 圆形 | D 菱形 |
h 六角形 | H 六角形 | * 星号 | + 加号 | x x形 | d 菱形 | p 五角形 |
plt.plot(month,sales,'-.',color ='r)
3.坐标轴的属性
设置坐标轴粗细
#设置坐标轴粗细
ax=plt.gca();#获得坐标轴的句柄
ax.spines['bottom'].set_linewidth(2);###设置底部坐标轴的粗细
ax.spines['left'].set_linewidth(2);####设置左边坐标轴的粗细
ax.spines['right'].set_linewidth(2);###设置右边坐标轴的粗细
ax.spines['top'].set_linewidth(2);####设置上部坐标轴的粗细
设置横纵坐标的名称以及对应字体格式(xlabel,ylabel)
-
#参数值的调换参考图标名的可选参数 font= {'family' : 'Times New Roman','weight' : 'normal','size' : 30,} plt.xlabel('round',font) plt.ylabel('value',font)
坐标轴范围设置,两种,分别是xlim,ylinm 和 axis
plt.xlim(-6,6)
plt.ylim(-500,500)
plt.axis([xmin, xmax, ymin, ymax])
4.坐标轴刻度属性
plt.tick_params(axis='both',labelsize = 15)#x,y轴都有刻度
将以上介绍的放在一个代码中,实现设置属性的功能
#绘制折线图
import matplotlib.pyplot as plt
month = [1,2,3,4,5,6]
sales = [10,12,12.4,13,16,18]
#设置折线属性
plt.plot(month,sales,'-.',color = 'r',linewidth = '4')
#设置图名属性
plt.title("Sales for the first 6 months",fontsize = 'large',fontweight = 'bold',color = 'b')
#设置坐标轴属性
font= {'family' : 'Times New Roman','weight' : 'normal','size' : 30}
plt.xlabel("month",font)#x轴标签
plt.ylabel("sales",font)#y轴标签
#设置坐标轴粗细
ax=plt.gca();#获得坐标轴的句柄
ax.spines['bottom'].set_linewidth(2);###设置底部坐标轴的粗细
ax.spines['left'].set_linewidth(2);####设置左边坐标轴的粗细
ax.spines['right'].set_linewidth(2);###设置右边坐标轴的粗细
ax.spines['top'].set_linewidth(2);####设置上部坐标轴的粗细
#设置坐标轴刻度的属性
plt.tick_params(axis='both',labelsize = 15)
plt.savefig('.//result//3.5.png')#保存图片,一定要在show之前保存图片,否则保存的图片就为空白
plt.show()
虽然很丑,但是将图名、坐标轴等所有属性都进行了设置
最后,推荐一波自己的公众号,Python机器学习进阶之路