四种统计图代码

这篇博客详细介绍了如何使用Python的Matplotlib库进行数据可视化,包括安装、网格线、散点图、线图和饼图的创建。通过实例展示了如何设置网格线的样式、散点图的颜色和大小、线的类型、颜色和宽度,以及饼图的标签、颜色和百分比显示。此外,还展示了如何使用颜色条和自定义颜色。
摘要由CSDN通过智能技术生成

Matplotlib 安装

本章节,我们使用 pip 工具来安装 Matplotlib 库,如果还未安装该工具,可以参考 Python pip 安装与使用

升级 pip:

python3 -m pip install -U pip

安装 matplotlib 库:

python3 -m pip install -U matplotlib

安装完成后,我们就可以通过 import 来导入 matplotlib 库:

import matplotlib

以下实例,我们通过导入 matplotlib 库,然后查看 matplotlib 库的版本号:

实例

import matplotlib

print(matplotlib.__version__)

执行以上代码,输出结果如下:

3.4.2

1.网格图

Matplotlib 网格线

我们可以使用 pyplot 中的 grid() 方法来设置图表中的网格线。

grid() 方法语法格式如下:

matplotlib.pyplot.grid(b=None, which='major', axis='both', )

参数说明:

  • b:可选,默认为 None,可以设置布尔值,true 为显示网格线,false 为不显示,如果设置 **kwargs 参数,则值为 true。
  • which:可选,可选值有 'major'、'minor' 和 'both',默认为 'major',表示应用更改的网格线。
  • axis:可选,设置显示哪个方向的网格线,可以是取 'both'(默认),'x' 或 'y',分别表示两个方向,x 轴方向或 y 轴方向。
  • **kwargs:可选,设置网格样式,可以是 color='r', linestyle='-' 和 linewidth=2,分别表示网格线的颜色,样式和宽度。

以下实例添加一个简单的网格线,参数使用默认值:

实例

import numpy as np
import matplotlib.pyplot as plt

= np.array([1, 2, 3, 4])
= np.array([1, 4, 9, 16])


plt.title("RUNOOB grid() Test")
plt.xlabel("x - label")
plt.ylabel("y - label")

plt.plot(x, y)

plt.grid()

plt.show()

显示结果如下:

 

以下实例添加一个简单的网格线,axis 参数使用 x,设置 x 轴方向显示网格线:

实例

import numpy as np
import matplotlib.pyplot as plt

= np.array([1, 2, 3, 4])
= np.array([1, 4, 9, 16])


plt.title("RUNOOB grid() Test")
plt.xlabel("x - label")
plt.ylabel("y - label")

plt.plot(x, y)

plt.grid(axis='x') # 设置 y 就在轴方向显示网格线

plt.show()

显示结果如下:

 

以下实例添加一个简单的网格线,并设置网格线的样式,格式如下:

grid(color = 'color', linestyle = 'linestyle', linewidth = number)

参数说明:

color'b' 蓝色,'m' 洋红色,'g' 绿色,'y' 黄色,'r' 红色,'k' 黑色,'w' 白色,'c' 青绿色,'#008000' RGB 颜色符串。

linestyle'‐' 实线,'‐‐' 破折线,'‐.' 点划线,':' 虚线。

linewidth:设置线的宽度,可以设置一个数字。

实例

import numpy as np
import matplotlib.pyplot as plt

= np.array([1, 2, 3, 4])
= np.array([1, 4, 9, 16])


plt.title("RUNOOB grid() Test")
plt.xlabel("x - label")
plt.ylabel("y - label")

plt.plot(x, y)

plt.grid(color = 'r', linestyle = '--', linewidth = 0.5)

plt.show()

显示结果如下:

 2.散点图

Matplotlib 散点图

我们可以使用 pyplot 中的 scatter() 方法来绘制散点图。

scatter() 方法语法格式如下:

matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, *, edgecolors=None, plotnonfinite=False, data=None, **kwargs)

参数说明:

x,y:长度相同的数组,也就是我们即将绘制散点图的数据点,输入数据。

s:点的大小,默认 20,也可以是个数组,数组每个参数为对应点的大小。

c:点的颜色,默认蓝色 'b',也可以是个 RGB 或 RGBA 二维行数组。

marker:点的样式,默认小圆圈 'o'。

cmap:Colormap,默认 None,标量或者是一个 colormap 的名字,只有 c 是一个浮点数数组的时才使用。如果没有申明就是 image.cmap。

norm:Normalize,默认 None,数据亮度在 0-1 之间,只有 c 是一个浮点数的数组的时才使用。

vmin,vmax::亮度设置,在 norm 参数存在时会忽略。

alpha:透明度设置,0-1 之间,默认 None,即不透明。

linewidths:标记点的长度。

edgecolors:颜色或颜色序列,默认为 'face',可选值有 'face', 'none', None。

plotnonfinite:布尔值,设置是否使用非限定的 c ( inf, -inf 或 nan) 绘制点。

**kwargs:其他参数。

以下实例 scatter() 函数接收长度相同的数组参数,一个用于 x 轴的值,另一个用于 y 轴上的值:

实例

import matplotlib.pyplot as plt
import numpy as np

= np.array([1, 2, 3, 4, 5, 6, 7, 8])
= np.array([1, 4, 9, 16, 7, 11, 23, 18])

plt.scatter(x, y)
plt.show()

显示结果如下:

 

设置图标大小:

实例

import matplotlib.pyplot as plt
import numpy as np

= np.array([1, 2, 3, 4, 5, 6, 7, 8])
= np.array([1, 4, 9, 16, 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值