《python每天一小段》--12 数据可视化《1》

欢迎阅读《Python每天一小段》系列!在本篇中,将使用Python Matplotlib实现数据可视化的简单图形。

一、概念

Matplotlib是一个流行的Python数据可视化库,它提供了丰富的绘图功能,可以创建各种类型的图表,包括折线图、散点图、柱状图、饼图等。

要查看使用matplotlib可制作的各种图表,可访问http://matplotlib.org/

(1)安装matplotlib

复制代码
pip install matplotlib

(2)数据可视化实现步骤

下面是对Matplotlib的详细解释以及如何实现数据可视化的一般步骤:

  1. 导入Matplotlib库:

    在Python脚本中,首先需要导入Matplotlib库。通常使用以下语句导入Matplotlib的pyplot模块:

    python 复制代码
    import matplotlib.pyplot as plt
  2. 创建图表:

    在开始绘图之前,需要创建一个图表对象。可以使用plt.figure()函数创建一个新的图表。

    python 复制代码
    plt.figure()
  3. 绘制图表:

    使用Matplotlib的各种绘图函数来绘制所需的图表。例如,使用plt.plot()函数绘制折线图,使用plt.scatter()函数绘制散点图,使用plt.bar()函数绘制柱状图等。

    python 复制代码
    x = [1, 2, 3, 4, 5]
    y = [10, 8, 6, 4, 2]
    plt.plot(x, y)
  4. 添加标签和标题:

    可以使用plt.xlabel()plt.ylabel()plt.title()函数为图表添加轴标签和标题。

    python 复制代码
    plt.xlabel('X轴')
    plt.ylabel('Y轴')
    plt.title('折线图')
  5. 自定义图表样式:

    可以使用各种Matplotlib函数来自定义图表的样式,如设置线条颜色、线型、标记样式、图例等。

    python 复制代码
    plt.plot(x, y, color='red', linestyle='--', marker='o', label='数据')
    plt.legend()
  6. 显示图表:

    使用plt.show()函数显示图表。

    python 复制代码
    plt.show()

以上是一个简单的数据可视化的流程。当然,Matplotlib还提供了许多其他功能,如子图、网格、颜色映射等,可以根据需要进行使用和定制。

除了Matplotlib,还有其他一些数据可视化工具可以使用,如Seaborn、Plotly、Bokeh等。每个工具都有其特点和适用场景,可以根据具体需求选择合适的工具来实现数据可视化。

python代码:

复制代码
import matplotlib.pyplot as plt

plt.figure()
x = [1,2,3,4,5]
y = [10,8,6,4,2]
plt.plot(x,y)
#plt.scatter(x,y)
#plt.bar(x,y)

plt.title("x,y table",fontsize=24)
plt.xlabel('x轴')
plt.ylabel('y轴')

plt.plot(x,y,color='red',linestyle='--',marker='o',label='数据')
plt.legend()

plt.show()

生成图表:

二、绘制简单的折线图

(1)简单的图表

1、首先导入了模块pyplot,并给它指定了别名plt,以免反复输入pyplot

2、创建了一个列表,在其中存储了前述平方数,再将这个列表传递给函数plot(),这个函数尝试根据这些数字绘制出有意义的图形。

3、plt.show()打开matplotlib查看器,并显示绘制的图形

复制代码
import matplotlib.pyplot as plt

squares = [1,4,9,16,25]
plt.plot(squares)
plt.show()

图表:

(2)修改标签文字和线条粗细

复制代码
import matplotlib.pyplot as plt


squares = [1,4,9,16,25]
plt.plot(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)
plt.show()

图标:

(3)校正图形

复制代码
import matplotlib.pyplot as plt

input_values = [1,2,3,4,5]
squares = [1,4,9,16,25]
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)
plt.show()

(4)绘制单个点

使用scatter()绘制散点图并设置其样式

复制代码
import matplotlib.pyplot as plt

plt.scatter(2,4)
plt.show()

添加标题,给轴加标签

复制代码
import matplotlib.pyplot as plt

plt.scatter(2,4)


plt.scatter(2,4,s=200)

plt.title("Square Number",fontsize=24)
plt.xlabel("Value",fontsize=14)
plt.ylabel("Square of Value" ,fontsize=14)

#设置刻度标记的大小
plt.tick_params(axis='both',which='major',labelsize=14)




plt.show

图表:

(5)绘制一系列点

要绘制一系列的点,可向scatter()传递两个分别包含x值和y值的列表:

复制代码
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.title("Square Number",fontsize=24)
plt.title("Value",fontsize=14)
plt.title("Square of Value",fontsize=14)

#设置刻度标记大小
plt.tick_params(axis='both',which='major',labelsize=14)
plt.show()

图表:

(6)自动计算

手工计算列表要包含的值可能效率低下,需要绘制的点很多时尤其如此。可以不必手工计算

包含点坐标的列表,而让Python循环来替我们完成这种计算。下面是绘制1000个点的代码:

复制代码
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=40)

#设置图标并给坐标轴加上标签
plt.title("Square Number",fontsize=24)
plt.title("Value",fontsize=14)
plt.title("Square of Value",fontsize=14)

#设置刻度标记大小
plt.tick_params(axis='both',which='major',labelsize=14)

#设置每个坐标轴的取值范围
plt.axis([0,1100,0,1100000])

plt.show()

图表:

(7)删除数据点的轮廓

matplotlib允许你给散点图中的各个点指定颜色。默认为蓝色点和黑色轮廓,在散点图包含的数据点不多时效果很好。但绘制很多点时,黑色轮廓可能会粘连在一起。

要删除数据点的轮廓,可在调用scatter()时传递实参:edgecolor='none'

复制代码
plt.scatter(x_values,y_values,edgecolor='none',s=40)

(8)修改颜色

修改数据点的颜色,可向scatter()传递参数c,并将其设置为要使用的颜色的名称

复制代码
plt.scatter(x_values,y_values,c='red',edgecolor='none',s=40)

图表:

(9)自定义颜色

使用RGB颜色模式自定义颜色。要指定自定义颜色,可传递参数c,并将其设置为一个元组,其中包含三个0~1之间的小数值,它们分别表示红色、绿色和蓝色分量。

复制代码
plt.scatter(x_values,y_values,c=(0,0,0.8),edgecolor='none',s=40)

图表:

创建一个由淡蓝色点组成的散点图:

值越接近0,指定的颜色越深,值越接近1,指定的颜色越浅

(10)颜色映射

颜色映射(colormap)是一系列颜色,它们从起始颜色渐变到结束颜色。在可视化中,颜色映射用于突出数据的规律,例如,你可能用较浅的颜色来显示较小的值,并使用较深的颜色来显示较大的值。

模块pyplot内置了一组颜色映射。要使用这些颜色映射,你需要告诉pyplot该如何设置数据集中每个点的颜色。下面演示了如何根据每个点的y值来设置其颜色:

复制代码
plt.scatter(x_values,y_values,c=y_values,cmap=plt.cm.Blues,edgecolor='none',s=40)

图表:

将参数c设置成了一个y值列表,并使用参数cmap告诉pyplot使用哪个颜色映射,代码将y值较小的点显示为浅蓝色,并将y值较大的点显示为深蓝色。

要了解pyplot中所有的颜色映射,请访问http://matplotlib.org/,单击Examples,向下滚动到Color Examples,再单击colormaps_reference。

(11)自动保存

要让程序自动将图表保存到文件中,可将对plt.show()的调用替换为对plt.savefig()的调用

复制代码
plt.savefig("squares.plot.png",bbox_inches='tight')

参考引用《Python从入门到实践》

相关推荐
zm10 分钟前
极限复习c++
开发语言·c++
硅基茶水间13 分钟前
「轻量级AI编程桌面软件」代码上下文一键搞定|已开源
python
追风赶月、22 分钟前
【QT】认识QT
开发语言·qt
Hockor43 分钟前
写给前端的 Python 教程三(字符串驻留和小整数池)
前端·后端·python
网安小张1 小时前
解锁FastAPI与MongoDB聚合管道的性能奥秘
数据库·python·django
GeekAGI1 小时前
Python 定时器框架
python
秋田君1 小时前
深入理解JavaScript设计模式之闭包与高阶函数
开发语言·javascript·设计模式
KENYCHEN奉孝1 小时前
Pandas和Django的示例Demo
python·django·pandas
拾零吖1 小时前
《Pytorch深度学习实践》ch8-多分类
人工智能·pytorch·python
亿牛云爬虫专家1 小时前
NLP驱动网页数据分类与抽取实战
python·分类·爬虫代理·电商·代理ip·网页数据·www.goofish.com