人生转折"/>
matplotlib绘图,人生转折
对于简单的绘图,pyplot模块提供类似MATLAB的接口,特别是与IPython结合使用时。 对于高级用户,你可以通过面向对象的界面或通过MATLAB用户熟悉的一组函数完全控制线型,字体属性,轴属性等。
文档:.html
安装:
访问
打开命令窗口,并切换到该项目文件夹,在使用pip来安装
python -m pip install --user matplotlib-3.1.1-cp37-cp37m-win32.whl
安装完成后打开python终端回话,尝试导入matplotlib
import matplotlib
这样则安装成功
下面部分是绘制图形
使用plot()绘制折线图:
import matplotlib.pyplot as plt
#创建一个列表
#对应数据,inp——values为x轴刻度尺,squares为y轴数据
input_values = [1, 2, 3, 4, 5]
squares = [1, 3, 5, 6, 20]
#将列表传递给函数plot,绘制图像,linewidth线条的粗细
plt.plot(input_values, squares, linewidth = 2)
#设置图表标题,并给坐标轴加上标签
plt.title(“Square Numbers”, fontsize = 24)
plt.xlabel(“Value”, fontsize=14)
plt.ylabel(“Square of Value”, fontsize=14)
#设置刻度标记的大小axis='both’影响x轴y轴上的刻度,labelsize设置字号
plt.tick_params(axis=‘both’, labelsize = 14)
#打开matplotlib查看器
plt.show()
效果图片:
![](.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly
《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》
【docs.qq/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享
9ibG9nLmNzZG4ubmV0L3FxXzQwMjA1MTE2,size_16,color_FFFFFF,t_70)
使用scatter()来绘制单个点
import matplotlib.pyplot as plt
#使用scatter()来绘制单个点,前两个参数为坐标位置,s设置绘制图形时使用的点的尺寸
#设置坐标位置,两个列表
#x_values = [1, 2, 3, 4, 5]
#y_values = [1, 4, 9, 16, 25]
#循环绘制点,连接成线
x_values = list(range(1, 1001))
y_values = [x**2 for x in x_values]
#edgecolor删除节点轮廓,c='red’设置图颜色
#plt.scatter(x_values, y_values, c=‘red’, edgecolor=‘none’, s = 10)
#颜色映射,起始颜色渐变到结束颜色,c设置成一个y值列表,cmap告诉pyplot使用哪个颜色映射
plt.scatter(x_values, y_values, c=y_values, cmap=plt.cm.Blues, edgecolor=‘none’, s = 10)
#设置图表标题并给坐标轴加上标签
plt.title(“Square Numbers”, fontsize=24)
plt.xlabel(“value”, fontsize = 24)
plt.ylabel(“Square of value”, fontsize=24)
#设置刻度标记的大小
plt.tick_params(axis=‘both’, which=‘major’, labelsize=14)
#设置每个坐标轴的取值范围
plt.axis([0, 1100, 0, 1100000])
plt.show()
#将图片保存到工作目录
#plt.savefig(‘squares_plot.png’, bbox_inches = ‘tight’)
效果图:
绘制随机漫步图:
先创建一个RandwmWalk()类,他随机的选择前进方向
from random import choice
class RandomWalk():
“”“一个生成随机漫步数据的类”""
#num_points设置默认点数
def init(self, num_points = 5000):
“”“初始化随机漫步的属性”""
self.num_points = num_points
#所有随机漫步都始于(0, 0)
#创建了两个用于存储x和y值的列表,并让每次漫步都从点(0, 0)出发
self.x_values = [0]
self.y_values = [0]
def fill_walk(self):
“”“计算随机漫步包含的所有点”""
#不断漫步,直到列表到达指定的长度
while len(self.x_values) < self.num_points:
#决定前进方向以及沿这个方向前进的距离
#1表示向右走的1,-1表示向左走的-1
x_direction = choice([1, -1])
#沿指定方向走多远,choice随机选择一个数字
x_distance = choice([0, 1, 2, 3, 4])
#移动方向乘以移动距离,确定沿x和y轴移动的距离,如果x_self为正将向右移动,为负向左移动
x_step = x_direction * x_distance
y_direction = choice([1, -1])
y_distance = choice([0, 1, 2, 3, 4])
y_step = y_direction * y_distance
#拒绝原地踏步
if x_step == 0 and y_step == 0:
continue
#计算下一个点的x和y值
next_x = self.x_values[-1] + x_step
next_y = self.y_values[-1] + y_step
self.x_values.append(next_x)
self.y_values.append(next_y)
生成简单的漫步图:
import matplotlib.pyplot as plt
from random_walk import RandomWalk
#创建一个RandomWalk实例,并将其包含的点都绘制出来
rw = RandomWalk()
rw.fill_walk()
#将随机漫步包含的x和y值传递给scatter(),并选择了合适的点尺寸
plt.scatter(rw.x_values, rw.y_values, s = 5)
plt.show()
生成效果:
给点设置渐变色:
#将所有点数生成一个数字列表
point_number = list(range(rw.num_points))
#将随机漫步包含的x和y值传递给scatter(),并选择了合适的点尺寸
#edgecolor='none’删除每个点周围的轮廓,给点着色
plt.scatter(rw.x_values, rw.y_values, c=point_number, cmap=plt.cm.Blues, edgecolor=‘none’, s = 5)
突出终点和起点:
#突出起点和终点
plt.scatter(0, 0, c = ‘green’, edgecolors = ‘none’, s = 100)
plt.scatter(rw.x_values[-1], rw.y_values[-1], c = ‘red’, edgecolors = ‘none’, s = 100)
英寸坐标轴:
#隐藏坐标轴
plt.axes().get_xaxis().set_visible(False)
plt.axes().get_yaxis().set_visible(False)
调整图表大小:
plt.figure(figsize=(10, 6))
完整代码:
import matplotlib.pyplot as plt
from random_walk import RandomWalk
#创建一个RandomWalk实例,并将其包含的点都绘制出来
rw = RandomWalk()
rw.fill_walk()
#设置绘图窗口的尺寸,figure()用于指定图表的宽度和高度,分辨率和背景色,指出绘图窗口的尺寸,单位英寸
plt.figure(figsize=(10, 6))
#将所有点数生成一个数字列表
point_number = list(range(rw.num_points))
#将随机漫步包含的x和y值传递给scatter(),并选择了合适的点尺寸
#edgecolor='none’删除每个点周围的轮廓,给点着色
plt.scatter(rw.x_values, rw.y_values, c=point_number, cmap=plt.cm.Blues, edgecolor=‘none’, s = 5)
#突出起点和终点
plt.scatter(0, 0, c = ‘green’, edgecolors = ‘none’, s = 100)
plt.scatter(rw.x_values[-1], rw.y_values[-1], c = ‘red’, edgecolors = ‘none’, s = 100)
#隐藏坐标轴
plt.axes().get_xaxis().set_visible(False)
plt.axes().get_yaxis().set_visible(False)
plt.show()
效果图:
直方图——掷骰子案例首先需要安装一下pygal
同样的需要在项目目录中使用pip安装,这里我的项目目录为:E:\2019mcy\pythonWord\matplotlib
python -m pip install --user pygal==1.7
之后创建一个die.py文件,里边存放一个Die()类,骰子的属性类
from random import randint
更多推荐
matplotlib绘图,人生转折
发布评论