IMGUI 实现曲线绘制
时间: 2023-02-13 10:04:02 浏览: 173
IMGUI (Immediate Mode Graphical User Interface) 是一种快速开发用户界面的方法。在 IMGUI 中,你可以使用函数绘制各种图形,包括曲线。
要绘制曲线,你可以使用 IMGUI 函数 `ImDrawList::AddBezierCurve()`。这个函数接受 6 个参数:起点、第一个控制点、第二个控制点、终点、颜色、线宽。
下面是一个简单的例子,绘制了一条曲线:
```
ImDrawList* draw_list = ImGui::GetWindowDrawList();
draw_list->AddBezierCurve(ImVec2(100, 100), ImVec2(150, 150), ImVec2(200, 50), ImVec2(250, 100), IM_COL32(255, 0, 0, 255), 2.0f);
```
在这个例子中,起点是 (100, 100),第一个控制点是 (150, 150),第二个控制点是 (200, 50),终点是 (250, 100)。颜色是红色,线宽是 2.0。
相关问题
python实现PR曲线绘制
以下是Python实现PR曲线绘制的示例代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成示例数据
labels = np.random.choice([0, 1], size=1000, p=[0.7, 0.3])
scores = np.random.rand(1000)
# 计算Precision和Recall
TP = np.cumsum(labels == 1)
FP = np.cumsum(labels == 0)
precision = TP / (TP + FP)
recall = TP / np.sum(labels)
# 计算AP
AP = 0
for i in range(len(recall) - 1):
AP += (recall[i + 1] - recall[i]) * precision[i + 1]
# 绘制PR曲线
plt.plot(recall, precision, label=f'AP={AP:.2f}')
plt.xlabel('Recall')
plt.ylabel('Precision')
plt.title('PR Curve')
plt.legend()
plt.show()
```
示例数据中,`labels`是二分类标签(0或1),`scores`是预测得分(0到1之间的实数)。通过计算Precision和Recall,可以绘制出PR曲线。最后,计算AP(Average Precision)作为曲线下的面积,用于评估模型性能。
python实现pr曲线绘制
要使用Python绘制PR曲线,可以使用matplotlib和scikit-learn库来完成。下面是一个简单的示例代码:
```python
import matplotlib.pyplot as plt
from sklearn.metrics import precision_recall_curve
# 实际标签和预测分数
y_true = [0, 1, 1, 0, 1, 1]
y_scores = [0.2, 0.6, 0.8, 0.3, 0.7, 0.9]
# 计算精确度和召回率
precision, recall, thresholds = precision_recall_curve(y_true, y_scores)
# 绘制PR曲线
plt.plot(recall, precision)
plt.xlabel('Recall')
plt.ylabel('Precision')
plt.title('PR Curve')
plt.show()
```
这段代码中,`y_true`是实际的标签(0或1),`y_scores`是对应的预测分数。通过`precision_recall_curve`函数计算出精确度、召回率和阈值,然后使用`plt.plot`函数绘制PR曲线。最后使用`plt.xlabel`、`plt.ylabel`和`plt.title`函数添加轴标签和标题,最后使用`plt.show`显示图形。运行代码后,将会显示出PR曲线图。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)