'''15-1'''
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签
x_valye = list(range(1,5001))
y_value = list(x**3 for x in x_valye)
plt.title('计算立方数',fontsize='25')
plt.xlabel('数值',fontsize='25')
plt.ylabel('平方数',fontsize='25')
plt.plot(x_valye,y_value,c='red')#绘制折现图
plt.tick_params(axis='both', labelsize=14)
plt.show()
'''15-2'''
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签
x_value = list(range(1,5001))
y_value = list(x**3 for x in x_value)
plt.title('计算立方数',fontsize=24)
plt.xlabel('数值',fontsize=24)
plt.ylabel('立方数值',fontsize=24)
plt.scatter(x_value,y_value,c=y_value,cmap=plt.cm.Blues)#给图标指定颜色映射
plt.tick_params(axis='both', which='major', labelsize=14)#设置镌刻大小
plt.axis([0,5000,0,120000000000])#取值范围要求提供四个值: x 和 y 坐标轴的最小值和最大值
plt.savefig('1to5000的立方数.png')
plt.show()
'''这是随机漫步数的类 random_walk.py 15-5'''
from random import choice#导入随机库中的choice类
class RandomWalk():#定义一个随机类
def __init__(self,num_points=5001):#给定3个属性,一个伟有默认值得随机次数
self.num_points = num_points
self.x_value = [0]#初始化X坐标
self.y_value = [0]#初始化y坐标
def get_setp(self):#定义一个随机获取数值得方法
direction = choice([1, -1])
distance = choice([0, 1, 2, 3, 4])
step = direction * distance
return step
def fill_walk(self):#定义一个在坐标上行走得方法
while len(self.x_value) < self.num_points:#给个循环,判断X坐标得值是否小于随机得次数
x_step = self.get_setp()
y_step = self.get_setp()
if x_step and y_step == 0:#拒绝原地踏步
continue
next_x = self.x_value[-1] + x_step#下一次x得值=最后一次得次加一个随机数
next_y = self.y_value[-1] + y_step
self.x_value.append(next_x)#把值写入列表
self.y_value.append(next_y)
'''15-3'''
import matplotlib.pyplot as plt
from random_walk import RandomWalk
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号
rw = RandomWalk(50)
rw.fill_walk()
plt.plot(rw.x_value,rw.y_value,linewidth=2)
plt.title('随机漫步折线图')
plt.show()