首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >标题、刻度、轴标签,matplotlib中未显示任何内容

标题、刻度、轴标签,matplotlib中未显示任何内容
EN

Stack Overflow用户
提问于 2020-05-05 01:59:23
回答 1查看 93关注 0票数 0

这是我的代码:

代码语言:javascript
运行
复制
import numpy as np
import matplotlib.pyplot as plt

def plot_graph():
  fig = plt.figure()
  data = [[top3_empsearch, top5_empsearch, top7_empsearch], [top3_elastic, top5_elastic, top7_elastic]]
  X = np.arange(3)
  ax = fig.add_axes([0, 0, 1, 1])
  ax.bar(X + 0.00, data[0], color='b', width=0.25)
  ax.bar(X + 0.25, data[1], color='g', width=0.25)
  ax.set_ylabel('Accuracy (in %)')
  plt.title('Percentage accuracy for selected result in Top-3, Top-5, Top-7 in employee search vs elastic search')
  plt.yticks(np.arange(0, 101, 10))
  colors = {'empsearch':'blue', 'elastic':'green'}
  labels = list(colors.keys())
  handles = [plt.Rectangle((0,0),1,1, color=colors[label]) for label in labels]

  plt.legend(handles, labels)
  plt.style.use('dark_background')
  plt.show()

plot_graph()

这段代码的结果是->

没有记号,没有标签,没有标题什么都看不见,我被迷惑了。会很感谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-05 02:55:27

唯一的问题是在这一行:

代码语言:javascript
运行
复制
ax = fig.add_axes([0, 0, 1, 1])

查看参考文献(https://matplotlib.org/3.1.1/api/_as_gen/matplotlib.figure.Figure.html),您将看到add_axes()函数的第一个参数是"rect",它指的是新轴的左、下、宽、高的尺寸,所有数量都是图形宽度和高度的分数。因此,在您的代码中,您准确地给出了图形的尺寸,因此标题、标记、标签……都在那里但却隐藏着。因此,你必须留出一些空间,减少一些绘图的尺寸。您只需修改以下内容即可:

代码语言:javascript
运行
复制
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])

或者,您可以将该行替换为:

代码语言:javascript
运行
复制
ax = fig.add_subplot(1,1,1) 

结果应该是一样的。

这是我的结果:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61598660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档