我一直在使用包含变量的数据集:名称(用于太阳能电池板阵列工厂),年份完成和状态(完成,不完整和正在进行中)。我创建了一个带有“名称”和“完成年份”数据点的图表,但我想根据其“状态”(完整,不完整,正在进行中)为每个数据点着色
我尝试使用此功能,但无济于事
fill_colors <- c()
for (m in 1:length (solar$Status)) {
if (solar$Status[m] == "completed") {
fill_colors <- c(fill_colors, "#F2F0CE")
} else {
fill_colors <- c(fill_colors, "#cccccc")
}
}
以下是数据集的示例 -
State Name Year.completed Status
1 CO Alamosa WTF 2008 completed
2 CO Arvada Ralston Water Treatment Plant 2008 completed
3 CO Rifle Pump Station 2008 completed
4 CO NREL Mesa Top PV Project 2008 completed
5 AZ Pima County Wastewater 2011 completed
以下是可视化在其当前状态下的样子 https://www.dropbox.com/s/u5x3upwe3tre5qh/line_plot.jpg
https://www.dropbox.com/s/pxmxgxcm0oefhww/line_plot.jpg
继承我的情节命令澄清:
plot(solar$Name, solar$Year.completed, ylim=c(1990, 2025), xlim=c(1, 213), yaxt="n", xaxt="n", col=as.factor(solar$Status))
axis(1, at=1:length(unique(solar$Name)), labels=unique(solar$Name), cex.axis=0.5, las=2)
axis(2, at=1990:2025, labels=1990:2025, cex.axis=0.5, las=2)
points(solar$Name, solar$Year.completed, ylim=c(1990, 2025), yaxt="n", xaxt="n", type="h", pch="10")
答案 0 :(得分:1)
试试这个:
plot(solar$StateName, solar$YearCompleted, col=as.factor(solar$Status))
答案 1 :(得分:1)
首先,检查因子的顺序。
as.factor(solar$Status)
> Levels: a b c
说我想要一个 - &gt;绿色,b - &gt;黄色,c - &gt;红色。使用以下选项设置调色板值:
palette(value=c('green','yellow','red'))
它将打开一个绘图窗口。输入您的绘图命令,它将按照您设置的调色板的顺序为每个因子着色(如果您设置的数量少于因子水平中包含的数量,它将回收颜色)。
plot(solar$StateName, solar$Year.completed, col=as.factor(solar$Status))