文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python数据可视化

2023-01-30 23:28

关注

1、安装matplotlib

在 cmd 中键入 python -m pip install matplotlib,系统将自动安装,需要等一段时间,待完成后 python -m pip list ,显示

敲黑板划重点:一定通过 cdm 指定具体安装文件夹。  cd 文件夹名 可进入指定文件夹。

2、简易画图

2.1 直线图

import matplotlib.pyplot as ply
'导入模块 pyplot,并自定义为ply'
input_value = [1,2,3,4,5,6]
squares =[1,4,9,16,25,36 ]
ply.plot(input_value,squares,linewidth = 5)
'画图命令,并接收input_value作为x,squares 作为y,linewidth指定线条粗细'
ply.title("square numbers",fontsize= 24)
'图标标题'
ply.xlabel("value",fontsize = 12)
'图表横坐标的标题 value,和字的大小 fontsize'
ply.ylabel("squares",fontsize = 12)
'图表横坐标的标题,和字的大小'
ply.tick_params(axis="both",labelsize=14)
"指定横纵坐标axis= 'both'上的标尺字的大小 labelsize"
ply.show()
'显示图形'

输出图像:

 2.2 散点图

import matplotlib.pyplot as plt
x_value = list(range(0,100,2))
y_value = [x**2 for x in x_value]
'自动生成计算数据'
print(x_value)
print(y_value)
plt.scatter(x_value,y_value,s=10)
#plt.scatter(x_value,y_value,c=y_value,cmap=plt.cm.Blues,edgecolor='None',s=10)
'参数c 设置成一个y值的列表,参数cmap 是采用的颜色映射的种类。参数edgecolor 是去掉散点的黑边'
'scatter()显示点的大小是 s= 10,plot() 显示线条粗细的是linewidth= 10'
plt.title("squares number",fontsize= 20)
plt.xlabel("value",fontsize=10)
plt.ylabel("square",fontsize=10)
plt.tick_params(axis="both",which = 'major',labelsize= 10)

plt.savefig('squares_scatter.png',bbox_inches= 'tight')
'保存图片为squares_scatter.png,并且bbox_inches ='tighr'只保存图像,删除多余空白'
plt.show()

使用scatter()函数绘制散点图
输出结果:

颜色映射(colomap)是一系列颜色,他们从颜色渐变到结束颜色。

输出结果:

3、随机漫步:每次决策都是随机决定的。

 rand_walk.py

from random import choice
'从 random modules中导入choice'
class RandomWalk(object):
'创建一个类 RandomWalk().'
def __init__(self,num_point = 5000):
'初始化类的属性'
self.num_point = num_point
self.x_value=[ 0 ]
self.y_value=[ 0 ]
'指定开始位置'

def fill_walk(self):
'定义随机漫步的方法,'
while len(self.x_value) < self.num_point:
x_direction = choice([1,-1])
'随机漫步的方向 1:向右 -1: 向左'
x_distance = choice([0,1,2,3,4,5])
'随机漫步的距离'
x_step = x_direction * x_distance
'随机漫步的 位移(大小和方向)'
y_direction = choice([-1,1])
y_distance = choice([0,1,2,3,4,5])
y_step = y_direction * y_distance

if x_step ==0 and y_step ==0:
continue
'避免原地踏步'

next_x =self.x_value[-1] + x_step
'确定 点的 新位置'
next_y =self.y_value[-1] + y_step

self.x_value.append(next_x)
'将已经走过的点 添加到列表中'
self.y_value.append(next_y)

 random_walk_show :

import matplotlib.pyplot as plt
'导入matplotlib.pilot 命名为 plt'
from random_walk import RandomWalk
"从random_walk 中导入 RandomWalk 类"
while True:
rw =RandomWalk()
rw.fill_walk()
'调用 fill_walk() 方法'

point = list(range(rw.num_point))
'生成和步数一样多的列表'
plt.scatter(rw.x_value,rw.y_value,c=point,cmap = plt.cm.Reds,
edgecolor = None,s=10)

plt.scatter(0,0,c= "green",edgecolor= "None",s=20)
plt.scatter(rw.x_value[-1],rw.y_value[-1],c="green",edgecolor = "None",s=50)
'突出首个点 和 最后一个点 '

plt.axes().get_xaxis().set_visible(False)
plt.axes().get_yaxis().set_visible(False)
'隐藏横纵坐标'

plt.show()
keep_running = input("make another walk? y or n :")
if keep_running == 'n':
break
'判断时候继续 随机漫步'
随机漫步生成的图:

                      

 

 

 

 








补充:
如果想使得输出的图像大小适合屏幕大小,可以使用:plt.figure(dpi=128,figsize=(20,10)) 其中向dpi传递是分辨率,向figsize传递以元组,指定绘图窗口的尺寸。(没看出区别多大!)
阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯