Python数据可视化、安装环境matplotlib、绘制简单的折丝图
Python数据可视化、安装环境matplotlib、绘制简单的折丝图。
写得比较粗浅,后面会对数据分析专题进行深入,做数据可视化的时候发现没有数据来源,接下来要准备爬虫的教程了.
安装环境matplotlib
个人前面也说了强烈建议使用Pycharm作为Python初学者的首选IDE,主要还是因为其强大的插件功能,很多环境都能一键安装完成,像本文的matplotlib,numpy,requests等。
下面直接上效果图:
绘制简单的折丝图
使用plot来绘制折线
importmatplotlib.pyplotasplt
#绘制折线图
squares=[1,4,9,16,25]
#plt.plot(squares,linewidth=5)#指定折线粗细,
##plt.show();
#
##修改标签文字和线条粗细
#plt.title("squrenumber",fontsize=24)
#plt.xlabel("Value",fontsize=14)
#plt.ylabel("squareofvalue",fontsize=14)
#plt.tick_params(axis='both',labelsize=14)
#plt.show()
#校正图形
input_values=[1,2,3,4,5]
plt.plot(input_values,squares,linewidth=5)
plt.show()
折线图1.png
生成的效果图:
使用scatter绘制散点图并设置样式
importmatplotlib.pyplotasplt
#简单的点
#plt.scatter(2,4)
#plt.show()
#
##修改标签文字和线条粗细
plt.title("squrenumber",fontsize=24)
plt.xlabel("Value",fontsize=14)
plt.ylabel("squareofvalue",fontsize=14)
#设置刻度标记大小
plt.tick_params(axis='both',which='major',labelsize=14)
#绘制散点
x_values=[1,2,3,4,5]
y_values=[1,4,9,16,25]
plt.scatter(x_values,y_values,s=100)
plt.show()
scatter绘制散点.png
自动计算数据
importmatplotlib.pyplotasplt
x_values=list(range(1,1001))
y_values=[x**2forxinx_values]
#y_values=[x*xforxinx_values]
#y_values=[x^2forxinx_values]
plt.scatter(x_values,y_values,s=40)
#坐标轴的取值范围
#plt.axis(0,1100,0,1100000)#依次是xminxmax,ymin,ymax
plt.show()
自动计算效果图.png
随机漫步
importmatplotlib.pyplotasply
fromrandomimportchoice
classRandomWalk():
def__init__(self,num_points=5000):
self.num_points=num_points
self.x_values=[0]
self.y_values=[0]
deffill_walk(self):
#不断走,直到达到指定步数
whilelen(self.x_values)<self.num_points:
#决定前进方向以及沿这个方向前进的距离
x_direction=choice([1,-1])
x_distance=choice([0,1,2,3,4,5,6,7,8,9])
x_step=x_direction*x_distance
y_direction=choice([1,-1])
y_distance=choice([0,1,2,3,4,5,6,7,8,9])
y_step=y_direction*y_distance
#不能原地踏步
ifx_step==0andy_step==0:
continue
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)
rw=RandomWalk()
rw.fill_walk()
ply.scatter(rw.x_values,rw.y_values,s=15)
ply.show()
效果图
随机漫步图.png
使用Pygal模拟掷骰子
pygal绘图.png
环境安装,直接在Pycharm上安装插件。
importpygal
fromrandomimportrandint
classDie():
def__init__(self,num_sides=6):
self.num_sides=num_sides;
defroll(self):
#返回一个位于1和骰子面数之间的随机值
returnrandint(1,self.num_sides)
die=Die()
results=[]
#掷100次骰子,并将结果放在列表中。
forroll_numinrange(10):
result=die.roll()
results.append(str(result))
print(results)
#分析结果
frequencies=[]
forvalueinrange(1,die.num_sides+1):
frequency=results.count(value)
frequencies.append(frequency)
print(frequencies)
#对结果进行可视化
hist=pygal.Box()
hist.title="resultofrollingoneD61000times"
hist.x_labels=['1','2','3','4','5','6']
hist.x_title="Result"
hist.y_title="frequencyofresult"
hist.add('D6',frequencies)
hist.render_to_file('die_visual.svg')
使用WebAPI
1.1安装requests
这个可以直接在Pycharm中安装插件,非常方便。
1.2处理API响应
importrequests
#执行api调用并存储响应
url='https://api.github.com/search/repositories?q=language:python&sort=stars'
r=requests.get(url)
print("Statuscode:",r.status_code)
#将api响应存储在一个变量中
response_dic=r.json()
#处理结果
print(response_dic.keys())
得到结果:
Statuscode:200
dict_keys(['total_count','incomplete_results','items'])
1.3处理响应字典
#将api响应存储在一个变量中
response_dic=r.json()
#处理结果
print(response_dic.keys())
print("Totalrepositories:",response_dic['total_count'])
repo_dics=response_dic['items']
print("repositoriesreturned:"+str(len(repo_dics)))
#研究一个仓库
repo_dic=repo_dics[0]
print("\nKeys:",str(len(repo_dic)))
#forkeyinsorted(repo_dic.keys()):
#print(key)
print("Name:",repo_dic['name'])
print("Owner:",repo_dic['owner']['login'])
print("Starts:",repo_dic['stargazers_count'])
print("Repository:",repo_dic['html_url'])
print("Created:",repo_dic['created_at'])
print("Updated:",repo_dic['updated_at'])
print("Description:",repo_dic['description'])
得到结果:
Totalrepositories:2061622
repositoriesreturned:30
Keys:71
Name:awesome-python
Owner:vinta
Starts:40294
Repository:https://github.com/vinta/awesome-python
Created:2014-06-27T21:00:06Z
Updated:2017-10-29T00:50:49Z
Description:AcuratedlistofawesomePythonframeworks,libraries,softwareandresources
Python培训、Python培训班、Python培训机构,就选光环大数据!
大数据培训、人工智能培训、Python培训、大数据培训机构、大数据培训班、数据分析培训、大数据可视化培训,就选光环大数据!光环大数据,聘请专业的大数据领域知名讲师,确保教学的整体质量与教学水准。讲师团及时掌握时代潮流技术,将前沿技能融入教学中,确保学生所学知识顺应时代所需。通过深入浅出、通俗易懂的教学方式,指导学生更快的掌握技能知识,成就上万个高薪就业学子。 更多问题咨询,欢迎点击------>>>>在线客服!