图中的图例未显示,y轴也未显示所有标签

时间:2018-07-08 10:41:55

标签: r plot linear-regression

我真的是编程新手。 我想绘制一些数据,除了我的图例外,其他所有工作都在进行,其中包含有关线性回归的一些数据。 另外,y轴的格式似乎不正确,因为第一个和最后一个标签未像x轴那样显示。 有人可以向我解释一下,如何显示我的文字说明,以及如何正确设置轴的格式?

import matplotlib.pyplot as plt
import numpy as np
w = h = 200
verts = [[255,0,0],[0,255,0],[0,0,255],[255,0,0]]
img = np.empty((h,w,3), np.uint8)
for y in range(h):
    for x in range(w):
        img[y,x] = get_color(x/w, y/h, *verts)
plt.imshow(img)
plt.show()

我真的没有经验,所以欢迎大家提供帮助。

具有正确格式化的x轴和错误的y轴的图,也没有文本框显示:

enter image description here

1 个答案:

答案 0 :(得分:0)

x函数中的ytext()自变量与数据的相应坐标有关。因此,您可以根据文本图例的显示位置来指定值。 \n之后不需要空格。

text(x = 50, y = 9, labels= "slope = 3.391e-03 \nintercept = 8.012e+00 \nR2 = 0.9967 \nP = 2.2e-16")

要纠正y轴问题,只需在ylim = c(7.5, 11)内添加plot(.)

完成此操作后,最好将绘图导出,例如通过png()

png("test.png", width=1080, height=720, res = 100)
plot(df$gewicht, df$auslenkung, xaxt = "n", yaxt = "n", col = "red", 
     xlab = "Belastung [g]", ylab = "Längenänderung [mm]", 
     main = "Änderung des Länge eines Messingdrahtes", ylim = c(7.5, 11),
     frame.plot = FALSE)
axis(1, at = seq(0, 800, by = 100), las= 2)
axis(2, at = seq(7.5, 11, by = 0.5), las= 2)
fit1 <- lm(auslenkung ~ gewicht, data = df)
abline(fit1, lty = "dashed")
text(x = 50, y = 9, labels= "slope = 3.391e-03 \nintercept = 8.012e+00 \nR2 = 0.9967 \nP = 2.2e-16")
dev.off()

屈服

enter image description here

您可以稍微调整一下坐标,以将图例放置在所需位置。

该图将保存到您的工作目录中(使用getwd()进行查找)。