精华内容
下载资源
问答
  • matplotlib画二维图像时,默认情况下的横坐标和纵坐标显示的值有时达到自己的需求,需要借助xticks()和yticks()分别对横坐标x-axis和纵坐标y-axis进行设置。 import numpy as np import matplotlib.pyplot as ...
  • 参考:https://blog.csdn.net/qq_43679627/article/details/86740739 ax1.set_xticks([])
    展开全文
  • 关于Matplotlib绘制折线图 纵坐标调节的问题 1. 问题描述: 前几天在绘制一个实验数据曲线可视化的过程中,使用matplotlib进行曲线的绘制,然而 无论用什么办法进行坐标轴的刻度调节,结果都动:、 如图,只有...

    关于Matplotlib绘制折线图 纵坐标调节的问题
    1. 问题描述
    前几天在绘制一个实验数据曲线可视化的过程中,使用matplotlib进行曲线的绘制,然而 无论用什么办法进行坐标轴的刻度调节,结果都不动:、
    在这里插入图片描述
    如图,只有纵坐标一处有刻度,或者取消

    plt.yticks([0, 1], rotation=45)
    

    这样的刻度限制之后,就又会出现,纵坐标铺满屏幕 堆积太过于密集的现象

    1. 问题解决
      重新思考了一下, 检查了一边代码,发现是自己在从文件读取数据的时候,没有进行数据类型的转换,即:读取出来的数据其实是只经过了分割,但是原始的数据类型还是str类型,因此绘制的时候,只是根据对应str的ASCII码值进行绘制(此处我也没有进一步检查对应ASCII码是不是绘制出来是同样的趋势,不过是个推测)
      最后在:
      在这里插入图片描述
      各个地方进行对应的float()强制类型转换即可,便可以成功实现float类型的转换,坐标轴也是不用设置,等间距分隔:

    在这里插入图片描述
    3. 总结:遇到错误还是得自己从最基本的方面检查一遍,有时候就是一些小细节的错误

    展开全文
  • import matplotlib.pyplot as plt x = [1, 2, 3, 4] y = [1, 4, 9, 6] labels = ['Frogs', 'Hogs', 'Bogs', 'Slogs'] plt.plot(x, y) # You can specify a rotation for the tick labels in degrees or with ...
    import matplotlib.pyplot as plt
     
     
    x = [1, 2, 3, 4]
    y = [1, 4, 9, 6]
    labels = ['Frogs', 'Hogs', 'Bogs', 'Slogs']
     
    plt.plot(x, y)
    # You can specify a rotation for the tick labels in degrees or with keywords.
    plt.xticks(x, labels, rotation='vertical')
    # Pad margins so that markers don't get clipped by the axes
    plt.margins(0.2)
    # Tweak spacing to prevent clipping of tick-labels
    plt.subplots_adjust(bottom=0.15)
    plt.show()

    通过 plt.subplots_adjust(bottom=0.15),来调整 图表 的上下左右。

    https://matplotlib.org/api/_as_gen/matplotlib.pyplot.subplots_adjust.html

     

    参考:

    1. https://blog.csdn.net/weixin_35834894/article/details/98874947

     

    展开全文
  • import matplotlib as mt import numpy as np y=[7,0,0,0,0,0,1,25,98,333,471,0,322,429,425,478,385,237,219,284,351,364,165,0] x=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24] x1=np....
  • 双y轴坐标轴图今天利用matplotlib绘图,想要完成一个双坐标格式的图。fig=plt.figure(figsize=(20,15))ax1=fig.add_subplot(111)ax1.plot(demo0719['TPS'],'b-',label='TPS',linewidth=2)ax2=ax1.twinx()#这是双坐标...

    双y轴坐标轴图

    今天利用matplotlib绘图,想要完成一个双坐标格式的图。

    fig=plt.figure(figsize=(20,15))

    ax1=fig.add_subplot(111)

    ax1.plot(demo0719['TPS'],'b-',label='TPS',linewidth=2)

    ax2=ax1.twinx()#这是双坐标关键一步

    ax2.plot(demo0719['successRate']*100,'r-',label='successRate',linewidth=2)

    横坐标设置时间间隔

    import matplotlib.dates as mdate

    ax1.xaxis.set_major_formatter(mdate.DateFormatter('%Y-%m-%d %H:%M:%S'))#设置时间标签显示格式

    plt.xticks(pd.date_range(demo0719.index[0],demo0719.index[-1],freq='1min'))

    纵坐标设置显示百分比

    import matplotlib.ticker as mtick

    fmt='%.2f%%'

    yticks = mtick.FormatStrFormatter(fmt)

    ax2.yaxis.set_major_formatter(yticks)

    知识点

    在matplotlib中,整个图像为一个Figure对象。在Figure对象中可以包含一个,或者多个Axes对象。每个Axes对象都是一个拥有自己坐标系统的绘图区域。其逻辑关系如下:

    1460000006767257

    一个Figure对应一张图片。

    Title为标题。Axis为坐标轴,Label为坐标轴标注。Tick为刻度线,Tick Label为刻度注释。1460000006158806

    Title为标题。Axis为坐标轴,Label为坐标轴标注。Tick为刻度线,Tick Label为刻度注释。

    1460000006158808

    add_subplot()

    The Axes instance will be returned.

    twinx()

    ax = twinx()

    create a twin of Axes for generating a plot with a sharex x-axis but independent y axis. The y-axis of self will have ticks on left and the returned axes will have ticks on the right.

    意思就是,创建了一个独立的Y轴,共享了X轴。双坐标轴!

    类似的还有twiny()

    ax1.xaxis.set_major_formatter

    Set the formatter of the major ticker

    ACCEPTS: A Formatter instance

    DateFormatter()

    strftime方法(传入格式化字符串)。

    strftime(dt, fmt=None)

    Refer to documentation for datetime.strftime.

    fmt is a strftime() format string.

    FormatStrFormatter()

    Use a new-style format string (as used by str.format()) to format the tick. The field formatting must be labeled x

    定义字符串格式。

    plt.xticks

    # return locs, labels where locs is an array of tick locations and

    # labels is an array of tick labels.

    locs, labels = xticks()

    # set the locations of the xticks

    xticks( arange(6) )

    # set the locations and labels of the xticks

    xticks( arange(5), ('Tom', 'Dick', 'Harry', 'Sally', 'Sue') )

    代码汇总

    #coding:utf-8

    import matplotlib.pyplot as plt

    import matplotlib as mpl

    import matplotlib.dates as mdate

    import matplotlib.ticker as mtick

    import numpy as np

    import pandas as pd

    import os

    mpl.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签

    mpl.rcParams['axes.unicode_minus']=False #用来正常显示负号

    mpl.rc('xtick', labelsize=20) #设置坐标轴刻度显示大小

    mpl.rc('ytick', labelsize=20)

    font_size=30

    #matplotlib.rcParams.update({'font.size': 60})

    %matplotlib inline

    plt.style.use('ggplot')

    data=pd.read_csv('simsendLogConvert_20160803094801.csv',index_col=0,encoding='gb2312',parse_dates=True)

    columns_len=len(data.columns)

    data_columns=data.columns

    for x in range(0,columns_len,2):

    print('第{}列'.format(x))

    total=data.ix[:,x]

    print('第{}列'.format(x+1))

    successRate=(data.ix[:,x+1]/data.ix[:,x]).fillna(0)

    yLeftLabel=data_columns[x]

    yRightLable=data_columns[x+1]

    print('------------------开始绘制类型{}曲线图------------------'.format(data_columns[x]))

    fig=plt.figure(figsize=(25,20))

    ax1=fig.add_subplot(111)

    #绘制Total曲线图

    ax1.plot(total,color='#4A7EBB',label=yLeftLabel,linewidth=4)

    # 设置X轴的坐标刻度线显示间隔

    ax1.xaxis.set_major_formatter(mdate.DateFormatter('%Y-%m-%d %H:%M:%S'))#设置时间标签显示格式

    plt.xticks(pd.date_range(data.index[0],data.index[-1],freq='1min'))#时间间隔

    plt.xticks(rotation=90)

    #设置双坐标轴,右侧Y轴

    ax2=ax1.twinx()

    #设置右侧Y轴显示百分数

    fmt='%.2f%%'

    yticks = mtick.FormatStrFormatter(fmt)

    # 绘制成功率图像

    ax2.set_ylim(0,110)

    ax2.plot(successRate*100,color='#BE4B48',label=yRightLable,linewidth=4)

    ax2.yaxis.set_major_formatter(yticks)

    ax1.set_xlabel('Time',fontsize=font_size)

    ax1.set_ylabel(yLeftLabel,fontsize=font_size)

    ax2.set_ylabel(yRightLable,fontsize=font_size)

    legend1=ax1.legend(loc=(.02,.94),fontsize=16,shadow=True)

    legend2=ax2.legend(loc=(.02,.9),fontsize=16,shadow=True)

    legend1.get_frame().set_facecolor('#FFFFFF')

    legend2.get_frame().set_facecolor('#FFFFFF')

    plt.title(yLeftLabel+'&'+yRightLable,fontsize=font_size)

    plt.savefig('D:\\JGT\\Work-YL\\01布置的任务\\04绘制曲线图和报告文件\\0803\\出图\\{}-{}'.format(yLeftLabel.replace(r'/',' '),yRightLable.replace(r'/',' ')),dpi=300)

    1460000006158812

    参考

    展开全文
  • 多个纵坐标 可参考:https://blog.csdn.net/weixin_43794311/article/details/105133372 %matplotlib import matplotlib.pyplot as plt import numpy as np x = np.arange(0, 10, 0.1) y1 = 0.05 * x**2 y2 = -1 *...
  • 一、前言本文主要使用matplotlib,实现双纵轴坐标的图表绘制。笔者python版本为2.7.15。二、实践及效果1. 需求某个有这么一个成绩表,分别是名字,本次成绩以及进步幅度,现在需要把这个成绩单转为这样一个图表:...
  • 主要介绍了使用Python matplotlib作图时,设置横纵坐标轴数值以百分比(%)显示,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • matplotlib 纵坐标显示数据值

    千次阅读 2017-04-09 14:29:22
    import matplotlib as mt import numpy as np  y=[7,0,0,0,0,0,1,25,98,333,471,0,322,429,425,478,385,237,219,284,351,364,165,0] x=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24] x1=np
  • 使用matplotlib画图并保存为eps格式后,使用latex显示该图片后发现图片纵坐标的标题消失了,保存为pdf,png等其它格式没有这个问题 版本: matplotlib:3.3.4 python:3.6 解决方法 设置了字体为Arial,使用其它字体...
  • matplotlib画图纵坐标文字正向显示

    千次阅读 2021-03-22 15:19:42
    正向显示纵轴文字,使用rotation参数 可以在plt.ylabel()中增加rotation=0参数,是文字正向显示如 ax2 = plt.subplot(122) ax2.scatter(X[:,1],Y[:,0], c = "g") ...直接看效果,左边加,右边加上 ...
  • 在绘制图像时出现部分图像坐标轴数字显示不完整的 如下图1所示:纵轴数字用e3来表示,但是想要的结果是图2所示的形式。 思路: 原先自己以为是坐标的位置的问题,所以就将y轴向右偏移了一点如下命令,结果换是没变化...
  • 今天小编就为大家分享一篇python matplotlib绘图,修改坐标轴刻度为文字的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 文章目录前言一、坐标负指数无法正常显示的问题二、解决办法1.加入一行代码即可总结 前言 之前就遇到的一个小问题,现在整理下来给大家参考 这是之前在一个网站上找到的,时间久远找到了,这里只做搬运工! 一、...
  • 上次说到的,使用如下代码保存矢量图时,放在外侧的图例往往显示不完整: import numpy as np import matplotlib.pyplot as plt fig, ax = plt.subplots() x1 = np.random.uniform(-10, 10, size=20) x2 = np....
  • 成功解决matplotlib绘图的时候横坐标或纵坐标文本显示不全/显示一半/显示不完整的问题 目录 解决问题 解决思路 解决方法 解决问题 成功解决matplotlib绘图的时候横坐标或纵坐标文本显示不...
  • import matplotlib.pyplot as plt import numpy as np n=1024 X=np.random.normal(0,1,n)#随机生成n个数,平均值是0,方差是1 Y=np.random.normal(0,1,n) color=np.arctan2(Y,X)#设置各点颜色,只是为了好看,深入...
  • matplotlib】设置纵坐标刻度为10^n

    万次阅读 2018-09-29 12:01:41
    #设置纵坐标以十的次幂形式展现 ax.set_ylim(10**0, 10**6) ax.set_yscale('log') ax.yaxis.set_major_locator(ticker.LogLocator(base=100.0, numticks=5)) ax1 = plt.gca() ax1.spines['top'].se...
  • python_matplotlib改变横坐标和纵坐标上的刻度(ticks)

    万次阅读 多人点赞 2018-09-10 20:00:24
    matplotlib画二维图像时,默认情况下的横坐标和纵坐标显示的值有时达到自己的需求,需要借助xticks()和yticks()分别对横坐标x-axis和纵坐标y-axis进行设置。 import numpy as np import matplotlib.pyplot as ...
  • matplotlib tricks(关闭坐标刻度 坐标可见)
  • 如上图所示:纵坐标1e7,加代码 ax.get_yaxis().get_major_formatter().set_scientific(False)
  • 本篇博客主要解决在使用`pandas`绘制图像并保存时,由于标签太长,导致坐标轴上的标签显示不全的问题,本篇同样适用于解决`matplotlib`绘制图像时出现的这个问题。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,799
精华内容 1,919
关键字:

matplotlib不显示纵坐标