用R语言和文件采用绘制数据框的方式绘制折线图,不用ggplot2
时间: 2024-12-22 10:33:24 浏览: 3
要使用R语言绘制一个不依赖于`ggplot2`的数据框折线图,可以按照以下步骤进行:
1. **读取数据**:首先将文本文件中的数据读入R中。
2. **创建数据框**:将读取的数据转换为数据框格式。
3. **绘制折线图**:使用基本绘图函数(如`plot`和`lines`)来绘制折线图。
假设你的文本文件 `Pest Management.txt` 内容如下:
```
Region Pest Incidence Rate Proportion of Pest Incidence Rate Reduction
Area with Integrated Application of Green Pest Control Technologies 25% 25%
Area without Adoption of These Green Pest Control Technologies 50% /
```
以下是具体的代码示例:
```r
# 读取数据
data <- read.table("Pest Management.txt", header = TRUE, stringsAsFactors = FALSE)
# 查看数据结构
print(data)
# 将百分比字符串转换为数值
data$`Pest Incidence Rate` <- as.numeric(gsub("%", "", data$`Pest Incidence Rate`))
data$`Proportion of Pest Incidence Rate Reduction` <- as.numeric(gsub("%", "", data$`Proportion of Pest Incidence Rate Reduction`))
# 创建数据框
df <- data.frame(
Region = c("With Green Pest Control", "Without Green Pest Control"),
Pest_Incidence_Rate = c(25, 50),
Proportion_of_Pest_Incidence_Rate_Reduction = c(25, NA)
)
# 绘制折线图
plot(df$Region, df$Pest_Incidence_Rate, type = "o", pch = 19, col = "blue",
xlab = "Region", ylab = "Pest Incidence Rate (%)", main = "Pest Incidence Rate by Region")
# 添加第二个变量的折线图
lines(df$Region, df$Proportion_of_Pest_Incidence_Rate_Reduction, type = "o", pch = 17, col = "red")
# 添加图例
legend("topright", legend = c("Pest Incidence Rate", "Proportion of Pest Incidence Rate Reduction"),
col = c("blue", "red"), lty = 1, pch = c(19, 17))
# 显示图表
```
### 解释
1. **读取数据**:使用 `read.table` 函数读取文本文件,并设置 `header = TRUE` 表示文件有表头。
2. **数据预处理**:将百分比字符串转换为数值,以便在绘图时使用。
3. **创建数据框**:手动创建一个数据框 `df`,包含两个区域的虫害发生率和减少比例。
4. **绘制折线图**:使用 `plot` 和 `lines` 函数分别绘制虫害发生率和减少比例的折线图。
5. **添加图例**:使用 `legend` 函数添加图例,以区分不同的线条。
这样,你就可以得到一个显示不同区域虫害发生率及其减少比例的折线图。
阅读全文