前言:
- matplotlib
- pygal包 :生成适合在数字设备上显示的图表
15.1 安装matplotlib-os系统
系统自带,检查系统是否安装了matplotlib,可以打开一个终端会话并尝试导入matplotlib,若无:
$ pip install --user matplotlib
15.2 绘制简单的折线图 plot()
import matplotlib.pyplot as plt #导入模块pylot,指定别名plt
input_values = [1,2,3,4,5] #设置输入值
squares = [1,4,9,16,25]
plt.plot(input_values,squares,linewidth=5) # 参数linewidth 线条粗细
# 设置图表标题,并给坐标轴加上标签
plt.title("square numbers",fontsize=24) #标题
plt.xlabel("value",fontsize=14)
plt.ylabel("square of value",fontsize=14) #轴标题
# 设置刻度标记大小
plt.tick_params(axis = "both",labelsize=14) #刻度样式
plt.show() # 打开matplotlib查看器,显示绘制的图形
输出:
折线图.png
15.2.3 使用scatter()绘制散点图并设置其样式
import matplotlib.pyplot as plt
plt.scatter(2,4,s=200) #调用scatter(),实参s设置点的尺寸
#设置图标标题并给坐标轴加标签
plt.title("square numbers",fontsize=14)
plt.xlabel("value",fontsize=14)
plt.ylabel("square of value",fontsize=14)
#设置刻度标记大小
plt.tick_params(axis="both",which="major",labelsize=14)
plt.show()
输出:
散点图-单点.png
15.2.4 使用scatter()绘制一系列点
import matplotlib.pyplot as plt
x_value = [1,2,3,4,5]
y_value = [1,4,9,16,25]
plt.scatter(x_value,y_value,s=100)
#设置图标标题并给坐标轴加标签
plt.title("square numbers",fontsize=14)
plt.xlabel("value",fontsize=14)
plt.ylabel("square of value",fontsize=14)
#设置刻度标记大小
plt.tick_params(axis="both",which="major",labelsize=14)
plt.show()
输出:
散点图-系列点.png
15.2.5自动计算数据
import matplotlib.pyplot as plt
x_values = list(range(1,1001))
y_value = [x**2 for x in x_values]
plt.scatter(x_value,y_value,s=40)
#设置图标标题并给坐标轴加标签
plt.title("square numbers",fontsize=14)
plt.xlabel("value",fontsize=14)
plt.ylabel("square of value",fontsize=14)
#设置每个坐标轴取值范围
plt.axis([0,1100,0,1100000]) #函数axis(x轴最小值,x轴最大值,y轴最小值,y轴最大值)
plt.show()
输出:
自动计算 散点图.png
15.2.6 删除数据点的轮廓
matplotlib可以给散点图的各个点指定颜色。默认蓝色点和黑色轮廓。要删除数据点轮廓,可调用scatter()时传递实参edgecolor = 'none'
plt.scatter(x_value,y_value,c = 'red', edge color = 'none' , s=40)
#RGB颜色模式,越接近于0 颜色越深,越接近1,颜色越浅
plt.scatter(x_value,y_value,c = (0,0,0.8), edge color = 'none' , s=40)
15.2.8 使用颜色映射
颜色映射colormap是一系列颜色,从起始颜色渐变到结束颜色,用于突出数据点规律。
import matplotlib.pyplot as plt
x_values = list(range(1,1001))
y_values = [x**2 for x in x_values]
plt.scatter(x_values,y_values,c=y_values,cmap=plt.cm.Blues,edgecolor="none",s=40) #cmap
#设置图标标题并给坐标轴加标签
plt.title("square numbers",fontsize=14)
plt.xlabel("value",fontsize=14)
plt.ylabel("square of value",fontsize=14)
plt.show()
输出:
颜色映射.png
15.2.9 自动保存图表
要让程序自动保存图表到文件中,可调用plt.savefig()(而不是调用plt.show())
#第一个实参是文件名,第二个实参将图表多余的空白区域剪裁
put.savefig("squares_plot.png',bbox_inches='tight')
网友评论