我试图用matplotlib绘制一个柱状图,在各个条形图之间留出一点空间。因此我设置rwidth=0.9
。这是输出:
有没有避免故障的方法?为rwidth
设置较低的值可确保将所有条分隔开,但空间宽度仍存在明显差异:
我使用的是matplotlib 2.0.2版。这里有一个pip freeze
如果有帮助:
appdirs==1.4.3
bleach==2.0.0
bokeh==0.12.9
callcatcher==1.2.0
certifi==2017.7.27.1
chardet==3.0.4
cycler==0.10.0
decorator==4.1.2
entrypoints==0.2.3
graphviz==0.8
holoviews==1.8.4
html5lib==0.999999999
idna==2.6
ipykernel==4.6.1
ipython==6.2.0
ipython-genutils==0.2.0
ipywidgets==7.0.1
jedi==0.11.0
Jinja2==2.9.6
jsonschema==2.6.0
jupyter==1.0.0
jupyter-client==5.1.0
jupyter-console==5.2.0
jupyter-core==4.3.0
MarkupSafe==1.0
matplotlib==2.0.2
mistune==0.7.4
nbconvert==5.3.1
nbformat==4.4.0
notebook==5.1.0
numpy==1.13.2
packaging==16.8
pandas==0.20.3
pandocfilters==1.4.2
param==1.5.1
parso==0.1.0
pexpect==4.2.1
pickleshare==0.7.4
pkg-resources==0.0.0
prompt-toolkit==1.0.15
ptyprocess==0.5.2
Pygments==2.2.0
pyparsing==2.2.0
python-dateutil==2.6.1
pytz==2017.2
PyYAML==3.12
pyzmq==16.0.2
qtconsole==4.3.1
requests==2.18.4
scipy==0.19.1
seaborn==0.8.1
simplegeneric==0.8.1
six==1.11.0
terminado==0.6
testpath==0.3.1
tornado==4.5.2
traitlets==4.3.2
urllib3==1.22
wcwidth==0.1.7
webencodings==0.5.1
widgetsnbextension==3.0.3
xonsh==0.3.2
感谢任何帮助,谢谢!在
卢卡斯
在Histogram上的连续条之间应该没有间隔:“由于相邻的存储单元没有间隔,柱状图的矩形互相接触以表示原始变量是连续的。[4]”
我不认为这是matplotlib的问题。尝试减少箱子的数量或增加图表的大小,你可能会看到条形图之间的间隙。我这么说可能是因为这取决于你的浏览器如何呈现直方图。在
要设置直方图的大小,必须设置
figsize
;图形的宽度和高度(以英寸为单位)。在我认为这种行为是在2.0版的matplotlib中引入的(至少我不记得在以前的版本中这种情况会像现在这样糟糕,但我在这里可能是错的),人们可以认为它是一个bug。bug可以在issue tracker上报告。当然,在某些情况下,不可能存在最佳解决方案(即,如果钢筋非常薄)。在
以下是关于如何处理这个问题的一些考虑。在
首先,请注意,由于使用的是矢量格式,导出为pdf的图形不存在条形宽度不等的问题。因此,对于出版物或类似的,使用PDF绝对是一个可以考虑的选项。在
因为pdf工作正常,您可以将pdf转换为png,例如通过imagemagick
您可以创建一个更高分辨率的png图像。一、 将
dpi
更改为高于200的值可能已经得到了所需的输出在Jupyter笔记本中工作时,也可以将数字的dpi设置为更高的值
所有数字或
为一个单一的数字。缺点可能是数字太大。
为了避免上面的大图像,您可以不显示实际的图形,而是显示高dpi的图形,但将输出的宽度设置为一些较小的值。这有点乏味,但当然可以复制粘贴下面的函数以供重用。在
相关问题 更多 >
编程相关推荐