当前位置: 首页 > 面试题库 >

如何在Matplotlib中强制Y轴仅使用整数?

易和怡
2023-03-14
问题内容

我正在使用matplotlib.pyplot模块绘制直方图,并且想知道如何强制y轴标签仅显示整数(例如0、1、2、3等)而不显示小数(例如0.,0.5)
,1,,1.5、2等)。

我正在查看指导说明,怀疑答案在matplotlib.pyplot.ylim周围,但是到目前为止,我只能找到设置最小和最大y轴值的东西。

def doMakeChart(item, x):
    if len(x)==1:
        return
    filename = "C:\Users\me\maxbyte3\charts\\"
    bins=logspace(0.1, 10, 100)
    plt.hist(x, bins=bins, facecolor='green', alpha=0.75)
    plt.gca().set_xscale("log")
    plt.xlabel('Size (Bytes)')
    plt.ylabel('Count')
    plt.suptitle(r'Normal Distribution for Set of Files')
    plt.title('Reference PUID: %s' % item)
    plt.grid(True)
    plt.savefig(filename + item + '.png')
    plt.clf()

问题答案:

如果你有y数据

y = [0., 0.5, 1., 1.5, 2., 2.5]

您可以使用此数据的最大值和最小值来创建此范围内的自然数列表。例如,

import math
print range(math.floor(min(y)), math.ceil(max(y))+1)

产量

[0, 1, 2, 3]

然后,您可以使用matplotlib.pyplot.yticks设置y刻度位置(和标签):

yint = range(min(y), math.ceil(max(y))+1)

matplotlib.pyplot.yticks(yint)


 类似资料:
  • 我正在使用matplotlib绘制直方图。pyplot模块,我想知道如何强制y轴标签只显示整数(例如0、1、2、3等),而不显示小数(例如0、0.5、1、1.5、2等)。 我在看指导说明,怀疑答案就在matplotlib附近。pyplot。但到目前为止,我只能找到设置最小和最大y轴值的东西。

  • 问题内容: 如何在线性与线性图上仅在y轴上旋转次刻度? 当我使用该功能打开次刻度时,它们同时出现在x和y轴上。 问题答案: 没关系,我知道了。

  • 问题内容: 我希望在方形图上画线。 天秤和应该是相同的。 例如x的范围是0到10,在屏幕上是10厘米。y的范围也必须为0到10,并且也必须为10 cm。 即使我迷失了窗口大小,也必须保持正方形。 目前,我的图形与窗口大小一起缩放。 我该如何实现? 更新: 我尝试了以下操作,但没有成功。 问题答案: 您需要对api进行更深入的研究: set_aspect的文档

  • 我正在尝试使用.js Chart 创建一个包含两个数据集的折线图,每个数据集都有自己的 Y 刻度/轴(一个在图形的左侧,一个在图形的右侧)。 这是我的代码( 但是,第二个轴不可见,第二个数据集仍然与第一个完全一样缩放(从0到100而不是从0到1)。我需要更改什么?

  • 问题内容: 是否有一种简单的方法可以将y轴标签放在图的右侧?我知道可以使用来对刻度标签进行此操作,但是我想知道是否也可以对轴标签进行此操作。 我想到的一个想法是使用 但是,在保留y轴的范围的同时,将所有标签(刻度和轴标签)放置在右侧并没有达到预期的效果。简而言之,我想要一种将所有y轴标签从左向右移动的方法。 问题答案: 看来您可以使用以下方法做到这一点: 请参阅此处的示例。

  • 问题内容: 如何使用Matplotlib将2D数组绘制为图像,且Matplotlib的y比例相对于y值的2的乘方? 例如,我的数组的第一行在图像中的高度为1,第二行的高度为4,依此类推。(单位无关)用单词解释并不简单,所以请看这张图像(那是我想要的结果类型): 替代文字http://support.sas.com/rnd/app/da/new/802ce/iml/chap1/images/wave