通过使用matplotlib,我想绘制随时间变化的训练精度、验证精度、训练误差和验证误差。x轴是所有曲线的迭代次数。我想为精度值保留左x轴,为损耗值保留右y轴,然后在同一个图上绘制所有四个。
为了做到这一点,我尝试了几件事,最后我没有达到我想要的程度。
有人能帮我吗?
我的代码(没有按我的要求工作):
fig = plt.figure()
ax = fig.add_subplot(111, label="1")
ax.plot(e_t_x, e_t_y, label="ERROR TRAIN", color='r')
ax.set_ylabel("Error", color="r")
ax1 = fig.add_subplot(111, label="2", frame_on=False)
ax1.plot(e_v_x, e_v_y, label="ERROR VALIDATION", color='g')
empty_string_labels = [''] * len(e_v_y)
ax1.set_xticklabels(empty_string_labels)
ax2 = fig.add_subplot(111, label="3", frame_on=False)
ax2.plot(a_t_x, a_t_y, label="ACC TRAIN", color='b')
ax2.set_ylabel("Acc", color="b")
ax2.yaxis.tick_right()
ax2.yaxis.set_label_position('right')
ax3 = fig.add_subplot(111, label="4", frame_on=False)
ax3.plot(a_v_x, a_v_y, label="ACC VALIDATION", color='c')
plt.legend()
plt.show()
我想这样做(但我没有3条曲线,而是4条曲线)(我从这里拍摄图像:https://datascience.stackexchange.com/questions/53857/why-could-an-overfitted-cnn-model-have-a-higher-validation-accuracy)
您只需要两个轴。ax2必须是ax1的双轴。可以在每个轴上绘制任意数量的打印。请参见以下代码,其中正弦和cos绘制在左侧y轴上,而立方和二次曲线绘制在右侧y轴上:
import numpy as np
from matplotlib import pyplot as plt
import math
fig = plt.figure(figsize=(12,5))
fig.suptitle("title")
ax1 = fig.add_subplot()
ax2 = ax1.twinx()
x = np.linspace(0,10,100)
sinx = [math.sin(angle) for angle in x]
cosx = [math.cos(angle) for angle in x]
ax1.plot(x,sinx, label = 'sin')
ax1.plot(x,cosx, label = 'cos')
quadratic = [num**2 for num in x]
cubic = [num**3 for num in x]
ax2.plot(x,quadratic, color='green', label = 'quadratic')
ax2.plot(x,cubic, color='red', label = 'cubic')
ax1.set_ylabel("sin, cos")
ax2.set_ylabel("quadratic, cubic")
ax1.legend(loc = 'upper left')
ax2.legend(loc = 'upper right')
plt.show()
我有一个固定点,我想画一条线,穿过这个固定点,并且与x轴成45度角,即斜率1。 如何使用matplotlib执行此操作?
本文向大家介绍matplotlib 同一图中的多条线/曲线,包括了matplotlib 同一图中的多条线/曲线的使用技巧和注意事项,需要的朋友参考一下 示例
我正在尝试使用swing制作一个rpg(是的,这是愚蠢的,我同意,但我这样做是为了学习,而不是实际的工作产品)。目前我正在研究每个角色的统计。 我有一个JPanel,我想画一条线。 左侧是一个JPanel,它有两个组件:表1和JLabel。右侧也是JPanel,它有自己的元素,但那是另一回事了。 我的问题是,我想创建一个只有一个图像的jpanel,该图像将是两行,与表中选定的元素相关。 但不幸的是
主要内容:示例可以使用类的方法在图像上绘制一条线。以下是此方法的语法。 该方法接受以下参数 - mat - 表示要在其上绘制线条的图像的Mat对象。 pt1和pt2 - 表示要绘制线条的点的两个点对象。 scalar - 表示圆的颜色的标量对象(BGR)。 thickness - 表示线条粗细的整数; 默认情况下,厚度值为。 示例 以下程序演示如何在图像上绘制线条并使用JavaFX窗口显示。 在执行上述程序时,
我想创建一个包含三条线(男性、女性、未知)的折线图。这是我的数据示例: 是否有一个选项,在图中自动创建三行或我需要循环通过数据和创建三个跟踪自己?到目前为止,这是我的代码:
我有以下代码应该在图像中绘制线条。我的代码是: 如果我编写,它实际上可以工作。但是我的数组很长并且来自一个输入。