I am using Plots and it requires to be set labels as 1×n Array{String, 2} but I want to make the labels automatically. I can get n-element Array{String, 1} but I cannot find how to convert this to 1×n Array{String, 2}. Can anyone help?

# How to make 1×n Array{String, 2} from n-element Array{String, 1}?

There’s also `permutedims`

:

```
julia> sa = ["a","b","c"]
3-element Array{String,1}:
"a"
"b"
"c"
julia> permutedims(sa)
1×3 Array{String,2}:
"a" "b" "c"
```

`permutedims(sa)`

seems to be about 5x faster than `reshape(sa, 1, :)`

, though the difference probably doesn’t matter in this case.

**paalon**#7

I cant permutedims. What version is your Julia? I’m using 0.6.2.

```
julia> sa = ["a", "b", "c"]
3-element Array{String,1}:
"a"
"b"
"c"
julia> permutedims(sa)
ERROR: MethodError: no method matching permutedims(::Array{String,1})
Closest candidates are:
permutedims(::Union{Base.ReshapedArray{T,N,A,MI} where MI<:Tuple{Vararg{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64},N} where N} where A<:Union{DenseArray, SubArray{T,N,P,I,true} where I<:Tuple{Union{Base.Slice, UnitRange},Vararg{Any,N} where N} where P where N where T}, DenseArray{T,N}, SubArray{T,N,A,I,L} where L} where I<:Tuple{Vararg{Union{Base.AbstractCartesianIndex, Int64, Range{Int64}},N} where N} where A<:Union{Base.ReshapedArray{T,N,A,MI} where MI<:Tuple{Vararg{Base.MultiplicativeInverses.SignedMultiplicativeInverse{Int64},N} where N} where A<:Union{DenseArray, SubArray{T,N,P,I,true} where I<:Tuple{Union{Base.Slice, UnitRange},Vararg{Any,N} where N} where P where N where T} where N where T, DenseArray} where N where T, ::Any) at multidimensional.jl:1292
permutedims(::AbstractArray, ::Any) at permuteddimsarray.jl:116
```

Huh, it’s a v0.7 change apparently:

permutedims(m::AbstractMatrix) is now short for permutedims(m, (2,1)), and is now a more convenient way of making a “shallow transpose” of a 2D array. This is the recommended approach for manipulating arrays of data, rather than the recursively defined, linear-algebra function transpose. Similarly, permutedims(v::AbstractVector) will create a row matrix (#24839).

It was on 0.7 that I tried that, I too get this error on 0.6. `permutedims`

on 0.6 doesn’t seem to have a way of changing a 1-D array into 2-D, so reshape is probably the way to go.

**kevbonham**#9

This short thread had been so educational. I didn’t know about permutedims (well, I did at one point and then forgot), and I *also* didn’t know you could do `:`

in reshape - that’s great!