r - 如何在水平条形图中绘制具有递减值的数据,以便显示所有州的名称?

标签 r plot

我想绘制以下数据:

         Alabama               Alaska              Arizona 
            5471                 1349                 2328 
        Arkansas           California             Colorado 
            2842                16306                 3201 
     Connecticut             Delaware District of Columbia 
            3067                 1685                 3195 
         Florida              Georgia               Hawaii 
           15029                 8925                  289 
           Idaho             Illinois              Indiana 
             661                17556                 5852 
            Iowa               Kansas             Kentucky 
            2517                 2145                 4157 
       Louisiana                Maine             Maryland 
            8103                  907                 5798 
   Massachusetts             Michigan            Minnesota 
            5981                 6136                 2408 
     Mississippi             Missouri              Montana 
            3599                 6631                  638 
        Nebraska               Nevada        New Hampshire 
            1651                 1952                  964 
      New Jersey           New Mexico             New York 
            5387                 1645                 9712 
  North Carolina         North Dakota                 Ohio 
            8739                  573                10244 
        Oklahoma               Oregon         Pennsylvania 
            3455                 2286                 8929 
    Rhode Island       South Carolina         South Dakota 
             895                 6939                  544 
       Tennessee                Texas                 Utah 
            7626                13577                 1072 
         Vermont             Virginia           Washington 
             472                 5949                 3434 
   West Virginia            Wisconsin              Wyoming 
            1575                 4787                  494 

在具有递减值的水平条形图中。我尝试了各种情节,但没有出现州名。只打印了一些名字。

我使用了简单的 Plot 函数,但我无法弄清楚如何让状态的名称出现。

将上述数据绘制成水平直方图

plot(table(dfnew$state), type = "h")

只出现了几个州名。

最佳答案

虽然我看到您尝试提供您的数据(谢谢),但它不是我无需再次全部输入即可使用的格式。我不想那样做,所以我将改用内置的 USArrests 数据。

您可以使用 barplot 函数获得水平条形图。尝试将 50 个州挤在那里,您将需要调整边距并使用小字体,但这当然可以做到。您可以使用 order 对条目进行排序。

data(USArrests)

par(mar=c(4,7,1,2))
barplot(USArrests$Murder[order(USArrests$Murder)], 
    names.arg=row.names(USArrests)[order(USArrests$Murder)],
    las=2, cex.names=0.7, horiz=TRUE)

Horizontal bar plot

认为您的数据需要的是

par(mar=c(4,7,1,2))
TAB = table(dfnew$state)
barplot(sort(TAB), names.arg=names(TAB)[order(TAB)],
    las=2, cex.names=0.7, horiz=TRUE)

但没有您的数据,那是未经测试的。顺便说一句,您可能还需要使图形窗口比默认窗口大。

关于r - 如何在水平条形图中绘制具有递减值的数据,以便显示所有州的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57453056/

相关文章:

r - 不透明的传奇盒子

python - 在实时绘图期间在 matplotlib 中移动 x Axis (python)

r - 如何在 Windows 7 64 位上安装 ROracle

r - 如何从 RStudio 中的查看器将绘图保存为磁盘上的图像?

r - 测试单个数值向量的所有元素之间的相等性

matlab - 如何在 Octave/MATLAB 中标记 X 轴上的点?

python - 安德鲁斯曲线中的颜色

r - 手动增加geom_tile中的图例范围

r - 当数字不完全匹配时匹配 2 个数据框中的列

用另一个替换一个正则表达式匹配,反之亦然