python3_数据可视化(matplotlib库)

matplotlib是一个绘图数学库,使用它制作简单的图表,折线图,散点图。
pygal包专注于生成适合在数字设备上显示的图表,通过使用pygal可在用户与图表交互时突出元素以调整其大小,还可以调整图表尺寸适合手表或巨型显示器。
matplotlib官网
官网有各种图表的实例及其使用方法。

  • 安装matplotlib
pip3 install matplotlib

或者:

apt install python3-matplotlib
  • 测试是否安装成功
import matplotlib #没有出现错误,表示安装成功。

在这里插入图片描述

  • 实例1:绘制简单的折线图
import matplotlib.pyplot as plt

squares = [1,4,9,16,25] #square平方。 要传入的数据。
plt.plot(squares) #将数据传入绘图函数,绘制图形。
plt.show()  #打开matplotlib查看器,显示绘制的图形。

在这里插入图片描述
可以看到,当x为0的时候,y为1,x为4的时候,y为25,这与我们预期的完全不符。
这是因为pyplot默认是从x=0开始的绘图的,但是实际我们需要从x=1开始绘图,为了改变这种默认行为,我们同时出入x和y的值。

import matplotlib.pyplot as plt

x_values = [1,2,3,4,5]
y_values = [1,4,9,16,25]
plt.plot(x_values,y_values,linewidth=5)
#plt.plot(squares,linewidth=1) #参数linewidth决定了图表线条的粗细 
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) #设置x,y轴上刻度字体的大小,both表示两个轴都设置。
plt.show()

在这里插入图片描述

  • 实例2绘制简单的散点图
    使用scatter()
    以一种颜色显示较小的值,一种颜色显示较大的值。
    绘制单个点:
import matplotlib.pyplot as plt

plt.scatter(2,4,s=200) #绘制一个x=2,y=4的点。参数s指定了图中点的尺寸。
plt.title("图表标题",fontsize=24)
plt.xlabel("x轴",fontsize=14)
plt.ylabel("y轴",fontszie=14)
plt.tick_params(axis="both",which="major",labelsize=14) 
plt.show()

改进版

import matplotlib.pyplot as plt

x_values = list(range(1,1001)) #生成一个从1到1000的列表
y_values = [x**2 for x in x_values] #遍历x_values列表,计算其平方(x**2)生成y的列表。
#plt.scatter(x_values,y_values,s=40) #默认是蓝色[0]
#plt.scatter(x_values,y_values,c='red',s=40) #使用参数c指定颜色为红色。
#plt.scatter(x_values,y_values,c=(0,0,8.8),s=40) #也可以使用RGB颜色模式指定颜色。c=(0,0,0.8) 。参数传递一个元组,其中包含三个0~1之间的小数值,分别表示红色,绿色和蓝色。
#使用颜色映射(是值一系列颜色,从起始色渐变到结束色)突出数据变换规律。
plt.scatter(x_values,y_values,c=y_values,cmap=plt.cm.Blues,s=40)

plt.title("title",fontsize=24)
plt.xlabel("x",fontsize=14)
plt.ylabel("y",fontsize=14)
plt.tick_params(axis="both",which="major",labelsize=14)
plt.axis([0,1100,0,1100000]) #由于数据集较大,使用axis函数指定了每个坐标值的取值范围。axis(x_min,x_max,y_min,y_max)
plt.savefig('t1.png',bbox_inches='tight') #自动保存图片。这个函数可以替换show()函数或者,放在之前,但是不能放在后面(放在后面保存为空)。
#一个参数,指定保存的文件名;第二参数将图表多余的空白区域减掉(实际体验就是一种优化)。
plt.show()
发布了80 篇原创文章 · 获赞 0 · 访问量 1744

猜你喜欢

转载自blog.csdn.net/weixin_41272269/article/details/104404755