Julia使用GR绘图不显示轴标签且报GKS错误如何解决?
报错原因
- 你的x轴设置为log10对数刻度,但自定义的x_ticks中包含0,log10(0)为负无穷无意义,导致绘图库计算视图范围时出错,触发GKS报错,坐标轴无法正常渲染。
- 水平条形图参数顺序错误:Plots.jl中使用
orientation=:horizontal参数时,bar函数第一个参数为数值轴(耗时数据),第二个为分类轴(语言名称),你当前的传参顺序颠倒,会进一步导致坐标轴映射异常。
修正方案
调整刻度值去掉0,同时修正参数顺序即可,修正后代码如下:
# 分别提取语言分类和耗时数值 langs = map(p -> p[1], l_vec) times = map(p -> p[2], l_vec) # 去掉0,调整为全部为正的自定义刻度,覆盖所有数据范围 x_ticks = [1, 2, 3, 4, 5, 10, 100, 500, 1000, 2000, 3000] bar(times, langs, color="dark blue", xaxis = ("time (ms)", :log10), yaxis = ("Languages"), orientation= :horizontal, label = "", fillrange=1e-2, xticks = (x_ticks, x_ticks), xrotation = 45)
运行上述代码即可消除GKS报错,坐标轴标签、刻度和条形都会正常渲染。
内容的提问来源于stack exchange,提问作者hcp
相关产品推荐
相关产品推荐

