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()