怎么把两条二维曲线画在同一张图里,给出完整python代码
时间: 2024-11-15 10:23:28 浏览: 19
在Python中,你可以使用matplotlib库来绘制二维曲线。以下是一个简单的例子,展示了如何将两条曲线(例如正弦和余弦函数)在同一张图上绘制:
```python
import matplotlib.pyplot as plt
import numpy as np
# 定义x值范围
x = np.linspace(0, 2 * np.pi, 400)
# 函数1 - 正弦曲线
y1 = np.sin(x)
# 函数2 - 余弦曲线
y2 = np.cos(x)
# 创建一个新的图形
plt.figure()
# 绘制第一条曲线,并设置颜色和线型
plt.plot(x, y1, label='正弦', color='blue', linestyle='-')
# 绘制第二条曲线,这里我们使用点状线表示
plt.scatter(x, y2, s=5, c=y2, cmap='coolwarm', marker='o', alpha=0.7, label='余弦')
# 设置标题和标签
plt.title('正弦与余弦函数的对比')
plt.xlabel('X轴')
plt.ylabel('Y轴')
# 添加图例
plt.legend()
# 显示图像
plt.show()
相关问题
对于不同模型ROC曲线画在同一张图中Python代码
要画出不同模型的 ROC 曲线在同一张图中,可以使用 Python 中的 Matplotlib 库。以下是一个简单的例子,假设你有两个模型的预测概率值和对应的标签:
```python
import numpy as np
import matplotlib.pyplot as plt
from sklearn.metrics import roc_curve, auc
# 第一个模型的预测概率值和真实标签
y_pred_1 = np.array([0.2, 0.5, 0.7, 0.8, 0.1])
y_true_1 = np.array([0, 0, 1, 1, 0])
# 第二个模型的预测概率值和真实标签
y_pred_2 = np.array([0.1, 0.4, 0.6, 0.9, 0.3])
y_true_2 = np.array([0, 1, 1, 1, 0])
# 计算 ROC 曲线和 AUC 值
fpr_1, tpr_1, thresholds_1 = roc_curve(y_true_1, y_pred_1)
auc_1 = auc(fpr_1, tpr_1)
fpr_2, tpr_2, thresholds_2 = roc_curve(y_true_2, y_pred_2)
auc_2 = auc(fpr_2, tpr_2)
# 画 ROC 曲线
plt.plot(fpr_1, tpr_1, color='blue', lw=2, label='Model 1 (AUC = %0.2f)' % auc_1)
plt.plot(fpr_2, tpr_2, color='red', lw=2, label='Model 2 (AUC = %0.2f)' % auc_2)
# 设置图像属性
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.title('Receiver Operating Characteristic')
plt.legend(loc="lower right")
plt.show()
```
在上面的代码中,我们使用 `roc_curve` 函数计算每个模型的 ROC 曲线和 AUC 值,并使用 `plot` 函数绘制它们。`xlabel` 和 `ylabel` 函数分别设置 X 轴和 Y 轴的标签,`title` 函数设置图像标题,`legend` 函数添加图例,`show` 函数显示图像。你可以根据需要修改这些属性以及其他属性来自定义你的图像。
matlab 把多条曲线都画在同一张图里
在MATLAB中,如果你想将多条曲线都绘制在同一张图表上,你可以使用`plot`函数或者是更高级的图形处理功能如`figure`和`hold on`。以下是基本步骤:
1. **创建数据**:首先,你需要为每条曲线生成一组或多组数据。
2. **创建新图**:使用`figure`命令打开一个新的窗口,或者在已有窗口下工作。
3. **hold on**:在`plot`命令前加上`hold on`,这会保持当前绘图区域的状态,不会覆盖之前的图形,直到你明确地关闭这个模式。
4. **绘制第一条曲线**:通过`plot(xdata, ydata, 'line_style')`命令,其中`xdata`和`ydata`是你想要绘制的数据,`line_style`可以是线型、点型或其他样式。
5. **依次绘制其他曲线**:对每一条新的数据集,重复第4步。
6. **关闭hold状态**:当你完成所有曲线的绘制后,记得添加`hold off`来结束hold模式,以便新的数据不会被叠加到之前的数据上。
例如:
```matlab
x = linspace(0, 2*pi, 100);
y1 = sin(x);
y2 = cos(x);
figure;
hold on; % 开启hold模式
plot(x, y1, 'r', 'LineWidth', 2); % 红色实线
plot(x, y2, 'b:', 'MarkerSize', 8); % 蓝色虚线,点大小为8
hold off; % 关闭hold模式
% 添加标题和轴标签
title('Multiple Curves on Same Plot');
xlabel('X-axis');
ylabel('Y-axis');
```
阅读全文