1、折线图(Line Plot)
绘制折线图(Line Plot)是一项基础且常用的功能。折线图非常适合展示数据随时间或其他连续变量变化的趋势。使用plt.plot()
函数用于在坐标轴上绘制折线图(Line Plot),它提供了多种参数来自定义图像的外观。常用参数如下,
参数 | 描述 |
color | 设置线条颜色,可以是颜色名称或十六进制代码。 |
linestyle | 设置线条样式,例如 '-', '--', '-.', ':'。 |
linewidth | 设置线条宽度,为浮点数值。 |
marker | 设置数据点标记的样式,如 'o', 's', '^', '+' 等。 |
markersize | 设置标记的大小。 |
label | 设置图例标签,用于 plt.legend()。 |
使用代码:
import matplotlib.pyplot as plt
import numpy as np
# 创建数据
x = np.linspace(0, 2 * np.pi, 100)
y1 = np.sin(x)
# 创建画布
plt.figure()
# 绘制一条线(正弦曲线),自定义颜色、线条样式、线条宽度和标记
plt.plot(x, y1, color='blue', linestyle='-', linewidth=2, marker='o', markersize=8, label='sin(x)')
# 添加图例
plt.legend()
# 添加标题和轴标签
plt.title('cjavapy Line Plot')
plt.xlabel('X Axis')
plt.ylabel('Y Axis')
# 使用 plt.draw() 显示画布
plt.draw()
# 显示图表
plt.show()
2、散点图(Scatter Plot)
绘制散点图(Scatter Plot)是一种常用的方法来探索和展示数据集中各个数据点的分布。散点图通常用于比较两个变量之间的关系。使用plt.scatter()
函数用于创建散点图,是数据可视化中常用的一个工具。常用参数如下,
参数 | 描述 |
x | 散点的 x 坐标。 |
y | 散点的 y 坐标。 |
s | 散点的大小,可以是单个数值或与数据点数量相等的数组。 |
c | 散点的颜色,可以是单个颜色格式的字符串或一系列颜色。 |
marker | 标记的样式,默认为 'o'。 |
alpha | 散点的透明度,介于 0(完全透明)和 1(完全不透明)之间。 |
linewidths | 标记边缘的线宽。 |
edgecolors | 标记边缘的颜色。 |
label | 用于图例的标签。 |
使用代码:
import matplotlib.pyplot as plt
# 示例数据
x = [5, 7, 8, 7, 2, 17, 2, 9, 4, 11, 12, 9, 6]
y = [99, 86, 87, 88, 100, 86, 103, 87, 94, 78, 77, 85, 86]
sizes = [210, 410, 312, 214, 415, 312, 213, 210, 410, 312, 214, 415, 312]
colors = ['red', 'green', 'blue', 'yellow', 'pink', 'black', 'orange', 'purple', 'beige', 'brown', 'gray', 'cyan', 'magenta']
# 创建散点图
plt.scatter(x, y, s=sizes, c=colors, marker='o', alpha=0.5, linewidths=2, edgecolors='w', label='Data Points')
# 添加图例
plt.legend()
# 添加标题和轴标签
plt.title('cjavapy Scatter Plot')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
# 使用 plt.draw() 显示画布
plt.draw()
# 显示图表
plt.show()
3、柱状图(Bar Plot)
绘制柱状图(Bar Plot)是一种常见的方式来可视化数据。柱状图适合展示不同类别间的比较。使用plt.bar()
函数是用于创建条形图的常用函数。
常用参数如下,
参数 | 描述 |
x | 条形的 x 坐标。 |
height | 条形的高度。 |
width | 条形的宽度,默认值为 0.8。 |
bottom | 条形的起始位置 y 坐标,默认为 None。 |
align | 条形的对齐方式,'center' 或 'edge',默认为 'center'。 |
color | 条形的颜色。 |
edgecolor | 条形边缘的颜色。 |
linewidth | 条形边缘的线宽。 |
tick_label | 用作条形标签的标签序列。 |
label | 用于为条形图添加图例的标签。 |
使用代码:
import matplotlib.pyplot as plt
# 示例数据
categories = ['Category A', 'Category B', 'Category C', 'Category D']
values = [10, 15, 7, 12]
# 创建条形图
plt.bar(x=categories, # x 坐标
height=values, # 条形的高度
width=0.6, # 条形的宽度
bottom=0, # 条形的起始位置 y 坐标
align='center', # 条形的对齐方式
color='blue', # 条形的颜色
edgecolor='black', # 条形边缘的颜色
linewidth=1, # 条形边缘的线宽
tick_label=categories, # 条形标签
label='Value') # 图例标签
# 添加 x 轴和 y 轴标签
plt.xlabel('Categories')
plt.ylabel('Values')
# 添加图表标题
plt.title('cjavapy Bar Chart Example')
# 显示图例
plt.legend(loc='upper right', fontsize='small', title='Trigonometric Functions', frameon=True, shadow=True, ncol=1)
# 使用 plt.draw() 显示画布
plt.draw()
# 显示图表
plt.show()
4、饼图(Pie Chart)
饼图(Pie Chart)是一种常用的图表类型,用于显示数据的相对比例。每个扇区的大小表示该类别的比例。饼图非常适合于展示部分与整体之间的关系。使用plt.pie()
函数绘制饼图,常用参数如下,
参数 | 说明 |
x | 数据数组,数组中的每个元素对应饼图的一个扇区。 |
labels | 为饼图的每个扇区指定的标签。 |
autopct | 用于在扇区内自动添加百分比标签。 例如 '%1.1f%%'会显示带有一位小数的百分比。 |
colors | 用于指定扇区的颜色序列,可以是颜色代码或颜色名称的列表。 |
startangle | 饼图开始的角度,默认从x轴正方向开始,角度按逆时针方向增加。 |
radius | 饼图的半径大小,默认为1。 |
counterclock | 是否按逆时针方向排列扇区。默认为True。 |
explode | 用于“爆炸”扇区,即将某个或某些扇区从中心点突出显示。用于强调部分数据。 |
shadow | 是否给饼图添加阴影效果。默认为False。 |
wedgeprops | 定义扇区边缘的属性,如边缘线的宽度、颜色等。 |
使用代码:
import matplotlib.pyplot as plt
# 数据准备
sizes = [15, 30, 45, 10]
labels = ['Category A', 'Category B', 'Category C', 'Category D']
colors = ['gold', 'yellowgreen', 'lightcoral', 'lightskyblue']
explode = (0, 0.1, 0, 0) # 突出显示第二个扇区
# 绘制饼图
plt.pie(sizes, explode=explode, labels=labels, colors=colors, autopct='%1.1f%%', startangle=140, shadow=True)
# 确保饼图是圆形的
plt.axis('equal')
# 添加图表标题
plt.title('cjavapy')
# 使用 plt.draw() 显示画布
plt.draw()
# 显示图表
plt.show()
5、直方图(Histogram)
绘制直方图(Histogram)是一种常用的方法来可视化数据的分布。直方图通过将数据分组到连续的区间或“桶”中,并计数每个桶中的观测次数来工作。使用plt.hist() 函数绘制制直方图。常用参数如下,
参数 | 说明 |
x | 需要绘制直方图的数据。 通常是一维数组或序列。 |
bins | 指定直方图的bin(箱子)数量或边界。 可以是整数(指定bin数量) 或序列(指定每个bin的边界)。 |
range | 指定要显示的数据范围, 形式为(最小值, 最大值)。 |
density | 若为True ,则直方图显示的是密度而非计数, 即bin的面积总和等于1。 |
histtype | 指定直方图的类型。常见的类型有 'bar'、'barstacked' 、'step'和'stepfilled'。 |
align | 指定bin边缘与刻度线的对齐方式。可选值有 'left'、'mid'、'right'。 |
orientation | 直方图的方向。默认是 'vertical',可设置为'horizontal' 获得水平直方图。 |
color | 指定直方图的颜色。 |
label | 用于直方图的标签,适用于图例的显示。 |
使用代码:
import matplotlib.pyplot as plt
import numpy as np
# 生成随机数据
data = np.random.normal(0, 1, 1000) # 生成1000个均值为0,标准差为1的正态分布随机数
# 创建直方图
plt.hist(data, bins=30, range=(-3, 3), density=True, histtype='bar', color='skyblue', edgecolor='black', alpha=0.7, label='Random Data')
# 添加标题和轴标签
plt.title('cjavapy Histogram')
plt.xlabel('Value')
plt.ylabel('Probability Density')
# 显示图例
plt.legend()
# 显示网格
plt.grid(color='gray', linestyle='--', linewidth=0.5)
# 使用 plt.draw() 显示画布
plt.draw()
# 显示图形
plt.show()