Python 需要固定图形的x轴和y轴,以便我可以清楚地看到表示

Python 需要固定图形的x轴和y轴,以便我可以清楚地看到表示,python,matplotlib,graph,Python,Matplotlib,Graph,我用python(spyder)将图像作为输出生成。y轴上的数字都杂乱无章,无法读取。如何才能使图形使y轴上的每个数字都清晰可读。我还想更改x轴的长度,这样用户就可以知道每个条对应于x轴的值。这一点真的很难理解 所以,是的,我确实想改变x轴和y轴的方式,正如我前面提到的。请帮我做这个。我使用import matplotlib.pyplot作为plt,所以请不要更改它。请按照下面的链接获取我得到的图形图像 代码如下: tempArray = myNumpRead[:,1] barh = plt.

我用python(spyder)将图像作为输出生成。y轴上的数字都杂乱无章,无法读取。如何才能使图形使y轴上的每个数字都清晰可读。我还想更改x轴的长度,这样用户就可以知道每个条对应于x轴的值。这一点真的很难理解

所以,是的,我确实想改变x轴和y轴的方式,正如我前面提到的。请帮我做这个。我使用import matplotlib.pyplot作为plt,所以请不要更改它。请按照下面的链接获取我得到的图形图像

代码如下:

tempArray = myNumpRead[:,1]
barh = plt.subplot(111)
width = 0.8
barh.barh(range(len(states)), tempArray)
barh.set_ylim(-width,len(states)+width)
barh.set_yticks(np.arange(len(states)) + width/2)
barh.set_yticklabels(states, rotation=0)
plt.title('Population by State')
plt.xlabel('Population')
plt.ylabel('State Ticker')
plt.grid(True)
plt.show()

谢谢您的帮助。

您的问题很难回答,因为没有变量,您的代码是不可复制的,而且我无法在您提供的链接中看到图片

然而,增加你身材的宽度可能是你想要的。可以这样做:

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 1)
y = x**2

fig = plt.figure(figsize=(10, 3)) # the 10 here is width, the 3 is height
ax = fig.add_subplot(111)
ax.plot(x, y)
plt.show(fig)
让我知道这是否有帮助。如果您想要进一步的帮助,请张贴代码,可以重现您的问题,而无需我们要求您的变量。也就是说,编写可以独立运行的代码

看完图片后编辑 将代码更改为以下内容是否可以解决您的问题

tempArray = myNumpRead[:,1]
fig = plt.figure(figsize=(5, 15)) # Change these numbers here to suit what you want
ax = fig.add_subplot(111)
width = 0.8
ax.barh(range(len(states)), tempArray)
ax.set_ylim(-width,len(states)+width)
ax.set_yticks(np.arange(len(states)) + width/2)
ax.set_yticklabels(states, rotation=0)
ax.set_title('Population by State')
ax.set_xlabel('Population')
ax.set_ylabel('State Ticker')
ax.grid(True)
plt.show(fig)

你的问题很难回答,因为没有变量,你的代码是不可复制的,我在你提供的链接中看不到图片

然而,增加你身材的宽度可能是你想要的。可以这样做:

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 1)
y = x**2

fig = plt.figure(figsize=(10, 3)) # the 10 here is width, the 3 is height
ax = fig.add_subplot(111)
ax.plot(x, y)
plt.show(fig)
让我知道这是否有帮助。如果您想要进一步的帮助,请张贴代码,可以重现您的问题,而无需我们要求您的变量。也就是说,编写可以独立运行的代码

看完图片后编辑 将代码更改为以下内容是否可以解决您的问题

tempArray = myNumpRead[:,1]
fig = plt.figure(figsize=(5, 15)) # Change these numbers here to suit what you want
ax = fig.add_subplot(111)
width = 0.8
ax.barh(range(len(states)), tempArray)
ax.set_ylim(-width,len(states)+width)
ax.set_yticks(np.arange(len(states)) + width/2)
ax.set_yticklabels(states, rotation=0)
ax.set_title('Population by State')
ax.set_xlabel('Population')
ax.set_ylabel('State Ticker')
ax.grid(True)
plt.show(fig)

给我们看看你的代码怎么样?还是我们全部重新创建?给我们看看你的代码怎么样?还是我们要全部重新创建?我已经更新了我的答案,因为我已经看到了你的照片。仍然很难理解,因为我无法实际使用您提供的没有变量的代码。barh.subplot(111)在那里,很抱歉这是我的错别字。再试一次。您可以创建一段可能与您的代码不同的示例代码,但是它复制了问题。这不起作用。新错误:“Figure”对象没有属性“barh”太棒了!!这确实有效。如何增加人口轴的限制,以便可以看到所有的条。对于一些州来说,这些条是看不见的,因为它们会弹出。与其他州相比,我的答案很小。现在我看到了你的照片,我更新了我的答案。仍然很难理解,因为我无法实际使用您提供的没有变量的代码。barh.subplot(111)在那里,很抱歉这是我的错别字。再试一次。您可以创建一段可能与您的代码不同的示例代码,但是它复制了问题。这不起作用。新错误:“Figure”对象没有属性“barh”太棒了!!这确实有效。如何增加人口轴的限制,以便可以看到所有的条。对于一些州来说,这些条是看不见的,因为它们会弹出。与其他州相比,这个数字很小。