我正在尝试绘制数据框的特定列,其名称包含 Julia Plots.jl(GR 后端)中的空格。
这是我的数据框架结构:
17-element Array{Symbol,1}:
Symbol("DATE/TIME")
[...]
:TEMPERATURE
Symbol("EXT TEMPERATURE")
:PIM
[...]
这是我的代码:
using CSV, DataFrames
me=CSV.File(joinpath(dir,"myfile.csv"),delim=';')
medf=me|>DataFrame
using Plots,StatPlots,GR
@df medf GR.plot(Symbol("EXT TEMPERATURE"),title="Temperature")
这失败了:
MethodError: no method matching plot(::Symbol)
Closest candidates are:
plot(!Matched::Union{AbstractString, Function, AbstractArray{T,2} where T, AbstractArray{T,1} where T}...; kv...) at C:\Users\condo\.julia\packages\GR\joQgG\src\jlgr.jl:1118
我可以:
@df medf GR.plot(:TEMPERATURE)
但我不能:
@df medf GR.plot(:EXT TEMPERATURE)
在这种特定情况下,我应该如何引用该专栏?
最佳答案
宏 @df
StatPlots
似乎有一些限制。幸运的是,StatPlots
包提供了 cols()
作为您的情况的解决方法。
尝试:
using CSV, DataFrames
me=CSV.File(joinpath(dir,"myfile.csv"),delim=';')
medf=me|>DataFrame
using StatPlots
gr() # N.B.: You can include things like size=(400,300), or dpi=400 here as params
@df medf plot(cols(Symbol("EXT TEMPERATURE")),title="Temperature")
关于csv - Plots.jl 中包含空格的列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52769264/