本章内容来自书籍,记录下来仅方便复习,如有侵权,请联系作者删除。
+++python学习笔记+++
这章没学好。
一、安装matplotlib
pip install matplotlib
1. 在Linux系统中安装matplotlib
2. 在OS X系统中安装matplotlib
3. 在Window系统中安装matplotlib
在cmd中输入
pip install matplotlib
4. 测试matplotlib
在cmd中打开python
输入import matplotlib
5. matplotlib画廊
访问http://matplotlib.org
单击画廊中的图表,可查看用于生成图表中的代码。
二、绘制简单的折线图
下面使用matplotlib绘制一个简单的折线图:
import matplotlib.pyplot as plt
squares = [1,4,9,16,25]
plt.plot(squares)
plt.show()
分析:
(1)首先导入pyplot模块,并给它指定别名plt,模块pyplot中包含很多用于生成图表的函数。
(2)创建数据列表squares
(3)将数据列表传递给函数plot()
(4)函数show()打开matplotlib的查看器,显示绘制的图形。
1. 修改标签文字和线条粗细
(1)设置折现的宽度
plt.plot(squares, linewidth=5)
(2)设置图表标题,坐标轴
plt.title(“Squares Numbers”,fontsize=24)
plt.xlabel(“Value”,fontsize=14)
plt.ylabel(“Square of Value”,fontsize=14)
(3)设置图表刻度的样式
plt.tick_params(axis=‘both’,labelsize=14)
2. 校正图形
折线图的x轴4,对应y轴的25,点坐标绘制出错。
需要在绘制折线图的时候,给函数plot()输入值和输出值。
input_values = [1,2,3,4,5]
squares = [1,4,9,16,25]
plt.plot(input_values, squares, linewidth=5)
3. 使用scatter()绘制散点图并设置其样式
import matplotlib.pyplot as plt
plt.scatter(2,3,s=200)
plt.show()
调用方法scatter(),传入坐标轴,实参s表示绘制图形时所用的点的尺寸。
4. 使用scatter()绘制一系列点
传入列表
import matplotlib.pyplot as plt
x_lable= [1,2,3,4,5]
y_lable = [1,4,9,16,25]
plt.scatter(x_lable,y_lable,s=200)
plt.show()
绘图如下:
5. 自动计算数据
如果需要绘制的点数太多时,需要用循环计算点的坐标
import matplotlib.pyplot as plt
x_lable= list(range(1,1000))
y_lable = [i**2 for i in x_lable]
plt.scatter(x_lable,y_lable,s=10)
plt.axis([0,1100,0,1100000])
plt.show()
方法plt.axis()中,传入四个值,x坐标的取值范围是1~1100
,y坐标的取值范围是0~1100000
绘图如下:
6. 删除数据点的轮廓
matplotlib允许你给散点图中的各个点指定颜色,分两种颜色:实心点颜色和轮廓颜色。
修改数据点的轮廓颜色:可在绘制散点图时,可以给edgecolors传入颜色实参。
以下是有黑色轮廓和没有黑色轮廓的情况。
plt.scatter(x_lable,y_lable,edgecolors='black',s=30)
plt.scatter(x_lable,y_lable,edgecolors='none',s=30)
有黑色轮廓,绘图如下:
7. 自定义颜色
要修改数据点实心点的颜色,可向scatter()传入参数c
- 传入颜色名字
plt.scatter(x_lable,y_lable,c='red',s=200)
- 使用RGB颜色模式自定义颜色,设置成一个元组,并传递给参数c
plt.scatter(x_lable,y_lable,c=(0,0,0.8),s=200)
8. 使用颜色映射
颜色映射(colormap)是一系列颜色,他们从颜色开始渐变到颜色结束。
import matplotlib.pyplot as plt
x_lable= list(range(1,1000))
y_lable = [i**2 for i in x_lable]
plt.scatter(x_lable,y_lable,c=y_lable,cmap=plt.cm.Reds,edgecolors='none',s=200)
plt.show()
更多颜色映射:http://matplotlib.org/,单击Example,向下滚动到Color Examples,单击colormaps_reference。
https://matplotlib.org/gallery/color/colormap_reference.html#sphx-glr-gallery-color-colormap-reference-py
9. 自动保存图表
plt.savefig('squares_plot.png',bbox_inches='tight')
使用plt.savefig()替换plt.show(),传入两个实参,第一个实参指定要以什么样的文件名保存图表,这个文件保存在程序所在的目录中,第二个实参指定将图表的空白区域减掉,如果需要保留空白区域,可以省略该实参。
三、随机漫步
使用Python来生成随机漫步数据,再使用matplotlib呈现数据。随机漫步每次行走都是随机的,没有明确的方向,结果是由一系列随机决策决定的。
1. 创建RandomWalk()类
2. 选择方向
3. 绘制随机漫步图
4. 模拟多次随机漫步
5. 设置随机漫步图的样式
6. 给点着色
7. 重新绘制起点和终点
8. 隐藏坐标轴
9. 增加点数
10.调整尺寸以适合屏幕
四、使用Pygal模拟掷骰子
使用可视化包Pygal来生成可缩放的矢量图形文件。
1. 安装Pygal
pip install pygal
2. Pygal画廊
访问http://www.pygal.org,单击Documentation,单击Chart types.
3. 创建Die类
4. 掷骰子
5. 分析结果
6. 绘制直方图
7. 同时掷两个骰子
8. 同时掷两个面数不同的骰子