1.安装matplotlib
pip install matplotlib
2.绘制简单图形
import matplotlib.pyplot as plt
#图形输入值
input_values = [1,2,3,4,5]
#图形输出值
squares = [1,4,9,16,25]
#plot根据列表绘制出有意义的图形,linewidth是图形线宽,可省略
plt.plot(input_values,squares,linewidth=5)
#设置图标标题
plt.title("Square Numbers",fontsize = 24)
#设置坐标轴标签
plt.xlabel("Value",fontsize = 14)
plt.ylabel("Square of Value",fontsize = 14)
#设置刻度标记的大小
plt.tick_params(axis='both',labelsize = 14)
#打开matplotlib查看器,并显示绘制图形
plt.show()
3.绘制点
import matplotlib.pyplot as plt #绘制散点图(传如一对x和y坐标,在指定位置绘制一个点) plt.scatter(2,4) #设置输出样式 plt.scatter(3,5,s=200) plt.show()
4.绘制一系列的点
import matplotlib.pyplot as plt x_values = [1,2,3,4,5] y_values = [1,4,9,16,25] plt.scatter(x_values,y_values,s=100) plt.show()
5.自动计算数据
import matplotlib.pyplot as plt x_values = list(range(1,1001)) y_values = [x**2 for x in x_values] plt.scatter(x_values,y_values,s=100) #设置每个坐标轴的取值范围(x轴取值,y轴取值) plt.axis([0,1100,0,1100000]) plt.show()
6.删除数据点的轮廓
import matplotlib.pyplot as plt x_values = list(range(1,1001)) y_values = [x**2 for x in x_values] #matplotlib允许你给散点图中的各个点指定颜色。默认为蓝色点和黑色轮廓,在散点图包含的 数据点不多时效果很好。但绘制很多点时,黑色轮廓可能会粘连在一起。 #edgecolor='none'删除数据点的轮廓 plt.scatter(x_values,y_values,edgecolor='none', s=40) #设置每个坐标轴的取值范围 plt.axis([0,1100,0,1100000]) plt.show()
7.自定义颜色c=''直接传颜色或元组都可以
import matplotlib.pyplot as plt x_values = list(range(1,1001)) y_values = [x**2 for x in x_values] #matplotlib允许你给散点图中的各个点指定颜色。默认为蓝色点和黑色轮廓,在散点图包含的 数据点不多时效果很好。但绘制很多点时,黑色轮廓可能会粘连在一起。 #edgecolor='none'删除数据点的轮廓 plt.scatter(x_values, y_values,c='red', edgecolor='none', s=40) # plt.scatter(x_values, y_values, c=(0, 0, 0.8), edgecolor='none', s=40) #设置每个坐标轴的取值范围 plt.axis([0,1100,0,1100000]) plt.show()
8.使用颜色映射
import matplotlib.pyplot as plt x_values = list(range(1,1001)) y_values = [x**2 for x in x_values] #matplotlib允许你给散点图中的各个点指定颜色。默认为蓝色点和黑色轮廓,在散点图包含的 数据点不多时效果很好。但绘制很多点时,黑色轮廓可能会粘连在一起。 #edgecolor='none'删除数据点的轮廓 plt.scatter(x_values, y_values,c=y_values,cmap=plt.cm.Blues, edgecolor='none', s=40) #设置每个坐标轴的取值范围 plt.axis([0,1100,0,1100000]) plt.show()
9.自动保存图表
import matplotlib.pyplot as plt
x_values = list(range(1,1001))
y_values = [x**2 for x in x_values]
#matplotlib允许你给散点图中的各个点指定颜色。默认为蓝色点和黑色轮廓,在散点图包含的 数据点不多时效果很好。但绘制很多点时,黑色轮廓可能会粘连在一起。
#edgecolor='none'删除数据点的轮廓
plt.scatter(x_values, y_values,c=y_values,cmap=plt.cm.Blues, edgecolor='none', s=40)
#设置每个坐标轴的取值范围
plt.axis([0,1100,0,1100000])
# plt.show()
#参数1指定要以什么样的文件名保存图表,保存和代码的同目录下,第二个参数表示要将多余的空白区域剪掉,要保留空白区域,可省略第二个参数
plt.savefig('squares_plot.png',bbox_inches='tight')
10.随机漫步(绘制随机漫步图)
from random import choice
class RandomWalk(object):
"""一个生成随机漫步数据的类"""
def __init__(self, num_points = 5000):
"""初始化随机漫步的属性"""
#存储随机漫步次数的变量
self.num_points = num_points
#所有随机漫步都始于(0,0)
#分别存储随机漫步经过的每个点的x和y坐标
self.x_values = [0]
self.y_values = [0]
def fill_walk(self):
"""计算随机漫步包含的所有点"""
#不断漫步,直到列表达到指定的长度
while len(self.x_values) < self.num_points:
#决定前进方向以及沿这个方向前进的距离
x_direction = choice([1,-1])
x_distance = choice([0,1,2,3,4])
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)
pass
绘制随机漫步图
import matplotlib.pyplot as plt from random_walk import RandomWalk #创建一个RandomWalk实例,并将其包含的点都绘制出来 rw = RandomWalk() rw.fill_walk() plt.scatter(rw.x_values,rw.y_values,s=15) plt.show()
11.模拟多次随机漫步
import matplotlib.pyplot as plt
from random_walk import RandomWalk
#只要程序处于活动状态,就不断的模拟漫步
while True:
#创建一个RandomWalk实例,并将其包含的点都绘制出来
rw = RandomWalk()
rw.fill_walk()
plt.scatter(rw.x_values,rw.y_values,s=15)
plt.show()
keep_running = input("Make another walk?(y/n)")
if keep_running=='n':
break
12.给点着色
import matplotlib.pyplot as plt
from random_walk import RandomWalk
#只要程序处于活动状态,就不断的模拟漫步
while True:
#创建一个RandomWalk实例,并将其包含的点都绘制出来
rw = RandomWalk()
rw.fill_walk()
point_numbers = list(range(rw.num_points))
plt.scatter(rw.x_values,rw.y_values,c=point_numbers,cmap=plt.cm.Blues,edgecolor='none',s=15)
plt.show()
keep_running = input("Make another walk?(y/n)")
if keep_running=='n':
break
13.重新绘制起点和终点
import matplotlib.pyplot as plt
from random_walk import RandomWalk
#只要程序处于活动状态,就不断的模拟漫步
while True:
#创建一个RandomWalk实例,并将其包含的点都绘制出来
rw = RandomWalk()
rw.fill_walk()
point_numbers = list(range(rw.num_points))
plt.scatter(rw.x_values,rw.y_values,c=point_numbers,cmap=plt.cm.Blues,edgecolors='none',s=15)
#突出起点和终点
plt.scatter(0,0,c='green',edgecolor='none',s=100)
plt.scatter(rw.x_values[-1],rw.y_values[-1],c='red',edgecolors='none',s=100)
plt.show()
keep_running = input("Make another walk?(y/n)")
if keep_running=='n':
break
14.隐藏坐标轴
while True:
#创建一个RandomWalk实例,并将其包含的点都绘制出来
rw = RandomWalk()
rw.fill_walk()
point_numbers = list(range(rw.num_points))
plt.scatter(rw.x_values,rw.y_values,c=point_numbers,cmap=plt.cm.Blues,edgecolors='none',s=15)
#突出起点和终点
plt.scatter(0,0,c='green',edgecolor='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()
keep_running = input("Make another walk?(y/n)")
if keep_running=='n':
break
15.增加点数(增加点数,将每个点的大小调小)
while True:
#创建一个RandomWalk实例,并将其包含的点都绘制出来
rw = RandomWalk(50000)
rw.fill_walk()
point_numbers = list(range(rw.num_points))
plt.scatter(rw.x_values,rw.y_values,c=point_numbers,cmap=plt.cm.Blues,edgecolors='none',s=1)
#突出起点和终点
plt.scatter(0,0,c='green',edgecolor='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()
keep_running = input("Make another walk?(y/n)")
if keep_running=='n':
break
17.调整尺寸以适应屏幕
while True:
#创建一个RandomWalk实例,并将其包含的点都绘制出来
rw = RandomWalk(50000)
rw.fill_walk()
#设置绘图窗口的尺寸
#figure()用于指定图表的宽度,高度,分辨率黑背景色figsize需要指定一个元组,单位英寸,dpi是分辨率,可传可不传
plt.figure(dpi=128,figsize=(10,6))
point_numbers = list(range(rw.num_points))
plt.scatter(rw.x_values,rw.y_values,c=point_numbers,cmap=plt.cm.Blues,edgecolors='none',s=1)
#突出起点和终点
plt.scatter(0,0,c='green',edgecolor='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()
keep_running = input("Make another walk?(y/n)")
if keep_running=='n':
break
以上所述就是小编给大家介绍的《Python数据可视化matplotlib.pyplot》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Computer Age Statistical Inference
Bradley Efron、Trevor Hastie / Cambridge University Press / 2016-7-21 / USD 74.99
The twenty-first century has seen a breathtaking expansion of statistical methodology, both in scope and in influence. 'Big data', 'data science', and 'machine learning' have become familiar terms in ......一起来看看 《Computer Age Statistical Inference》 这本书的介绍吧!
JS 压缩/解压工具
在线压缩/解压 JS 代码
Base64 编码/解码
Base64 编码/解码